-
Правильный термин для многочленных конструкций вроде FOO && BAR | BAZ предлагаю обсудить в комментах.♡ recommended by @juick
Replies (99)
-
@mrtron, Что выполнит шелл, когда ты в него это введёшь: $(which \[) или builtin? Так как будет выполнен built in, то это команда.
-
@Self-Perfection, А может гуру-линуксоидам прекратить писать инструкции для нубов, а написать уже вместо этого нормальный дружелюбный шел, в котором нет кучи разного рода костылей, служащих одному и тому же — функции, альясы итп? Тогда и проблемы с терминологией убавятся, поглядишь./7 · Reply
-
@mrtron, Учи матан, чтобы просечь важность чёткой терминологоии и точных определений.
Я не говорю, что нужно в простых статьях выделять отдельный раздел с освещением разницы билтинов и внешних утилит и вообще того, как примерно шелл обрабатывает введённые в него строки.
Но если в прочитанных статьях он будет видеть, что wget называется не командой, а утилитой, то исподволь у него будет формироваться ощущение, что то, с чем он работает, не монолитный чёрный ящик, а многокомпонентная система, и тот же wget может быть и не установлен, например.
И это важно. -
@Self-Perfection, меня за матан отчислили. важность терминологии я не успел оценить.
-
@rkit, Давайте ограничим дискуссию практическими рекомендациями. Если вы считатете, что нужен более дружелюбный шелл — пишите. Или хотя бы напишите пост с перечислением проблем существующих шеллов и предлагаемых вами способов их устранения.
-
@Self-Perfection, практическая рекомендация — вместо шелла писать хотя бы на питоне, что ли
-
@rkit, Не вижу в вашем предудыщем комментарии описания анализа, из которого следовало бы, что одновременное существование функций и алиасов вредно и того, как это устранить.
-
@Self-Perfection, Ну очки поменяй, я не знаю. До первого чтобы дойти надо еще чуть-чуть подумать, но второе прямым текстом написано.
-
@netoneko, Для простых автоматизаций питон слишком толстый. Слишком много ест памяти и CPU просто для запуска.
-
@Self-Perfection, ну это сомнительно. в плане про память и цпу. хотя питон конечно избыточен для работы с файлами и т.п.
-
@rkit, Вы хотите шелл, в котором не будет ни функций, ни алиасов? Или только что-то одно из двух? Или что-то вообще третье, вместо и функций, и алисов, которое будет сочетать их свойства? Какой должен быть синтаксис у такой конструкции, как она должна себя вести?
-
@netoneko, Вы можете сделать sudo alias, но не можете сделать sudo function.
У алиасов своя область применения. -
@Self-Perfection, ну вот видишь как глупо — надо выкинуть алиас на помойку, включить возможность делать sudo function
-
@netoneko, Я много пишу на шелле и у меня не было проблем с обработкой именов файлов с пробелами, после того как я понял, как шелл работает. Покажите пример — исправим.
-
@Self-Perfection, ну да, надо задрочить криптознания и считать, что это нормально — писать лишние кавычки и прочее говно
-
@netoneko, Это можно сделать только если сделать sudo встроенной командой шелла. Что в общем, плохая идея.
-
@netoneko, Надо прочитать нормальный годный туториал перед работой с чем-то, а не познавать это методом проб и ошибок. Годных туториалов я, впрочем, не видел. Что есть в сети качественно объясняющего кажется слишком размазанным и длинным, так что давать на это ссылку новчикам не хочется.
Даже подумываю сам написать. -
@rkit, И сидеть под рутом всё время? Сами пользуйтесь такой системой, а мне хочется себя чувствовать более защищённым.
-
@netoneko, В многопользовательской системе разделение прав пользователей и неиспользование по-умолчанию прав суперпользователя нужно уже хотя бы для защиты от пользовательской ошибки. Мне вот стрёмно сидеть на продакшен серверах под рутом, так и кажется что вот-то по ошибке не ту команду из истории выполню и пока-пока 100-500 хренабайт важных файлов (которые может и есть в бэкапе, но доставать их оттуда геморрой и простой).
-
@Self-Perfection, я тут кстати недавно в продаешене чуть базу не дропнул. хорошо лишний символ сломал синтаксис :)
-
@Self-Perfection, “Мне вот стрёмно сидеть на продакшен серверах под рутом”, команда из истории… ты о чем вообще? почему ты вообще на продакшен серверах что-то делаешь не через automation tool, предварительно протестировав на staging?
-
@netoneko, программист что ли? Потому что без багов ничего не бывает, и админам постоянно приходится разгребать за внезапно заглючившим жокорупо написанным софтом.
Сделать очистку старых записей? Зачем, их же будет мало! Что, внезапно их скопилось терабайты и место такими темпами закончится через час? А нам нужно 2 дня на доработку и ещё 1 день на тестирование. -
@Self-Perfection, успешные админы заходят и разгребают руками, ясно-понятно
-
@netoneko, И такое бывает... 3-5 машин с уникальными ролями.
-
@Self-Perfection, И сделать систему, где не надо писать что-то в консоль от имени рута. Потому что вся эта "защищенность" это бред собачий. Получил права ползователя, написал в bashrc что-то в духе alias sudo=sudo evil_code , юзер, хлопая ебалом, ввел sudo some_shit, ввел пароль, и вся твоя защищенность.
-
@netoneko, Да и как будто всё администрирование ограничвается корпоративным продакшеном. Личный компьютер/смартфон тоже бывает в администрировании нуждается.
-
@netoneko, Вообще где-то что-то такое я видел. Но сейчас ничего кроме Hotwire (обзор rus-linux.net ) не находится. Ну присоединяйтесь, пилите, распространяйте...
-
@mrtron, Вообще ipython внезапно предоставляет некоторое возможности, позволяющие его использовать более-менее в качестве шелла.
Есть cd, автодополнение путей файлов по табу. Но использвать его в качестве шелла при работе желание не возникает, всё-таки слишком много обвязки приходится печатать для простейших операций. -
@rkit, Манипулиция с файлами это не только переименование/копирование, но и обработка содержимого. Решать задачу "удалить GPS координаты из EXIF фотографий, сделанных такого-то числа" вы тоже будете тыкая мышкой?
Я пользуюсь файловыми менеджерами, но даже для переименования/копирования часто мне бывает проще открыть эмулятор терминала с шеллом, чем натыкивать это мышкой. -
@Self-Perfection, Разумеется. Встроенным поиском найду файлы по дате, и просто перетяну их в командную строку, чтобы получить в ней список имен. Останется только дописать название команды.
-
@rkit, Неубедительно, набрать <remove_gps> 20150101*.jpg по-моему гораздо быстрее, чем нажать мышкой в 3-4 места и два раза переключиться с мыши на клавиатуру.
-
@Self-Perfection, Так по дате или по имени? Ты в показаниях определись, няша.
-
@rkit, Ну если вы так уж настаиваете на дате, то анализировать ctime / mtime файла для определения даты снимка некорректно, они могут обновиться при копировании/обработке снимка.
Значит нужно анализировать содержимое EXIF. -
@Self-Perfection, Я настаиваю на том, что случай твой высосан из пальца, сам ты его никогда не делал. И не сможешь сделать, не погуглив предварительно. А значит ни о каких "набрать гораздо быстрее" речи быть не может.
-
@rkit, У меня специальный алиас даже заведён
alias CLEANJPGGPS="exiv2 -M 'del Exif.GPSInfo.GPSLatitude' -M 'del Exif.GPSInfo.GPSLongitude' -M 'del Xmp.exif.GPSLongitude' -M 'del Xmp.exif.GPSLatitude' *.jpg"
Да, мне удобнее вычищать из всех файлов в текущей директории, потому что обычно я все снимки, которое хочу куда-то выложить без привязки к координатам, копирую в отдельную директорию. -
@Self-Perfection, Да, вот заведение папки, копирование туда-сюда, отсутствие миниатюр перед глазами — вот она скорость-то.
-
@rkit, Для работы конкретно с картинками берется какой-нибудь xnview. В нем все есть — и ексиф, и поиск по нему, и изменение размеров, и пакетная обработка, и поиск визуально похожих картинок, и вообще любая функция, для которой в шеле тебе придется сначала гуглить, а потом устанавливать какую-нибудь дополнительную фигулину.
-
@rkit, Эта дискуссия скатывается в весьма древний спор сторонников комбайнов и сторонников простых консольных утилит, допускающих комбинирование для выполнения сложных задач. Не вижу смысла продолжать.
-
@Self-Perfection, Цивилизованных людей против лицемеров, пользующихся веб браузером, вместо.
lookupDNS | queryHTTP | renderHTML | dIsplay -
@rkit, Вот и я о чём. Я этот аргумент раньше видел, да и вы наверняка себе представляете, что я мог бы ответить.
-
@rkit, вики. с тегами по ключевым вопросам, которые могут задать нубы
-
@Rainbow-Spike, наверняка такая уже есть. тогда развивайте её и пиарьте
-
@Rainbow-Spike, wiki at ubuntu.ru Я некогда заглядывал туда и уполз в печали.