ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] bash vs. ash
@ 2009-09-29  9:03 Stanislav Ievlev
  2009-09-29  9:07 ` Andrey Rahmatullin
                   ` (4 more replies)
  0 siblings, 5 replies; 27+ messages in thread
From: Stanislav Ievlev @ 2009-09-29  9:03 UTC (permalink / raw)
  To: devel

Привет, всем!

У меня, да и не только у меня, накапливается всё больше и больше
доказательств, что ash работает _корректнее_ и _быстрее_ чем
пресловутый bash в режиме sh. Самая простая демонстрация - это
посмотреть сколько будет работать "substitution" на переменных
содержащих большие строки.

Поскольку в alterator очень сильно зависит общая производительность от
производительности бакендов на shell, то я уже определился, что буду
ставить в своих скриптах #!/bin/ash, вместо #!/bin/sh.

Хотелось бы узнать: какие есть препятствия для того чтобы поступить
как Debian - залинковать sh на ash и оставить bash только для
любителей башизмов?

--
Стас.

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [devel] bash vs. ash
  2009-09-29  9:03 [devel] bash vs. ash Stanislav Ievlev
@ 2009-09-29  9:07 ` Andrey Rahmatullin
  2009-09-29  9:17   ` Stanislav Ievlev
                     ` (2 more replies)
  2009-09-29  9:19 ` Dmitry V. Levin
                   ` (3 subsequent siblings)
  4 siblings, 3 replies; 27+ messages in thread
From: Andrey Rahmatullin @ 2009-09-29  9:07 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 411 bytes --]

On Tue, Sep 29, 2009 at 01:03:07PM +0400, Stanislav Ievlev wrote:
> Хотелось бы узнать: какие есть препятствия для того чтобы поступить
> как Debian - залинковать sh на ash и оставить bash только для
> любителей башизмов?
Отсутствие checkbashisms(1)

-- 
WBR, wRAR (ALT Linux Team)
Powered by the ALT Linux fortune(6):

--- Utvuk|home is now known as Utvuk|work
<AMorozov> Utvuk|work: телепорт? ;-)

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 490 bytes --]

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [devel] bash vs. ash
  2009-09-29  9:07 ` Andrey Rahmatullin
@ 2009-09-29  9:17   ` Stanislav Ievlev
  2009-09-29  9:21     ` Andrey Rahmatullin
  2009-09-29  9:19   ` Vladislav Zavjalov
  2009-09-30 20:46   ` Vitaly Lipatov
  2 siblings, 1 reply; 27+ messages in thread
From: Stanislav Ievlev @ 2009-09-29  9:17 UTC (permalink / raw)
  To: ALT Linux Team development discussions

29 сентября 2009 г. 13:07 пользователь Andrey Rahmatullin
<wrar@altlinux.ru> написал:
> On Tue, Sep 29, 2009 at 01:03:07PM +0400, Stanislav Ievlev wrote:
>> Хотелось бы узнать: какие есть препятствия для того чтобы поступить
>> как Debian - залинковать sh на ash и оставить bash только для
>> любителей башизмов?
> Отсутствие checkbashisms(1)
Ну подозреваю, что кривые скрипты достаточно быстро свалятся. Тем
более Debian наверное уже много чего пофиксил ;)

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [devel] bash vs. ash
  2009-09-29  9:07 ` Andrey Rahmatullin
  2009-09-29  9:17   ` Stanislav Ievlev
@ 2009-09-29  9:19   ` Vladislav Zavjalov
  2009-09-29  9:22     ` Andrey Rahmatullin
  2009-09-29  9:23     ` Dmitry V. Levin
  2009-09-30 20:46   ` Vitaly Lipatov
  2 siblings, 2 replies; 27+ messages in thread
From: Vladislav Zavjalov @ 2009-09-29  9:19 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Tue, Sep 29, 2009 at 03:07:31PM +0600, Andrey Rahmatullin wrote:
> On Tue, Sep 29, 2009 at 01:03:07PM +0400, Stanislav Ievlev wrote:
> > Хотелось бы узнать: какие есть препятствия для того чтобы поступить
> > как Debian - залинковать sh на ash и оставить bash только для
> > любителей башизмов?
> Отсутствие checkbashisms(1)

Я б, конечно, тоже, сделал sh->ash. Но совершенно непонятно же, кто и
где разломается.

Наверное, все-таки надо придумать более плавные переходные мероприятия.
Собрать список несовместимостей на wiki, придумать тесты ("у вас тут ${a//}, а в
заголовке /bin/sh!"), может вообще настоятельно рекомендовать в
заголовке всегда указывать явно ash/bash...

Я уже тут многим хвастался драматическим произведением на тему
совместимости ash и bash. Со счастливым концом :)

