[Comm] sh - bash

Pavel Usischev =?iso-8859-1?q?usischev_=CE=C1_gmail=2Ecom?=
Вс Окт 15 02:50:01 MSD 2006


Artem Zolochevskiy пишет:
> Всё, что я когда-то уяснил, это то, что сперва был sh (который чего-то там
> не умел) а затем стал bash, который сейчас повсеместно и используется и
> чего-то там умеет, чего не умел sh

Ну это не то чтобы совсем так :) Совместимы с sh, насколько я знаю, все 
используемые сейчас шеллы. А это не только bash, но и стандартный во 
FreeBSD tcsh, и очень мощный zsh.

> Собственно вопрос относительно написания скриптов
> Отчего же тогда вижу везде #!/bin/sh (в стартовых сценариях итп) - если этот
> sh такой старый и неумека?

Как раз для переносимости скрипта. В ALT /bin/sh -- это особый вариант 
bash, в других системах это вполне может быть другой шелл, а bash вообще 
может отсутствовать.

> Ну и, если можно, пример можете привести где употребление
> #!/bin/sh или #!/bin/bash может сказаться на работоспособности скрипта.
> Т.е. какая такая фича может быть в скрипте, что при использовании #!/bin/sh
> он работать не будет.

Об отличиях bash от изначального Bourne Shell можно почитать, дав команду:

info bash 'Major Differences From The Bourne Shell'

Однако, насколько я понял, в ALT /bin/sh будет вести себя так же, как 
/bin/bash (возможно, я просто как-то не так проверял).

-- 
С уважением,
Павел Усищев



Подробная информация о списке рассылки community