* [Comm] sh - bash
@ 2006-10-14 21:57 Artem Zolochevskiy
2006-10-14 22:27 ` Alexey Rusakov
2006-10-14 22:50 ` Pavel Usischev
0 siblings, 2 replies; 18+ messages in thread
From: Artem Zolochevskiy @ 2006-10-14 21:57 UTC (permalink / raw)
To: community
hi all
Просветите
На пакет sh и bash описание одно и то же.
Всё, что я когда-то уяснил, это то, что сперва был sh (который чего-то там
не умел) а затем стал bash, который сейчас повсеместно и используется и
чего-то там умеет, чего не умел sh
Собственно вопрос относительно написания скриптов
Отчего же тогда вижу везде #!/bin/sh (в стартовых сценариях итп) - если этот
sh такой старый и неумека?
Ну и, если можно, пример можете привести где употребление
#!/bin/sh или #!/bin/bash может сказаться на работоспособности скрипта.
Т.е. какая такая фича может быть в скрипте, что при использовании #!/bin/sh
он работать не будет.
--
Artem Zolochevskiy
Kaliningrad, Russia
JID: az@jabber.org
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Comm] sh - bash
2006-10-14 21:57 [Comm] sh - bash Artem Zolochevskiy
@ 2006-10-14 22:27 ` Alexey Rusakov
2006-10-15 5:41 ` Artem Zolochevskiy
2006-10-14 22:50 ` Pavel Usischev
1 sibling, 1 reply; 18+ messages in thread
From: Alexey Rusakov @ 2006-10-14 22:27 UTC (permalink / raw)
To: ALT Linux Community
Artem Zolochevskiy пишет:
> hi all
>
> Просветите
>
> На пакет sh и bash описание одно и то же.
> Всё, что я когда-то уяснил, это то, что сперва был sh (который чего-то там
> не умел) а затем стал bash, который сейчас повсеместно и используется и
> чего-то там умеет, чего не умел sh
>
> Собственно вопрос относительно написания скриптов
> Отчего же тогда вижу везде #!/bin/sh (в стартовых сценариях итп) - если этот
> sh такой старый и неумека?
>
> Ну и, если можно, пример можете привести где употребление
> #!/bin/sh или #!/bin/bash может сказаться на работоспособности скрипта.
> Т.е. какая такая фича может быть в скрипте, что при использовании #!/bin/sh
> он работать не будет.
>
Насколько я понимаю, ситуация такая: вначале был Bourne shell, он же sh.
sh есть на всех UNIX-системах, кроме тех, на которых используется Korn
shell (ksh, соответственно). На Linux оригинальный sh если и есть, то
встречается редко; вместо него используется Bourne Again shell (bash),
который умеет в точности воспроизводить поведение предка. В современных
системах sh - это тот же bash, но работающий в режиме совместимости с sh.
Отличия работы bash в режиме совместимости лучше всего почитать в man
bash, основное отличие - в режиме совместимости bash строго следует
POSIX (м-да, о том, что это значит, тоже лучше читать в man bash). Ну в
общем, я думаю, вы поняли, какое сокращение я избегаю здесь употребить :)
--
Alexey "Ktirf" Rusakov
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Comm] sh - bash
2006-10-14 21:57 [Comm] sh - bash Artem Zolochevskiy
2006-10-14 22:27 ` Alexey Rusakov
@ 2006-10-14 22:50 ` Pavel Usischev
2006-10-15 5:53 ` Artem Zolochevskiy
2006-10-15 17:48 ` Michael Shigorin
1 sibling, 2 replies; 18+ messages in thread
From: Pavel Usischev @ 2006-10-14 22:50 UTC (permalink / raw)
To: ALT Linux Community
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 (возможно, я просто как-то не так проверял).
--
С уважением,
Павел Усищев
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Comm] sh - bash
2006-10-14 22:27 ` Alexey Rusakov
@ 2006-10-15 5:41 ` Artem Zolochevskiy
2006-10-15 6:13 ` Alexey Rusakov
2006-10-15 8:41 ` Andrey Rahmatullin
0 siblings, 2 replies; 18+ messages in thread
From: Artem Zolochevskiy @ 2006-10-15 5:41 UTC (permalink / raw)
To: community
Alexey Rusakov wrote:
> Насколько я понимаю, ситуация такая: вначале был Bourne shell, он же sh.
> sh есть на всех UNIX-системах, кроме тех, на которых используется Korn
> shell (ksh, соответственно). На Linux оригинальный sh если и есть, то
> встречается редко; вместо него используется Bourne Again shell (bash),
> который умеет в точности воспроизводить поведение предка. В современных
> системах sh - это тот же bash, но работающий в режиме совместимости с sh.
> Отличия работы bash в режиме совместимости лучше всего почитать в man
> bash, основное отличие - в режиме совместимости bash строго следует
> POSIX (м-да, о том, что это значит, тоже лучше читать в man bash). Ну в
> общем, я думаю, вы поняли, какое сокращение я избегаю здесь употребить :)
Да всё это понятно, доку читали...
Я по наивности предполагал, что #!/bin/sh используют для переносимости. Но
тогда непонятно отчего в скриптах в системе повсеместно #!/bin/sh если сам
этот альтовский sh скорее bash чем оригинальный старый sh, а соответственно
это явно _не_ для переносимости.
--
Artem Zolochevskiy
Kaliningrad, Russia
JID: az@jabber.org
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Comm] sh - bash
2006-10-14 22:50 ` Pavel Usischev
@ 2006-10-15 5:53 ` Artem Zolochevskiy
2006-10-15 5:57 ` Artem Zolochevskiy
` (2 more replies)
2006-10-15 17:48 ` Michael Shigorin
1 sibling, 3 replies; 18+ messages in thread
From: Artem Zolochevskiy @ 2006-10-15 5:53 UTC (permalink / raw)
To: community
Pavel Usischev wrote:
>> Собственно вопрос относительно написания скриптов
>> Отчего же тогда вижу везде #!/bin/sh (в стартовых сценариях итп) - если
>> этот sh такой старый и неумека?
>
> Как раз для переносимости скрипта. В ALT /bin/sh -- это особый вариант
> bash, в других системах это вполне может быть другой шелл, а bash вообще
> может отсутствовать.
Так вот и я так думал, а получается, что нет. Ибо в альтовских скриптах
(благодаря тому, что в альт sh это тот же bash) повсеместно используются
фичи, кот в "оригинальном" sh не прокатят. Получается о совместимости тут
речи нет.
>> Ну и, если можно, пример можете привести где употребление
>> #!/bin/sh или #!/bin/bash может сказаться на работоспособности скрипта.
>> Т.е. какая такая фича может быть в скрипте, что при использовании
>> #!/bin/sh он работать не будет.
>
> Об отличиях bash от изначального Bourne Shell можно почитать, дав команду:
>
> info bash 'Major Differences From The Bourne Shell'
читали. собственно вопрос и возник от того что этих Differences не наблюдаю
(ну вернее частично)
>
> Однако, насколько я понял, в ALT /bin/sh будет вести себя так же, как
> /bin/bash (возможно, я просто как-то не так проверял).
>
вот здесь и засада.
конкретный пример:
bash:
[artem@alt ~]$ A=5
[artem@alt ~]$ B=6
[artem@alt ~]$ C=$(($A+$B))
[artem@alt ~]$ echo $C
11
[artem@alt ~]$
альтовский sh:
sh-3.1$ A=5
sh-3.1$ B=6
sh-3.1$ C=$(($A+$B))
sh-3.1$ echo $C
11
sh-3.1$
а по идее в sh это не должно прокатывать
heirloom-sh:
$ A=5
$ B=6
$ C=$(($A+$B))
syntax error: `C=$' unexpected
$
Вот и получается что использование #!/bin/sh в альте явно не для
совместимости.
--
Artem Zolochevskiy
Kaliningrad, Russia
JID: az@jabber.org
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Comm] sh - bash
2006-10-15 5:53 ` Artem Zolochevskiy
@ 2006-10-15 5:57 ` Artem Zolochevskiy
2006-10-15 7:26 ` Sergey Vlasov
2006-10-15 17:52 ` Michael Shigorin
2 siblings, 0 replies; 18+ messages in thread
From: Artem Zolochevskiy @ 2006-10-15 5:57 UTC (permalink / raw)
To: community
Artem Zolochevskiy wrote:
> Вот и получается что использование #!/bin/sh в альте явно не для
> совместимости.
естественно под "совместимостью" подразумевал переносимость.
--
Artem Zolochevskiy
Kaliningrad, Russia
JID: az@jabber.org
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Comm] sh - bash
2006-10-15 5:41 ` Artem Zolochevskiy
@ 2006-10-15 6:13 ` Alexey Rusakov
2006-10-15 8:41 ` Andrey Rahmatullin
1 sibling, 0 replies; 18+ messages in thread
From: Alexey Rusakov @ 2006-10-15 6:13 UTC (permalink / raw)
To: ALT Linux Community
Artem Zolochevskiy пишет:
> Alexey Rusakov wrote:
>
>
>> Насколько я понимаю, ситуация такая: вначале был Bourne shell, он же sh.
>> sh есть на всех UNIX-системах, кроме тех, на которых используется Korn
>> shell (ksh, соответственно). На Linux оригинальный sh если и есть, то
>> встречается редко; вместо него используется Bourne Again shell (bash),
>> который умеет в точности воспроизводить поведение предка. В современных
>> системах sh - это тот же bash, но работающий в режиме совместимости с sh.
>> Отличия работы bash в режиме совместимости лучше всего почитать в man
>> bash, основное отличие - в режиме совместимости bash строго следует
>> POSIX (м-да, о том, что это значит, тоже лучше читать в man bash). Ну в
>> общем, я думаю, вы поняли, какое сокращение я избегаю здесь употребить :)
>>
> Да всё это понятно, доку читали...
> Я по наивности предполагал, что #!/bin/sh используют для переносимости. Но
> тогда непонятно отчего в скриптах в системе повсеместно #!/bin/sh если сам
> этот альтовский sh скорее bash чем оригинальный старый sh, а соответственно
> это явно _не_ для переносимости.
>
Хорошо, пример из всё того же man bash: bash, запущенный как sh, не
читает свои стартовые скрипты.
--
Alexey "Ktirf" Rusakov
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Comm] sh - bash
2006-10-15 5:53 ` Artem Zolochevskiy
2006-10-15 5:57 ` Artem Zolochevskiy
@ 2006-10-15 7:26 ` Sergey Vlasov
2006-10-15 7:43 ` Artem Zolochevskiy
2006-10-15 10:55 ` [Comm] sh - bash Maksim Otstavnov
2006-10-15 17:52 ` Michael Shigorin
2 siblings, 2 replies; 18+ messages in thread
From: Sergey Vlasov @ 2006-10-15 7:26 UTC (permalink / raw)
To: community
[-- Attachment #1: Type: text/plain, Size: 2027 bytes --]
On Sun, Oct 15, 2006 at 08:53:03AM +0300, Artem Zolochevskiy wrote:
> Pavel Usischev wrote:
> >> Собственно вопрос относительно написания скриптов
> >> Отчего же тогда вижу везде #!/bin/sh (в стартовых сценариях итп) - если
> >> этот sh такой старый и неумека?
> >
> > Как раз для переносимости скрипта. В ALT /bin/sh -- это особый вариант
> > bash, в других системах это вполне может быть другой шелл, а bash вообще
> > может отсутствовать.
>
> Так вот и я так думал, а получается, что нет. Ибо в альтовских скриптах
> (благодаря тому, что в альт sh это тот же bash) повсеместно используются
> фичи, кот в "оригинальном" sh не прокатят. Получается о совместимости тут
> речи нет.
В Debian /bin/sh может ссылаться на любой POSIX compatible shell:
The standard shell interpreter /bin/sh can be a symbolic link to any
POSIX compatible shell, if echo -n does not generate a newline.
http://www.debian.org/doc/debian-policy/ch-files.html#s-scripts
У нас пока такого нет, но всё равно лучше в скриптах, где написано
#!/bin/sh, не использовать возможности, специфические для bash.
> альтовский sh:
> sh-3.1$ A=5
> sh-3.1$ B=6
> sh-3.1$ C=$(($A+$B))
> sh-3.1$ echo $C
> 11
> sh-3.1$
>
> а по идее в sh это не должно прокатывать
> heirloom-sh:
> $ A=5
> $ B=6
> $ C=$(($A+$B))
> syntax error: `C=$' unexpected
> $
Это arithmetic expansion, который вообще-то входит в последний вариант
спецификации POSIX sh:
http://www.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#tag_02_06_04
Правда, в стандарте есть одна проблема: там написано, что $(($x) и
$((x)) должны работать одинаково, но возможность использовать
переменные без $ в произвольных выражениях явно не прописана; в
результате существуют варианты /bin/sh, для которых заявлена
совместимость с POSIX, но выражения вида $((A+B)) там не работают.
Использование же конструкций вида $(($A+$B)) потенциально опасно, если
переменные могут содержать непроверенные данные, не являющися целыми
числами.
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Comm] sh - bash
2006-10-15 7:26 ` Sergey Vlasov
@ 2006-10-15 7:43 ` Artem Zolochevskiy
2006-10-15 11:31 ` Dmitry V. Levin
2006-10-15 17:55 ` [Comm] heirloom toolchest Michael Shigorin
2006-10-15 10:55 ` [Comm] sh - bash Maksim Otstavnov
1 sibling, 2 replies; 18+ messages in thread
From: Artem Zolochevskiy @ 2006-10-15 7:43 UTC (permalink / raw)
To: community
Sergey Vlasov wrote:
> В Debian /bin/sh может ссылаться на любой POSIX compatible shell:
>
> The standard shell interpreter /bin/sh can be a symbolic link to any
> POSIX compatible shell, if echo -n does not generate a newline.
>
> http://www.debian.org/doc/debian-policy/ch-files.html#s-scripts
>
> У нас пока такого нет, но всё равно лучше в скриптах, где написано
> #!/bin/sh, не использовать возможности, специфические для bash.
Вот и я о том же. Только у нас, кажется, в дистрибутиве даже не на чем
проверить. Ну а я далёк от того чтоб это (не использовать возможности,
специфические для bash) было на кончиках пальцев. Я вот для проверки стащил
heirloom-sh, после чего собственно и выяснилось, что куда ни глянь в
скриптах где #!/bin/sh используются не sh-эвые фишки.
К примеру сплошь и рядом что-то типа PROG="${0##*/} - см. к
примеру /usr/bin/apropos
Или я снова промахнулся? по крайней мере на heirloom-sh такие фишки не
прокатывают.
Получается, что повсеместно в скриптах указано #!/bin/sh - и работает это с
альтовым sh хорошо, а вот с другим - не факт.
--
Artem Zolochevskiy
Kaliningrad, Russia
JID: az@jabber.org
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Comm] sh - bash
2006-10-15 5:41 ` Artem Zolochevskiy
2006-10-15 6:13 ` Alexey Rusakov
@ 2006-10-15 8:41 ` Andrey Rahmatullin
2006-10-15 8:56 ` Artem Zolochevskiy
1 sibling, 1 reply; 18+ messages in thread
From: Andrey Rahmatullin @ 2006-10-15 8:41 UTC (permalink / raw)
To: community
[-- Attachment #1: Type: text/plain, Size: 781 bytes --]
On Sun, Oct 15, 2006 at 08:41:41AM +0300, Artem Zolochevskiy wrote:
> Я по наивности предполагал, что #!/bin/sh используют для переносимости. Но
> тогда непонятно отчего в скриптах в системе повсеместно #!/bin/sh если сам
> этот альтовский sh скорее bash чем оригинальный старый sh, а соответственно
> это явно _не_ для переносимости.
Я не понял, вы предлагаете пофиксить sh или написать во всех скриптах
#!/bin/bash? И почему вы так последовательно говорите о "скриптах в
системе", "скриптах в альте", вы ж прекрасно понимаете, что скрипты эти по
больше йчасти общие для всех линуксов (и не только)? :)
--
WBR, wRAR (ALT Linux Team)
Powered by the ALT Linux fortune(8):
> может, в backports предложить?
Не надо нестабильные версии туда.
-- zerg in sisyphus@
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 191 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Comm] sh - bash
2006-10-15 8:41 ` Andrey Rahmatullin
@ 2006-10-15 8:56 ` Artem Zolochevskiy
2006-10-15 9:03 ` Andrey Rahmatullin
0 siblings, 1 reply; 18+ messages in thread
From: Artem Zolochevskiy @ 2006-10-15 8:56 UTC (permalink / raw)
To: community
Andrey Rahmatullin wrote:
> Я не понял, вы предлагаете пофиксить sh или написать во всех скриптах
> #!/bin/bash?
Ничего не предлагаю. Просто пытаюсь понять что мне писать. Ну и по ходу
пытаюсь взглянуть на примеры скриптов и понять отчего везде вижу #!/bin/sh,
хотя, похоже, используются фичи bash-a.
> И почему вы так последовательно говорите о "скриптах в
> системе", "скриптах в альте", вы ж прекрасно понимаете, что скрипты эти по
> больше йчасти общие для всех линуксов (и не только)? :)
>
ну тут никакого злого умысла :-) просто так как у меня альт, вот и открываю
для скрипты альта, что поглядеть что да как люди делают. то, что общие тоже
понятно.
--
Artem Zolochevskiy
Kaliningrad, Russia
JID: az@jabber.org
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Comm] sh - bash
2006-10-15 8:56 ` Artem Zolochevskiy
@ 2006-10-15 9:03 ` Andrey Rahmatullin
0 siblings, 0 replies; 18+ messages in thread
From: Andrey Rahmatullin @ 2006-10-15 9:03 UTC (permalink / raw)
To: community
[-- Attachment #1: Type: text/plain, Size: 806 bytes --]
On Sun, Oct 15, 2006 at 11:56:23AM +0300, Artem Zolochevskiy wrote:
> Ничего не предлагаю. Просто пытаюсь понять что мне писать. Ну и по ходу
> пытаюсь взглянуть на примеры скриптов и понять отчего везде вижу #!/bin/sh,
> хотя, похоже, используются фичи bash-a.
Башизмы - это ошибка скриптов. Их быть не должно.
Всё просто :)
> ну тут никакого злого умысла :-) просто так как у меня альт, вот и открываю
> для скрипты альта, что поглядеть что да как люди делают. то, что общие тоже
> понятно.
Ну вот, тогда для общего случая "у нас sh == bash" - не аргумент. Только
вот как там работают эти кривые скрипты - непонятно.
--
WBR, wRAR (ALT Linux Team)
Powered by the ALT Linux fortune(8):
Сделаю все, что будет в моих силах.
Последних, правда, совсем мало осталось.
-- ldv in devel@
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 191 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Comm] sh - bash
2006-10-15 7:26 ` Sergey Vlasov
2006-10-15 7:43 ` Artem Zolochevskiy
@ 2006-10-15 10:55 ` Maksim Otstavnov
1 sibling, 0 replies; 18+ messages in thread
From: Maksim Otstavnov @ 2006-10-15 10:55 UTC (permalink / raw)
To: community
Hello Sergey,
Sunday, October 15, 2006, 11:26:34 AM, you wrote:
SV> Правда, в стандарте есть одна проблема: там написано, что $(($x) и
SV> $((x)) должны работать одинаково, но возможность использовать
SV> переменные без $ в произвольных выражениях явно не прописана;
Так а второе из первого не следует. Я бы исходил из того, что такой
возможности нет.
SV> в результате существуют варианты /bin/sh, для которых заявлена
SV> совместимость с POSIX, но выражения вида $((A+B)) там не работают.
SV> Использование же конструкций вида $(($A+$B)) потенциально опасно,
SV> если переменные могут содержать непроверенные данные, не являющися
SV> целыми числами.
А чем бы помогло " $((A+B))"?
Кстати, и для раскрытия одной одвускобленной переменной написано, что
"*If the shell variable x contains a value that forms a valid integer
constant*, then the arithmetic expansions "$((x))" and "$(($x))" shall
return the same value" (Ibid., 2.3.6).
Не вполне понятно, как должна вести себя оболочка при нецелом или
нечисловом значении x; вполне возможно, что последнее предложение в
следующем за процитированным абзаце ("If the expression is invalid,
the expansion fails and the shell shall write a message to standard
error indicating the failure") просто забили отбить абзацем, и оно
относится к любому арифметическому раскрытию, а не только к случаям
поддержки нестандартных операций или иных типов переменных, о которых
говорится в сем абзаце.
Я, по крайней мере, столкнувшись некоторое время назад с этим
вопросом, понял это так: и "$((x))", и "$(($x))" при неподдерживаемом
арифметическом типе x или нечисловом x _должны_ (SHALL) вызывать
ошибку раскрытия. Есть другие идеи?
PS: А опечаток-то в тексте 2004 г.... :(
--
-- Maksim
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Comm] sh - bash
2006-10-15 7:43 ` Artem Zolochevskiy
@ 2006-10-15 11:31 ` Dmitry V. Levin
2006-10-18 12:01 ` Fr. Br. George
2006-10-15 17:55 ` [Comm] heirloom toolchest Michael Shigorin
1 sibling, 1 reply; 18+ messages in thread
From: Dmitry V. Levin @ 2006-10-15 11:31 UTC (permalink / raw)
To: ALT Linux general discussion list
[-- Attachment #1: Type: text/plain, Size: 688 bytes --]
On Sun, Oct 15, 2006 at 10:43:19AM +0300, Artem Zolochevskiy wrote:
> Sergey Vlasov wrote:
>
> > В Debian /bin/sh может ссылаться на любой POSIX compatible shell:
> >
> > The standard shell interpreter /bin/sh can be a symbolic link to any
> > POSIX compatible shell, if echo -n does not generate a newline.
> >
> > http://www.debian.org/doc/debian-policy/ch-files.html#s-scripts
> >
> > У нас пока такого нет, но всё равно лучше в скриптах, где написано
> > #!/bin/sh, не использовать возможности, специфические для bash.
>
> Вот и я о том же. Только у нас, кажется, в дистрибутиве даже не на чем
> проверить.
Есть такой пакет, ash называется.
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Comm] sh - bash
2006-10-14 22:50 ` Pavel Usischev
2006-10-15 5:53 ` Artem Zolochevskiy
@ 2006-10-15 17:48 ` Michael Shigorin
1 sibling, 0 replies; 18+ messages in thread
From: Michael Shigorin @ 2006-10-15 17:48 UTC (permalink / raw)
To: ALT Linux Community
On Sun, Oct 15, 2006 at 02:50:01AM +0400, Pavel Usischev wrote:
> > Отчего же тогда вижу везде #!/bin/sh (в стартовых сценариях
> > итп) - если этот sh такой старый и неумека?
> Как раз для переносимости скрипта. В ALT /bin/sh -- это особый
> вариант bash, в других системах это вполне может быть другой
> шелл, а bash вообще может отсутствовать.
Ещё один момент -- sh у нас довольно давно собран ободранным как
липка, именно в качестве интерпретатора для скриптов. Поэтому
если после какого-нить chroot (например, с rescue cd) получаете
шелл, в котором стрелочки не работают (поскольку собран без
readline в частности) -- значит, надо запустить bash.
--
---- WBR, Michael Shigorin <mike@altlinux.ru>
------ Linux.Kiev http://www.linux.kiev.ua/
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Comm] sh - bash
2006-10-15 5:53 ` Artem Zolochevskiy
2006-10-15 5:57 ` Artem Zolochevskiy
2006-10-15 7:26 ` Sergey Vlasov
@ 2006-10-15 17:52 ` Michael Shigorin
2 siblings, 0 replies; 18+ messages in thread
From: Michael Shigorin @ 2006-10-15 17:52 UTC (permalink / raw)
To: community
On Sun, Oct 15, 2006 at 08:53:03AM +0300, Artem Zolochevskiy wrote:
> Вот и получается что использование #!/bin/sh в альте явно не
> для совместимости.
Вы просто заподозрили цели более широкие, чем те, достижение
которых ставить разумно. Совместимость -- очень скользкая штука,
попробуйте-ка сперва написать по документации чего для SunOS sh,
а потом подумать ещё раз -- кому именно нужны привычки вида "пишу
на таком sh, чтобы работало везде", а кому вообще-то достаточно
bash и позиции "поставьте bash или портируйте сами", что хорошо
бы отметить соответственно #!/bin/bash.
Короче, дело как обычно не "в альте", а в людях вообще.
Общей линии тут, особенной для ALT, мне не наблюдается.
--
---- WBR, Michael Shigorin <mike@altlinux.ru>
------ Linux.Kiev http://www.linux.kiev.ua/
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Comm] heirloom toolchest
2006-10-15 7:43 ` Artem Zolochevskiy
2006-10-15 11:31 ` Dmitry V. Levin
@ 2006-10-15 17:55 ` Michael Shigorin
1 sibling, 0 replies; 18+ messages in thread
From: Michael Shigorin @ 2006-10-15 17:55 UTC (permalink / raw)
To: community
On Sun, Oct 15, 2006 at 10:43:19AM +0300, Artem Zolochevskiy wrote:
> Я вот для проверки стащил heirloom-sh
А, вот оно что. Остальной сундук не рассматривали?
Оно там в UTF-8 locales работает, в отличие от coreutils.
По крайней мере то, что перепробовал (tr и sed); плюс это
как фича и заявлено.
--
---- WBR, Michael Shigorin <mike@altlinux.ru>
------ Linux.Kiev http://www.linux.kiev.ua/
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Comm] sh - bash
2006-10-15 11:31 ` Dmitry V. Levin
@ 2006-10-18 12:01 ` Fr. Br. George
0 siblings, 0 replies; 18+ messages in thread
From: Fr. Br. George @ 2006-10-18 12:01 UTC (permalink / raw)
To: ALT Linux Community
On Sun, Oct 15, 2006 at 03:31:19PM +0400, Dmitry V. Levin wrote:
> > Вот и я о том же. Только у нас, кажется, в дистрибутиве даже не на чем
> > проверить.
> Есть такой пакет, ash называется.
Спасибо, Дима! Читал ветку и всё дивился, что ash умалчивают.
--
Георгий Курячий (aka Fr. Br. George)
Руководитель образовательных проектов ALT Linux
mailto : george at altlinux_ru
^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2006-10-18 12:01 UTC | newest]
Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-10-14 21:57 [Comm] sh - bash Artem Zolochevskiy
2006-10-14 22:27 ` Alexey Rusakov
2006-10-15 5:41 ` Artem Zolochevskiy
2006-10-15 6:13 ` Alexey Rusakov
2006-10-15 8:41 ` Andrey Rahmatullin
2006-10-15 8:56 ` Artem Zolochevskiy
2006-10-15 9:03 ` Andrey Rahmatullin
2006-10-14 22:50 ` Pavel Usischev
2006-10-15 5:53 ` Artem Zolochevskiy
2006-10-15 5:57 ` Artem Zolochevskiy
2006-10-15 7:26 ` Sergey Vlasov
2006-10-15 7:43 ` Artem Zolochevskiy
2006-10-15 11:31 ` Dmitry V. Levin
2006-10-18 12:01 ` Fr. Br. George
2006-10-15 17:55 ` [Comm] heirloom toolchest Michael Shigorin
2006-10-15 10:55 ` [Comm] sh - bash Maksim Otstavnov
2006-10-15 17:52 ` Michael Shigorin
2006-10-15 17:48 ` Michael Shigorin
ALT Linux Community general discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
public-inbox-index community
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.community
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git