Надо было мне напечатать непечатное, и произошел у bash и ash такой
примерно диалог:

# ash -c 'echo "\117\113"'
OK
# bash -c 'echo "\117\113"'
\117\113

# bash -c "echo $'\117\113'"
OK
# ash -c "echo $'\117\113'"
$OK

$ ash -c "echo '\117\113'"
OK
$ bash -c "echo '\117\113'"
\117\113

# bash -c 'echo -e "\0117\0113"'
OK
# ash -c 'echo -e "\0117\0113"'
-e OK

# bash -c "echo $'\x4F\x4B'"
OK
# ash -c "echo $'\x4F\x4B'"
$\x4F\x4B

...

# bash -c 'printf "\117\113\n"'
OK
# ash -c 'printf "\117\113\n"'
OK



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [devel] bash vs. ash
  2009-09-29  9:03 [devel] bash vs. ash Stanislav Ievlev
  2009-09-29  9:07 ` Andrey Rahmatullin
@ 2009-09-29  9:19 ` Dmitry V. Levin
  2009-09-29 20:57   ` Dmitry V. Levin
  2009-09-29  9:31 ` Vladislav Zavjalov
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 27+ messages in thread
From: Dmitry V. Levin @ 2009-09-29  9:19 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 1296 bytes --]

On Tue, Sep 29, 2009 at 01:03:07PM +0400, Stanislav Ievlev wrote:
> У меня, да и не только у меня, накапливается всё больше и больше
> доказательств, что ash работает _корректнее_

Это сложно доказать, поскольку сложно измерить, и нельзя довериться одному
отдельно взятому человеку, у которого есть предпочтение к тому или иному
варианту.

> и _быстрее_ чем пресловутый bash в режиме sh.

А это можно измерить, наверное, кто-нибудь уже это делал.  У тебя есть
какие-нибудь ссылки?

> Поскольку в alterator очень сильно зависит общая производительность от
> производительности бакендов на shell, то я уже определился, что буду
> ставить в своих скриптах #!/bin/ash, вместо #!/bin/sh.
> 
> Хотелось бы узнать: какие есть препятствия для того чтобы поступить
> как Debian - залинковать sh на ash и оставить bash только для
> любителей башизмов?

Для того, чтобы можно было это сделать, необходимо
1. придумать новое имя для нынешнего #!/bin/sh, который является
   подмножеством #!/bin/bash;
2. исправить все более-менее важные скрипты, использующие #/bin/sh: либо
   изменить сами скрипты, либо поменять шебанг;
3. реализовать и добавить в rpm-build проверку, которая бы не пропускала
   ни одного скрипта с #!/bin/sh, использующего расширенный синтаксис.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [devel] bash vs. ash
  2009-09-29  9:17   ` Stanislav Ievlev
@ 2009-09-29  9:21     ` Andrey Rahmatullin
  2009-09-29  9:26       ` Dmitry V. Levin
  0 siblings, 1 reply; 27+ messages in thread
From: Andrey Rahmatullin @ 2009-09-29  9:21 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 499 bytes --]

On Tue, Sep 29, 2009 at 01:17:20PM +0400, Stanislav Ievlev wrote:
> > Отсутствие checkbashisms(1)
> Ну подозреваю, что кривые скрипты достаточно быстро свалятся. Тем
> более Debian наверное уже много чего пофиксил ;)
Линтиан, насколько вижу, проверяет в первую очередь как раз "спеки". Или
мы будем спеки через /bin/bash гонять?

-- 
WBR, wRAR (ALT Linux Team)
Powered by the ALT Linux fortune(6):

Пока-что всё нормально, но необходимость патчить патчи напрягает.
		-- rider in devel@

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 490 bytes --]

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [devel] bash vs. ash
  2009-09-29  9:19   ` Vladislav Zavjalov
