ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Alexey Tourbin <at@altlinux.ru>
To: ALT Linux Team development discussions <devel@lists.altlinux.org>
Subject: Re: [devel] bash4
Date: Fri, 13 Aug 2010 19:43:21 +0400
Message-ID: <20100813154321.GA7685@imap.altlinux.org> (raw)
In-Reply-To: <20100813124847.GA17095@mw.office.seiros.ru>

On Fri, Aug 13, 2010 at 04:48:47PM +0400, Денис Смирнов wrote:
> DVL> Там, наверное, написана большая простыня о том, почему башизмы -- это зло.
> DVL> К сожалению, там не написано, почему мечта сделать все shell-скрипты
> DVL> portable недостижима, а получающиеся промежуточные результаты
> DVL> трудночитаемы.  Желающим помечтать могу предложить ознакомиться с
> DVL> $ info -f autoconf portable
> 
> Не вижу ничего плохого в башизмах, если скрипт явно использует /bin/bash

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

К тому же например shell functions появились только в SVR2.  То есть
такого понятия как "чистый Борн шелл" (восходящий к v7) просто нет.
А POSIX/SUSv3 шелл уже впитал в себя башизмы. :)

Кстати говорят есть какой-то POSIX:2008.
Думаю фирме альт лнукс он не по карману.

Есть ещё одна нехорошая засада - у нас /bin/sh и /bin/bash собраны
в очень разной конфигурации: у них отличается синтаксис.  Я ставил
этот вопрос ещё 6 лет назад!

$ sh -c 'diff <(echo a) <(echo b)'
sh: -c: line 0: syntax error near unexpected token `('
sh: -c: line 0: `diff <(echo a) <(echo b)'
$ bash -c 'diff <(echo a) <(echo b)'
1c1
< a
---
> b
$ 

То есть проблема не только в башизмах.  А проблема в том, что существуют
некоторые неопределенные слои башизмов, которые то ли работают, то ли не
работают, то ли хер их знает...


  reply	other threads:[~2010-08-13 15:43 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-08-09  8:40 Ildar Mulyukov
2010-08-09  9:40 ` Dmitry V. Levin
2010-08-09 10:58   ` Kirill A. Shutemov
2010-08-09 11:02     ` Michael Shigorin
2010-08-09 11:52       ` Kirill A. Shutemov
2010-08-09 11:02     ` Ildar Mulyukov
2010-08-09 11:13       ` Alexey I. Froloff
2010-08-09 11:16         ` Andrey Rahmatullin
2010-08-09 11:21           ` Ildar Mulyukov
2010-08-09 11:25             ` Alexey I. Froloff
2010-08-09 12:36           ` Alexey Gladkov
2010-08-09 12:39             ` Ildar Mulyukov
2010-08-09 12:42               ` Alexey Gladkov
2010-08-09 13:43               ` Michael Shigorin
2010-08-09 12:41             ` Andrey Rahmatullin
2010-08-09 12:56               ` Alexey Gladkov
2010-08-09 13:11               ` Alexey Gladkov
2010-08-09 13:13                 ` Andrey Rahmatullin
2010-08-09 13:21                   ` Alexey Gladkov
2010-08-09 13:29                     ` Ildar Mulyukov
2010-08-09 13:38                       ` Andrey Rahmatullin
2010-08-09 13:40                       ` Alexey Gladkov
2010-08-10 12:15                         ` Ildar Mulyukov
2010-08-10 12:25                           ` Andrey Rahmatullin
2010-08-12 21:22                             ` Michael Shigorin
2010-08-12 21:44                             ` Dmitry V. Levin
2010-08-13  3:27                               ` Andrey Rahmatullin
2010-08-13 12:48                               ` Денис Смирнов
2010-08-13 15:43                                 ` Alexey Tourbin [this message]
2010-08-13 18:30                                   ` Sergey Vlasov
2010-08-13 19:43                                     ` Alexey Tourbin
2010-08-09 13:38                     ` Alexey I. Froloff
2010-08-09 13:39                       ` Andrey Rahmatullin
2010-08-09 13:14                 ` Ildar Mulyukov
2010-08-09 13:11               ` Dmitriy Kruglikov
2010-08-09 12:47           ` Dmitry V. Levin
2010-08-16  4:14             ` Alexey Tourbin
2010-08-16 10:12               ` Dmitry V. Levin
2010-08-16 12:55                 ` Денис Смирнов
2010-08-16 13:01                   ` Alexey Gladkov
2010-08-16 13:07                     ` Денис Смирнов
2010-08-10 12:28         ` Dmitry V. Levin
2010-08-10 12:32           ` Ildar Mulyukov
2010-08-10 13:24           ` Alexey I. Froloff

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100813154321.GA7685@imap.altlinux.org \
    --to=at@altlinux.ru \
    --cc=devel@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

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