From: Sergey Vlasov <vsu@altlinux.ru>
To: devel@lists.altlinux.org
Subject: Re: [devel] bash4
Date: Fri, 13 Aug 2010 22:30:16 +0400
Message-ID: <20100813183016.GA6764@atlas.home> (raw)
In-Reply-To: <20100813154321.GA7685@imap.altlinux.org>
[-- Attachment #1: Type: text/plain, Size: 1267 bytes --]
On Fri, Aug 13, 2010 at 07:43:21PM +0400, Alexey Tourbin wrote:
> Есть ещё одна нехорошая засада - у нас /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
> $
Это не конфигурация, а документированная зависимость поведения bash от
имени, использованного при вызове, и отключение поддержки process
substitution в режиме совместимости с POSIX (документировано только в
info bash, в man в явном виде не описано):
$ bash --posix -c 'diff <(echo a) <(echo b)'
bash: -c: line 0: syntax error near unexpected token `('
bash: -c: line 0: `diff <(echo a) <(echo b)'
$ ln -s /bin/bash sh; ./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)'
$ sh -c 'set +o posix
diff <(echo a) <(echo b)'
1c1
< a
---
> b
(в последнем случае нужно именно \n в строке, через разделитель ';'
не сработает - видимо, переключение опции posix происходит только при
разборе следующей строки).
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
next prev parent reply other threads:[~2010-08-13 18:30 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
2010-08-13 18:30 ` Sergey Vlasov [this message]
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=20100813183016.GA6764@atlas.home \
--to=vsu@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