@ 2009-09-29  9:22     ` Andrey Rahmatullin
  2009-09-29 15:59       ` Alexey Rusakov
  2009-09-29  9:23     ` Dmitry V. Levin
  1 sibling, 1 reply; 27+ messages in thread
From: Andrey Rahmatullin @ 2009-09-29  9:22 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 731 bytes --]

On Tue, Sep 29, 2009 at 01:19:16PM +0400, Vladislav Zavjalov wrote:
> Я б, конечно, тоже, сделал sh->ash. Но совершенно непонятно же, кто и
> где разломается.
> 
> Наверное, все-таки надо придумать более плавные переходные мероприятия.
> Собрать список несовместимостей на wiki, придумать тесты ("у вас тут ${a//}, а в
> заголовке /bin/sh!"), может вообще настоятельно рекомендовать в
> заголовке всегда указывать явно ash/bash...
Может нарушить традицию и посмотреть, как это было сделано в D**ian?

-- 
WBR, wRAR (ALT Linux Team)
Powered by the ALT Linux fortune(6):

> > ImageMagick тут явно не причем - попробуйте перезапустить xorg.
> А каким образом, не подскажите.
Ctrl-Alt-Backspace
		-- lav in sisyphus@

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 490 bytes --]

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [devel] bash vs. ash
  2009-09-29  9:19   ` Vladislav Zavjalov
  2009-09-29  9:22     ` Andrey Rahmatullin
@ 2009-09-29  9:23     ` Dmitry V. Levin
  2009-09-29  9:40       ` Vladislav Zavjalov
  1 sibling, 1 reply; 27+ messages in thread
From: Dmitry V. Levin @ 2009-09-29  9:23 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 798 bytes --]

On Tue, Sep 29, 2009 at 01:19:16PM +0400, Vladislav Zavjalov wrote:
[...]
> Я уже тут многим хвастался драматическим произведением на тему
> совместимости ash и bash. Со счастливым концом :)
> 
> Надо было мне напечатать непечатное, и произошел у bash и ash такой
> примерно диалог:
> 
> # ash -c 'echo "\117\113"'
> OK
> # bash -c 'echo "\117\113"'
> \117\113
[... много примеров поскипано ...]
> # bash -c "echo $'\x4F\x4B'"
> OK
> # ash -c "echo $'\x4F\x4B'"
> $\x4F\x4B
> 
> ...
> 
> # bash -c 'printf "\117\113\n"'
> OK
> # ash -c 'printf "\117\113\n"'
> OK

Переносимый shell-код должен избегать более-менее нетривиального
использования echo, этот факт должен быть широко известен.
Use printf(1) instead (тоже с оговорками, конечно, но их поменьше).


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [devel] bash vs. ash
  2009-09-29  9:21     ` Andrey Rahmatullin
@ 2009-09-29  9:26       ` Dmitry V. Levin
  0 siblings, 0 replies; 27+ messages in thread
From: Dmitry V. Levin @ 2009-09-29  9:26 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 556 bytes --]

On Tue, Sep 29, 2009 at 03:21:37PM +0600, Andrey Rahmatullin wrote:
> On Tue, Sep 29, 2009 at 01:17:20PM +0400, Stanislav Ievlev wrote:
> > > Отсутствие checkbashisms(1)
> > Ну подозреваю, что кривые скрипты достаточно быстро свалятся. Тем
> > более Debian наверное уже много чего пофиксил ;)
> Линтиан, насколько вижу, проверяет в первую очередь как раз "спеки". Или
> мы будем спеки через /bin/bash гонять?

shell-секции мог бы проверить rpm-build в post-%install, а всё остальное,
наверное, проще выявить во время сборки пакета.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [devel] bash vs. ash
  2009-09-29  9:03 [devel] bash vs. ash Stanislav Ievlev
  2009-09-29  9:07 ` Andrey Rahmatullin
  2009-09-29  9:19 ` Dmitry V. Levin
@ 2009-09-29  9:31 ` Vladislav Zavjalov
  2009-09-29  9:40   ` Stanislav Ievlev
  2009-09-29 12:34 ` Mikhail Yakshin
  2009-09-29 20:51 ` Michael Shigorin
  4 siblings, 1 reply; 27+ messages in thread
From: Vladislav Zavjalov @ 2009-09-29  9:31 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Tue, Sep 29, 2009 at 01:03:07PM +0400, Stanislav Ievlev wrote:
> Привет, всем!
> 
> У меня, да и не только у меня, накапливается всё больше и больше
> доказательств, что ash работает _корректнее_ и _быстрее_ чем
> пресловутый bash в режиме sh. Самая простая демонстрация - это
> посмотреть сколько будет работать "substitution" на переменных
> содержащих большие строки.
> 
> Поскольку в alterator очень сильно зависит общая производительность от
> производительности бакендов на shell, то я уже определился, что буду
> ставить в своих скриптах #!/bin/ash, вместо #!/bin/sh.
> 
> Хотелось бы узнать: какие есть препятствия для того чтобы поступить
> как Debian - залинковать sh на ash и оставить bash только для
> любителей башизмов?

Видимо, проблема вообще в использовании /bin/sh.

Если я пишу на bash - надо ставить в заголовок bash.
А если используется /bin/sh, то возникает иллюзия, что можно
безболезненно произвести такую замену, хотя это, очевидно, не так.

У нас сейчас все скрипты с /bin/sh написаны, протестированы, работают
на bash -- значит и в заголовке у них должно быть /bin/bash.
Кто захочет писать на ash (или perl) - поставит в заголовок ash (или
perl).

Слава


^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [devel] bash vs. ash
  2009-09-29  9:31 ` Vladislav Zavjalov
