Alex Keda писал(а):во фре все стартовые скрипты на sh написаны
покажите мне чё-то своё, боле сложное, что нелья на sh сделать и понадобился bash?
Эмм... ИМХО, это больше вопрос типа - "Ну скажи мне, - куда я не могу доехать на Москвиче-412, где твоя Тойота может проехать? "
Можно конечно и на Москвиче, но на Тойоте все таки - быстрей, приятней и надежней(Хотя надо акцептать навороченность Тойоты и возможности сбоя электроники, где Москвич однозначно выиграет

).
(Это не значит, что я - приверженец баша

)
ОК, самый простой пример - массивы(arrays) и попутно с ними readarray,
ВСТРОЕННАЯ(т.е. без дерганья внешних программ) поддержка перловских регулярок в условиях(да и сами условные выражения побогаче шелловских) и при работе с переменными типа ${parameter/pattern/string}, непосредственная сетевая поддержка, не дергаются внешние программы ( тот же [ или sed, awk, grep, printf, getopts...), т.к. интерпретатор уже имеет эти функции в составе баша, конструкция
select - которая сокращает написание простеньких менюшек до безобразия, С-шный
for тоже очень полезная фича, очень богатые переменные самого баша, поддержка "Here Strings" ака <<<string, про арифметику я просто молчу, в баше она значительно проще чем дергать опять же внешнюю
expr, которая тоже отстает от арифметики баша(я понимаю, что можно еще и
bc юзать, но опять же - это внешняя программа), возможность жесткой типизации переменных, а ключик
-х, который помогает разобраться в багах скриптов....
Ну, это первое, что на ум пришло, вы же сами знаете, что возможностей у баша значительно больше чем у шелла.
Задачки не решаемые с помощью шелла? Ну, возьмем к примеру задачу:
Условия:
-нельзя использовать внешние программы за пределами самого шелла
-нельзя создавать никаких файлов(в том числе временных)
Проблема:
Получить коды ошибок всех программ соединенных трубами.
Т.е.:
Как узнать в чистом шелле, какую ошибку вернула программа№1 и программа№2 ? А в том же баше во общем то - запросто.
Главное достоинство шелла - его простота, маленький размер исполняемого файла и переносимость(хотя с распространенными пингвинами это тоже спорно, т.к. в ихнем хаосе-зоопарке
sh может быть запросто сопоставлен как правило с
dash, а то и просто с
bash). Ну и как я уже говорил - секъюрность обычного шелла, не имеющего сетевой поддержки - тоже большой плюс.
Поэтому, по возможности стараемся писать на чистом шелле, если нет ограничений по баблу и времени.
Ну, а если таковые ограничения есть, то самый лучший вариант юзать
iPython как шеловую оболочку, в нем есть практически все прибамбасы программирования, которые перебьют по фичам практически любую разновидность шеллов. Да и с портируемостью - самые наименьшие затраты, питон работает практически на всем где есть микропроцессоры. Э-э-э, ну а это вообще меня понесло в другую сторону
P.S.
Лёш, я сорри, что отвязываюсь последнии дни на вашем форуме, но командировка, блин в такой глуши, что просто волком выть хочется, хорошо что интернет и пиво есть.