> я то ли раз, то ли два умудрялся наваять скрипт с /bin/sh, который не пошел сразу в solaris. Детали не спрашивайте - это было давно:)
Я тебе так скажу - это соляркин sh кривой, и не делает того, что по стандарту POSIX обязан.
Например, конструкция вида
if somecommand; then
othercommand
fi
Не работает. Требуется:
if somecommand
then
othercommand
fi
Хотя по-моему верхний вариант еще родной sh от Стива Борна, который был написан на АДЕ, транслировавшейся в C посредством C-шного препроцессора, ещё понимал.
>Заметьте, никто не призывал выкинуть bash. bash - это наше все (после XML, разумеется:). Мой первый пост заканчивался словами: "Наверное, все-таки надо было оставить /bin/sh и /bin/bash разными..."
2svu: конечно засыпал :) насколько я помню, ни один их *sh не является полностью posix-совестимым, они лишь МОГУТ эмулировать некий "абстрактный POSIX sh", естественно - с различной степенью приближения к стандартам POSIX. Так что симлинк с /bin/sh -> /bin/bash - более чем оправдан - заменить-то по сути и нечем :)
А чем bash-измы отличаются от ksh-измов? tclsh-измов? zsh-измов? Может, просто не заниматься любовью с мозгом (как сказал! :) и использовать тот шелл, который больше нравится и использовать #!/bin/bash , #!/bin/ksh , #!/bin/sh , etc для какждого конкретного случая?
4steam:
>А чем bash-измы отличаются от ksh-измов? tclsh-измов? zsh-измов? Может, просто не заниматься любовью с мозгом (как сказал! :) и использовать тот шелл, который больше нравится и использовать #!/bin/bash , #!/bin/ksh , #!/bin/sh , etc для какждого конкретного случая?
Теперь читаем восьмое сообщение сверху и понимаем, что до некоторых _наконец-то_ дошло.
> и использовать #!/bin/bash , #!/bin/ksh , #!/bin/sh , etc
Дык кто бы спорил? Я, соббсно, не имею ничего против #!/bin/bash. Я просто указывал на проблему со скриптами, которые как бы #!/bin/sh, хотя на самом деле #!/bin/bash. Или вообще запретить законодательно (объявить плохим стилем) использование /bin/sh на основании того, что "идеального" /bin/sh в природе не существует?
Прочитав новость уже было обрадовался, но вспомнил, что несколько месяцев пользуюсь zsh и менять его на bash не собираюсь. Автодополнение параметров комманд, целей для make и имен комманд при желании прочтитать ман - это то, что нравится лично мне в zsh! IHMO, лучше пока ничего не придумали :))
>Автодополнение параметров комманд, целей для make и имен комманд при желании прочтитать ман - это то, что нравится лично мне в zsh! IHMO, лучше пока ничего не придумали :))
это я перепутал с той системой которая мне по наследству досталась - там у меня получалось - хотя что там ща шел был - я не смотрел - а то что на баше писал - всё атлечна была....
>Видишь ли, есть такая штука - "стандарт POSIX" называется, умные дяди >писали... а нужна она, чтоб можно было, скажем, configure-скрипты и >тому подобные вещи пускать под любым унихом, у которого есть POSIX >shell.
Интересно, как запустить bsd или slack скрипты под шапкой или мандракой :)
Вообще-то тут абсолютно верно был подмечен "dash" как более близкий к POSIX sh чем bash. Далее выдержка из описания:
Description: The Debian Almquist Shell
"dash" is a POSIX compliant shell that is much smaller than "bash".
We take advantage of that by making it the shell on the installation
root floppy, where space is at a premium.
.
It can be usefully installed as /bin/sh (because it executes scripts
somewhat faster than "bash"), or as the default shell either of root
or of a second user with a userid of 0 (because it depends on fewer
libraries, and is therefore less likely to be affected by an upgrade
problem or a disk failure). It is also useful for checking that a
script uses only POSIX syntax.
.
"bash" is a better shell for most users, since it has some nice
features absent from "dash", and is a required part of the system.
>> Это Ваши домыслы. Расширенные конструкции, отсутствующие в sh, никуда не исчезают.
>Это очень хорошо. Тебя же не огорчает, что на твоем PIV не исчезают инструкции MMX, SSE, когда он обрабатывает программу, собранную под i386?
Линуксоид? RH знаешь? Тогда вот аналогия: какими словами ты назовешь урода, упаковавшего собранную под PIV программу с MMX и SSE в blah-blah.i386.rpm? А если он еще при этом будет заявлять, что "так оно же под x86, и не моя проблема, что твой i386 не умеет расширенные конструкции, я всегда свой проц с собой таскаю на такой случай".
>>> Это Ваши домыслы. Расширенные конструкции, отсутствующие в sh, никуда не исчезают.
>>Это очень хорошо. Тебя же не огорчает, что на твоем PIV не исчезают инструкции MMX, SSE, когда он обрабатывает программу, собранную под i386?
>Линуксоид? RH знаешь? Тогда вот аналогия: какими словами ты назовешь урода, упаковавшего собранную под PIV программу с MMX и SSE в blah-blah.i386.rpm? А если он еще при этом будет заявлять, что "так оно же под x86, и не моя проблема, что твой i386 не умеет расширенные конструкции, я всегда свой проц с собой таскаю на такой случай".