@ 2009-09-29  9:40   ` Stanislav Ievlev
  0 siblings, 0 replies; 27+ messages in thread
From: Stanislav Ievlev @ 2009-09-29  9:40 UTC (permalink / raw)
  To: ALT Linux Team development discussions

29 сентября 2009 г. 13:31 пользователь Vladislav Zavjalov
<slazav@altlinux.org> написал:
> On Tue, Sep 29, 2009 at 01:03:07PM +0400, Stanislav Ievlev wrote:
>> Привет, всем!
>>
>> У меня, да и не только у меня, накапливается всё больше и больше
>> доказательств, что ash работает _корректнее_ и _быстрее_ чем
>> пресловутый bash в режиме sh. Самая простая демонстрация - это
>> посмотреть сколько будет работать "substitution" на переменных
>> содержащих большие строки.
>>
>> Поскольку в alterator очень сильно зависит общая производительность от
>> производительности бакендов на shell, то я уже определился, что буду
>> ставить в своих скриптах #!/bin/ash, вместо #!/bin/sh.
>>
>> Хотелось бы узнать: какие есть препятствия для того чтобы поступить
>> как Debian - залинковать sh на ash и оставить bash только для
>> любителей башизмов?
>
> Видимо, проблема вообще в использовании /bin/sh.
>
> Если я пишу на bash - надо ставить в заголовок bash.
> А если используется /bin/sh, то возникает иллюзия, что можно
> безболезненно произвести такую замену, хотя это, очевидно, не так.
>
> У нас сейчас все скрипты с /bin/sh написаны, протестированы, работают
> на bash -- значит и в заголовке у них должно быть /bin/bash.
> Кто захочет писать на ash (или perl) - поставит в заголовок ash (или
> perl).
О ... мне эта идея нравится. Идея /bin/sh как средство сделать скрипт
переносимым сейчас извращена башем, который не отключает башизмов в
режиме /bin/sh ;)

Может быть лет через сто bash пойдёт по пути gcc и скрипты будут
медленно, но верно исправляться, но сейчас наверное действительно
проще отказаться от bash "по месту".

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [devel] bash vs. ash
  2009-09-29  9:23     ` Dmitry V. Levin
@ 2009-09-29  9:40       ` Vladislav Zavjalov
  0 siblings, 0 replies; 27+ messages in thread
From: Vladislav Zavjalov @ 2009-09-29  9:40 UTC (permalink / raw)
  To: ALT Linux Team development discussions

> Переносимый shell-код должен избегать более-менее нетривиального
> использования echo, этот факт должен быть широко известен.
> Use printf(1) instead (тоже с оговорками, конечно, но их поменьше).

Ну да, я это слышал много раз, а попался недавно :)
Тут еще забавно получается, что не все, что работает на ash - сработает на bash.

Поэтому немного обесценивается идея "сделать sh=>ash, чтоб скрипты с
/bin/sh были переносимыми куда угодно". А без этой идеи /bin/sh довольно
бессмысленный, мне кажется.

Слава


^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [devel] bash vs. ash
  2009-09-29  9:03 [devel] bash vs. ash Stanislav Ievlev
                   ` (2 preceding siblings ...)
  2009-09-29  9:31 ` Vladislav Zavjalov
@ 2009-09-29 12:34 ` Mikhail Yakshin
  2009-09-29 12:52   ` Andrey Rahmatullin
  2009-09-29 12:55   ` Andrey Rahmatullin
  2009-09-29 20:51 ` Michael Shigorin
  4 siblings, 2 replies; 27+ messages in thread
From: Mikhail Yakshin @ 2009-09-29 12:34 UTC (permalink / raw)
  To: ALT Linux Team development discussions

2009/9/29 Stanislav Ievlev <stanislav.ievlev@gmail.com>:
> Привет, всем!
>
> У меня, да и не только у меня, накапливается всё больше и больше
> доказательств, что ash работает _корректнее_ и _быстрее_ чем
> пресловутый bash в режиме sh. Самая простая демонстрация - это
> посмотреть сколько будет работать "substitution" на переменных
> содержащих большие строки.
>
> Поскольку в alterator очень сильно зависит общая производительность от
> производительности бакендов на shell, то я уже определился, что буду
> ставить в своих скриптах #!/bin/ash, вместо #!/bin/sh.
>
> Хотелось бы узнать: какие есть препятствия для того чтобы поступить
> как Debian - залинковать sh на ash и оставить bash только для
> любителей башизмов?

Насколько я вижу,

$ cat /etc/debian_version
5.0.2
$ readlink /bin/sh
bash

Если имеется в виду не Debian, а Ubuntu, то там тоже не ash, а dash:

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=9.10
DISTRIB_CODENAME=karmic
DISTRIB_DESCRIPTION="Ubuntu karmic (development branch)"
$ readlink /bin/sh
dash

Я сильно сомневаюсь, что где-то в Debian будет использовать именно
_ash_, хотя бы потому что
The Debian Almquist Shell (dash) is a lightweight POSIX-compliant shell
derived from ash.

-- 
WBR, Mikhail Yakshin

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [devel] bash vs. ash
  2009-09-29 12:34 ` Mikhail Yakshin
@ 2009-09-29 12:52   ` Andrey Rahmatullin
  2009-09-29 12:55   ` Andrey Rahmatullin
  1 sibling, 0 replies; 27+ messages in thread
From: Andrey Rahmatullin @ 2009-09-29 12:52 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 912 bytes --]

On Tue, Sep 29, 2009 at 04:34:34PM +0400, Mikhail Yakshin wrote:
> $ cat /etc/debian_version
> 5.0.2
> $ readlink /bin/sh
> bash
$ cat /etc/debian_version
squeeze/sid
$ readlink /bin/sh
dash

> Если имеется в виду не Debian, а Ubuntu, то там тоже не ash, а dash:
$ cat /etc/altlinux-release
ALT Linux Sisyphus (20081222)
$ rpm -q --qf '%{VERSION} %{URL}\n' ash
0.5.5.1 http://gondor.apana.org.au/~herbert/dash/

$ cat /etc/debian_version
squeeze/sid
$ dpkg -s dash |egrep '^(Homepage|Version)'
Version: 0.5.5.1-3
Homepage: http://gondor.apana.org.au/~herbert/dash/

-- 
WBR, wRAR (ALT Linux Team)
Powered by the ALT Linux fortune(6):

<hiddenman> еще мне нравятся URL-ы вида FreeSource : Мусорка / Alt Linux /
            Sisyphus / Andrew Kornilov    они снижают мою и так заниженную
            самооценку. выкинули в мусорку, гады :) одно радует, что вместе с
            Альтом

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 490 bytes --]

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [devel] bash vs. ash
  2009-09-29 12:34 ` Mikhail Yakshin
  2009-09-29 12:52   ` Andrey Rahmatullin
@ 2009-09-29 12:55   ` Andrey Rahmatullin
  2009-09-29 15:08     ` Mikhail Yakshin
  1 sibling, 1 reply; 27+ messages in thread
From: Andrey Rahmatullin @ 2009-09-29 12:55 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 831 bytes --]

On Tue, Sep 29, 2009 at 04:34:34PM +0400, Mikhail Yakshin wrote:
> $ cat /etc/debian_version
> 5.0.2
> $ readlink /bin/sh
> bash
$ zcat /usr/share/doc/dash/NEWS.Debian.gz
dash (0.5.5.1-2.1) unstable; urgency=low

  * The default system shell (/bin/sh) has been changed to dash for
    new installations.  When upgrading existing installations, the
    system shell will not be changed automatically.
  * One can see what the current default system shell on this machine
    is by running 'readlink /bin/sh'.
  * Change it by running 'dpkg-reconfigure dash'.

 -- Luk Claes <luk@debian.org>  Wed, 22 Jul 2009 17:23:20 +0200

-- 
WBR, wRAR (ALT Linux Team)
Powered by the ALT Linux fortune(6):

<raorn> ilyak: сначала flash-only уёбсайты, потом видеоролики по почте а потом
        и ссать мимо унитаза начнут

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 490 bytes --]

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [devel] bash vs. ash
  2009-09-29 12:55   ` Andrey Rahmatullin
@ 2009-09-29 15:08     ` Mikhail Yakshin
  2009-09-29 15:29       ` Andrey Rahmatullin
  0 siblings, 1 reply; 27+ messages in thread
From: Mikhail Yakshin @ 2009-09-29 15:08 UTC (permalink / raw)
  To: ALT Linux Team development discussions

2009/9/29 Andrey Rahmatullin:
> $ zcat /usr/share/doc/dash/NEWS.Debian.gz
> dash (0.5.5.1-2.1) unstable; urgency=low
>
>  * The default system shell (/bin/sh) has been changed to dash for
>    new installations.  When upgrading existing installations, the
>    system shell will not be changed automatically.
>  * One can see what the current default system shell on this machine
>    is by running 'readlink /bin/sh'.
>  * Change it by running 'dpkg-reconfigure dash'.
>
>  -- Luk Claes <luk@debian.org>  Wed, 22 Jul 2009 17:23:20 +0200

Ну, собственно, я показывал на Lenny, а это - текущий Squeeze. Переезд
основной массы скриптов на dash был произведен в Ubuntu, насколько я
вижу, где-то с 2007 года. До июля 2009 это тихо и незаметно
бэкпортировалось на Debian.

В общем, мораль-то всё равно в том, что там dash, а не чистый ash.

-- 
WBR, Mikhail Yakshin

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [devel] bash vs. ash
  2009-09-29 15:08     ` Mikhail Yakshin
@ 2009-09-29 15:29       ` Andrey Rahmatullin
  0 siblings, 0 replies; 27+ messages in thread
From: Andrey Rahmatullin @ 2009-09-29 15:29 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 403 bytes --]

On Tue, Sep 29, 2009 at 07:08:56PM +0400, Mikhail Yakshin wrote:
> В общем, мораль-то всё равно в том, что там dash, а не чистый ash.
Как и у нас.

-- 
WBR, wRAR (ALT Linux Team)
Powered by the ALT Linux fortune(6):

Имхо это плохая идея - местно использовать универсальные редакторы
шаблонов для столь узконаправленной, сложной и всеобъемлющей вещи, как
разбор конфигов.
		-- avl in devel@

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 490 bytes --]

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [devel] bash vs. ash
  2009-09-29  9:22     ` Andrey Rahmatullin
@ 2009-09-29 15:59       ` Alexey Rusakov
  0 siblings, 0 replies; 27+ messages in thread
From: Alexey Rusakov @ 2009-09-29 15:59 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 999 bytes --]

В Втр, 29/09/2009 в 15:22 +0600, Andrey Rahmatullin пишет:
> On Tue, Sep 29, 2009 at 01:19:16PM +0400, Vladislav Zavjalov wrote:
> > Я б, конечно, тоже, сделал sh->ash. Но совершенно непонятно же, кто и
> > где разломается.
> > 
> > Наверное, все-таки надо придумать более плавные переходные мероприятия.
> > Собрать список несовместимостей на wiki, придумать тесты ("у вас тут ${a//}, а в
> > заголовке /bin/sh!"), может вообще настоятельно рекомендовать в
> > заголовке всегда указывать явно ash/bash...
> Может нарушить традицию и посмотреть, как это было сделано в D**ian?
Они используют dash.

-- 
  Alexey "Ktirf" Rusakov
  GNOME Project
  ALT Linux Team

[-- Attachment #2: Эта часть сообщения подписана цифровой подписью --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [devel] bash vs. ash
  2009-09-29  9:03 [devel] bash vs. ash Stanislav Ievlev
                   ` (3 preceding siblings ...)
  2009-09-29 12:34 ` Mikhail Yakshin
@ 2009-09-29 20:51 ` Michael Shigorin
  4 siblings, 0 replies; 27+ messages in thread
From: Michael Shigorin @ 2009-09-29 20:51 UTC (permalink / raw)
  To: devel

On Tue, Sep 29, 2009 at 01:03:07PM +0400, Stanislav Ievlev wrote:
> У меня, да и не только у меня, накапливается всё больше и
> больше доказательств, что ash работает _корректнее_ и _быстрее_
> чем пресловутый bash в режиме sh.

Именно из пакета sh без лишних библиотек?  Просто как понимаю
-- если /bin/sh делать ash'ем, то хорошо бы тоже без лишнего.

-- 
 ---- WBR, Michael Shigorin <mike@altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/


^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [devel] bash vs. ash
  2009-09-29  9:19 ` Dmitry V. Levin
@ 2009-09-29 20:57   ` Dmitry V. Levin
  2009-09-29 21:25     ` Alexey Gladkov
  0 siblings, 1 reply; 27+ messages in thread
From: Dmitry V. Levin @ 2009-09-29 20:57 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 721 bytes --]

On Tue, Sep 29, 2009 at 01:19:19PM +0400, Dmitry V. Levin wrote:
> On Tue, Sep 29, 2009 at 01:03:07PM +0400, Stanislav Ievlev wrote:
> > У меня, да и не только у меня, накапливается всё больше и больше
> > доказательств, что ash работает _корректнее_
> 
> Это сложно доказать, поскольку сложно измерить, и нельзя довериться одному
> отдельно взятому человеку, у которого есть предпочтение к тому или иному
> варианту.
> 
> > и _быстрее_ чем пресловутый bash в режиме sh.
> 
> А это можно измерить, наверное, кто-нибудь уже это делал.  У тебя есть
> какие-нибудь ссылки?

Попробовал, shell-unittest у меня в gear/tests работает на ash заметно
медленнее, чем на sh.  Так что зависит от задач.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [devel] bash vs. ash
  2009-09-29 20:57   ` Dmitry V. Levin
@ 2009-09-29 21:25     ` Alexey Gladkov
  2009-09-29 21:50       ` Dmitry V. Levin
  2009-09-30  6:09       ` Stanislav Ievlev
  0 siblings, 2 replies; 27+ messages in thread
From: Alexey Gladkov @ 2009-09-29 21:25 UTC (permalink / raw)
  To: devel

30.09.2009 00:57, Dmitry V. Levin wrote:
> Попробовал, shell-unittest у меня в gear/tests работает на ash заметно
> медленнее, чем на sh.  Так что зависит от задач.

Может медленная работа это дело моих кривых рук ?
Если да, то повесь багу и я попробую исправить.

-- 
Rgrds, legion



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [devel] bash vs. ash
  2009-09-29 21:25     ` Alexey Gladkov
@ 2009-09-29 21:50       ` Dmitry V. Levin
  2009-10-07 22:22         ` Alexey Gladkov
  2009-09-30  6:09       ` Stanislav Ievlev
  1 sibling, 1 reply; 27+ messages in thread
From: Dmitry V. Levin @ 2009-09-29 21:50 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 526 bytes --]

On Wed, Sep 30, 2009 at 01:25:58AM +0400, Alexey Gladkov wrote:
> 30.09.2009 00:57, Dmitry V. Levin wrote:
> > Попробовал, shell-unittest у меня в gear/tests работает на ash заметно
> > медленнее, чем на sh.  Так что зависит от задач.
> 
> Может медленная работа это дело моих кривых рук ?

Маловероятно, поскольку скрипт не меняется, а меняется только шелл.

> Если да, то повесь багу и я попробую исправить.

Речь идёт о моём gear.git, бранч tests; посмотри сам, мне сложно сказать,
чья это бага.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [devel] bash vs. ash
  2009-09-29 21:25     ` Alexey Gladkov
  2009-09-29 21:50       ` Dmitry V. Levin
@ 2009-09-30  6:09       ` Stanislav Ievlev
  1 sibling, 0 replies; 27+ messages in thread
From: Stanislav Ievlev @ 2009-09-30  6:09 UTC (permalink / raw)
  To: ALT Linux Team development discussions

30 сентября 2009 г. 1:25 пользователь Alexey Gladkov
<legion@altlinux.ru> написал:
> 30.09.2009 00:57, Dmitry V. Levin wrote:
>> Попробовал, shell-unittest у меня в gear/tests работает на ash заметно
>> медленнее, чем на sh.  Так что зависит от задач.
>
> Может медленная работа это дело моих кривых рук ?
> Если да, то повесь багу и я попробую исправить.
Насколько я понял, в ash слегка менее эффективно сделана конкатенация
строк, что вполне поправимо в upstream.
Замедление может быть и заметно, но не такие дикие тормоза как в
substitution у bash ;)

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [devel] bash vs. ash
  2009-09-29  9:07 ` Andrey Rahmatullin
  2009-09-29  9:17   ` Stanislav Ievlev
  2009-09-29  9:19   ` Vladislav Zavjalov
@ 2009-09-30 20:46   ` Vitaly Lipatov
  2009-09-30 21:13     ` Vladislav Zavjalov
  2 siblings, 1 reply; 27+ messages in thread
From: Vitaly Lipatov @ 2009-09-30 20:46 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On 29 сентября 2009, Andrey Rahmatullin wrote:
> On Tue, Sep 29, 2009 at 01:03:07PM +0400, Stanislav Ievlev 
wrote:
> > Хотелось бы узнать: какие есть препятствия для того чтобы
> > поступить как Debian - залинковать sh на ash и оставить bash
> > только для любителей башизмов?
>
> Отсутствие checkbashisms(1)
Собрал :)
http://git.altlinux.org/tasks/13591/task/log


-- 
С уважением,
Виталий Липатов
Санкт-Петербург
GNU! ALT Linux Team! WINE! LaTeX! LyX! http://freesource.info


^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [devel] bash vs. ash
  2009-09-30 20:46   ` Vitaly Lipatov
@ 2009-09-30 21:13     ` Vladislav Zavjalov
  2009-09-30 21:27       ` Vladislav Zavjalov
  0 siblings, 1 reply; 27+ messages in thread
From: Vladislav Zavjalov @ 2009-09-30 21:13 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Thu, Oct 01, 2009 at 12:46:15AM +0400, Vitaly Lipatov wrote:
> On 29 сентября 2009, Andrey Rahmatullin wrote:
> > On Tue, Sep 29, 2009 at 01:03:07PM +0400, Stanislav Ievlev 
> wrote:
> > > Хотелось бы узнать: какие есть препятствия для того чтобы
> > > поступить как Debian - залинковать sh на ash и оставить bash
> > > только для любителей башизмов?
> >
> > Отсутствие checkbashisms(1)
> Собрал :)
> http://git.altlinux.org/tasks/13591/task/log

bash многогранен и такие проверки его не победят! Вот скрипт, работающий
по-разному на ash и bash, но проверку прошедший нормально :)

----
#!/bin/sh -efu

f(){
  local a
  echo "${a+123}"
}

f
---

Слава


^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [devel] bash vs. ash
  2009-09-30 21:13     ` Vladislav Zavjalov
@ 2009-09-30 21:27       ` Vladislav Zavjalov
  0 siblings, 0 replies; 27+ messages in thread
From: Vladislav Zavjalov @ 2009-09-30 21:27 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Thu, Oct 01, 2009 at 01:13:11AM +0400, Vladislav Zavjalov wrote:
> On Thu, Oct 01, 2009 at 12:46:15AM +0400, Vitaly Lipatov wrote:
> > On 29 сентября 2009, Andrey Rahmatullin wrote:
> > > On Tue, Sep 29, 2009 at 01:03:07PM +0400, Stanislav Ievlev 
> > wrote:
> > > > Хотелось бы узнать: какие есть препятствия для того чтобы
> > > > поступить как Debian - залинковать sh на ash и оставить bash
> > > > только для любителей башизмов?
> > >
> > > Отсутствие checkbashisms(1)
> > Собрал :)
> > http://git.altlinux.org/tasks/13591/task/log
> 
> bash многогранен и такие проверки его не победят! Вот скрипт, работающий
> по-разному на ash и bash, но проверку прошедший нормально :)

Но, вообще, хорошая проверка, полезная.
Будем пользоваться! Спасибо!

Слава


^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [devel] bash vs. ash
  2009-09-29 21:50       ` Dmitry V. Levin
@ 2009-10-07 22:22         ` Alexey Gladkov
  0 siblings, 0 replies; 27+ messages in thread
From: Alexey Gladkov @ 2009-10-07 22:22 UTC (permalink / raw)
  To: devel, Dmitry V. Levin

30.09.2009 01:50, Dmitry V. Levin wrote:
> Маловероятно, поскольку скрипт не меняется, а меняется только шелл.

Маловероятно, но это так.

До:

$ time -p ash -efu ./run >/dev/null
real 352.50
user 273.60
sys 61.92

$ time -p sh -efu ./run >/dev/null
real 266.73
user 200.24
sys 63.13

После:

$ time -p ash -efu ./run >/dev/null
real 124.47
user 54.57
sys 61.31

$ time -p sh -efu ./run >/dev/null
real 123.79
user 58.07
sys 63.10

> Речь идёт о моём gear.git, бранч tests; посмотри сам, мне сложно сказать,
> чья это бага.

Исправление:

http://git.altlinux.org/people/legion/packages/libshell.git?p=libshell.git;a=commitdiff;h=6b8e280ab0e06158f134f50d813f3d6f9017e228

Будут доступно в 0.1.1+ релизе.

-- 
Rgrds, legion



^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2009-10-07 22:22 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-09-29  9:03 [devel] bash vs. ash Stanislav Ievlev
2009-09-29  9:07 ` Andrey Rahmatullin
2009-09-29  9:17   ` Stanislav Ievlev
2009-09-29  9:21     ` Andrey Rahmatullin
2009-09-29  9:26       ` Dmitry V. Levin
2009-09-29  9:19   ` Vladislav Zavjalov
2009-09-29  9:22     ` Andrey Rahmatullin
2009-09-29 15:59       ` Alexey Rusakov
2009-09-29  9:23     ` Dmitry V. Levin
2009-09-29  9:40       ` Vladislav Zavjalov
2009-09-30 20:46   ` Vitaly Lipatov
2009-09-30 21:13     ` Vladislav Zavjalov
2009-09-30 21:27       ` Vladislav Zavjalov
2009-09-29  9:19 ` Dmitry V. Levin
2009-09-29 20:57   ` Dmitry V. Levin
2009-09-29 21:25     ` Alexey Gladkov
2009-09-29 21:50       ` Dmitry V. Levin
2009-10-07 22:22         ` Alexey Gladkov
2009-09-30  6:09       ` Stanislav Ievlev
2009-09-29  9:31 ` Vladislav Zavjalov
2009-09-29  9:40   ` Stanislav Ievlev
2009-09-29 12:34 ` Mikhail Yakshin
2009-09-29 12:52   ` Andrey Rahmatullin
2009-09-29 12:55   ` Andrey Rahmatullin
2009-09-29 15:08     ` Mikhail Yakshin
2009-09-29 15:29       ` Andrey Rahmatullin
2009-09-29 20:51 ` Michael Shigorin

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/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 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git