* [sisyphus] bash 2 @ 2002-10-15 19:04 at 2002-10-17 1:03 ` [sisyphus] " at 0 siblings, 1 reply; 7+ messages in thread From: at @ 2002-10-15 19:04 UTC (permalink / raw) To: sisyphus $ echo 'echo 1 2 3 | P=$(cat); echo $P' | /bin/sh -xs + echo 1 2 3 ++ cat + P=1 2 3 + echo $ ? ^ permalink raw reply [flat|nested] 7+ messages in thread
* [sisyphus] Re: bash 2 2002-10-15 19:04 [sisyphus] bash 2 at @ 2002-10-17 1:03 ` at 2002-10-17 1:16 ` Serge Pavlovsky 0 siblings, 1 reply; 7+ messages in thread From: at @ 2002-10-17 1:03 UTC (permalink / raw) To: sisyphus On Tue, Oct 15, 2002 at 11:04:09PM +0400, at@homestead.turbinal.org wrote: > > $ echo 'echo 1 2 3 | P=$(cat); echo $P' | /bin/sh -xs > + echo 1 2 3 > ++ cat > + P=1 2 3 > + echo Не работает и так: $ echo 'echo 1 2 3 | export P=$(cat); echo $P' | /bin/sh -xs Вообще никак не работает. Это тоже баг или я "не в курсе"? ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [sisyphus] Re: bash 2 2002-10-17 1:03 ` [sisyphus] " at @ 2002-10-17 1:16 ` Serge Pavlovsky 2002-10-17 2:10 ` at 0 siblings, 1 reply; 7+ messages in thread From: Serge Pavlovsky @ 2002-10-17 1:16 UTC (permalink / raw) To: Sisyphus В Чтв, 17.10.2002, в 04:03, at@turbinal.org написал: > On Tue, Oct 15, 2002 at 11:04:09PM +0400, at@homestead.turbinal.org wrote: > > > > $ echo 'echo 1 2 3 | P=$(cat); echo $P' | /bin/sh -xs > > + echo 1 2 3 > > ++ cat > > + P=1 2 3 > > + echo > > Не работает и так: > > $ echo 'echo 1 2 3 | export P=$(cat); echo $P' | /bin/sh -xs echo 'P=$(echo 1 2 3|cat); echo $P' | /bin/sh -xs но зачем ? :) ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [sisyphus] Re: bash 2 2002-10-17 1:16 ` Serge Pavlovsky @ 2002-10-17 2:10 ` at 2002-10-17 2:44 ` Serge Pavlovsky 2002-10-17 3:21 ` Peter V. Saveliev 0 siblings, 2 replies; 7+ messages in thread From: at @ 2002-10-17 2:10 UTC (permalink / raw) To: sisyphus On Thu, Oct 17, 2002 at 04:16:38AM +0300, Serge Pavlovsky wrote: > > Не работает и так: > > > > $ echo 'echo 1 2 3 | export P=$(cat); echo $P' | /bin/sh -xs > > echo 'P=$(echo 1 2 3|cat); echo $P' | /bin/sh -xs > > но зачем ? :) Зачем -- это плохой вопрос. Сложные ошибки нужно сводить к простым, чтобы глюк проявлялся максимально эффективно. Хороший вопрос -- должно ли это в принципе работать или нет. Ибо существуют такие вещи, как LALR context-free grammar. Похоже, что в данном случае они отсутствуют. Либо я не в курсе. Но хочется, чтобы работало. Увы, мы имеем дело с глюкавым софтом. Интереснее всего это проявляется в zsh: $ echo 123 | P=$(cat) cat: -: Input/output error $ Зачем зишелл отыскал дэш там, где его нет, и почему, к тому же, не смог правильно открыть пайп, я не понимаю. ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [sisyphus] Re: bash 2 2002-10-17 2:10 ` at @ 2002-10-17 2:44 ` Serge Pavlovsky 2002-10-17 5:01 ` at 2002-10-17 3:21 ` Peter V. Saveliev 1 sibling, 1 reply; 7+ messages in thread From: Serge Pavlovsky @ 2002-10-17 2:44 UTC (permalink / raw) To: Sisyphus В Чтв, 17.10.2002, в 05:10, at@turbinal.org написал: > On Thu, Oct 17, 2002 at 04:16:38AM +0300, Serge Pavlovsky wrote: > > > Не работает и так: > > > > > > $ echo 'echo 1 2 3 | export P=$(cat); echo $P' | /bin/sh -xs > > > > echo 'P=$(echo 1 2 3|cat); echo $P' | /bin/sh -xs > > > > но зачем ? :) > > Зачем -- это плохой вопрос. Сложные ошибки нужно сводить к простым, > чтобы глюк проявлялся максимально эффективно. Хороший вопрос -- должно > ли это в принципе работать или нет. Ибо существуют такие вещи, как LALR > context-free grammar. Похоже, что в данном случае они отсутствуют. Либо > я не в курсе. Но хочется, чтобы работало. очевидно, что перенаправление влияет только на команду, а не на подстановку переменных. > > Увы, мы имеем дело с глюкавым софтом. Интереснее всего это проявляется в > zsh: > > $ echo 123 | P=$(cat) > cat: -: Input/output error > $ > > Зачем зишелл отыскал дэш там, где его нет, и почему, к тому же, не смог > правильно открыть пайп, я не понимаю. насчет zsh ничего не скажу. в нем черт ногу сломит :) ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [sisyphus] Re: bash 2 2002-10-17 2:44 ` Serge Pavlovsky @ 2002-10-17 5:01 ` at 0 siblings, 0 replies; 7+ messages in thread From: at @ 2002-10-17 5:01 UTC (permalink / raw) To: Sisyphus On Thu, Oct 17, 2002 at 05:44:35AM +0300, Serge Pavlovsky wrote: > очевидно, что перенаправление влияет только на команду, а не на > подстановку переменных. Слово "влияет" недостаточно хорошо описывает суть процесса. Я внимательнее прочитал bash(1). В частности, там сказано: Each command in a pipeline is executed as a separate process (i.e., in a subshell). Значит, command1 | command2 эквивалентно (command1) | (command2) Увы, экспорт переменных из дочернего процесса невозможен. Значит, никакого глюка нет. Извиняюсь. ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [sisyphus] Re: bash 2 2002-10-17 2:10 ` at 2002-10-17 2:44 ` Serge Pavlovsky @ 2002-10-17 3:21 ` Peter V. Saveliev 1 sibling, 0 replies; 7+ messages in thread From: Peter V. Saveliev @ 2002-10-17 3:21 UTC (permalink / raw) To: sisyphus On Thu, 17 Oct 2002 06:10:51 +0400 at@turbinal.org wrote: <skip /> > Увы, мы имеем дело с глюкавым софтом. Интереснее всего это проявляется в > zsh: > > $ echo 123 | P=$(cat) > cat: -: Input/output error > $ > > Зачем зишелл отыскал дэш там, где его нет, и почему, к тому же, не смог > правильно открыть пайп, я не понимаю. здесь: дэш = STD(IO|OUT), в силу моего разумения. А что, если не секрет, вы хотите от этой конструкции? Этого? bash: [peet@admin2 peet]$ echo 123 | (P=`cat` && echo ">$P<") >123< [peet@admin2 peet]$ echo 123 | (P=$(cat) && echo ">$P<") >123< zsh: peet@admin2 ~ $ echo 123 | (P=`cat` && echo ">$P<") >123< peet@admin2 ~ $ echo 123 | (P=$(cat) && echo ">$P<") >123< Или я не то понял? Если так, то "глюкавость софта" несколько преувеличена... Хотя и непривычно, что zsh _требует_ подшелла для такой подстановки, но мало ли - фича, на мой взгляд, причем из полезных. Если посмотрите, то в баше без подшелла только _ошибки_ не будет, а $P все равно останется [ -z ] :))) [peet@admin2 peet]$ echo 123 | P=`cat` && echo ">$P<" >< Так что по мне уж лучше ошибка, чем молчаливое недоумение. -- Sincerely, Peter V. Saveliev E-mail: peet@eltel.net Jabber: peet@jabber.ru ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2002-10-17 5:01 UTC | newest] Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2002-10-15 19:04 [sisyphus] bash 2 at 2002-10-17 1:03 ` [sisyphus] " at 2002-10-17 1:16 ` Serge Pavlovsky 2002-10-17 2:10 ` at 2002-10-17 2:44 ` Serge Pavlovsky 2002-10-17 5:01 ` at 2002-10-17 3:21 ` Peter V. Saveliev
ALT Linux Sisyphus discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/sisyphus/0 sisyphus/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 sisyphus sisyphus/ http://lore.altlinux.org/sisyphus \ sisyphus@altlinux.ru sisyphus@altlinux.org sisyphus@lists.altlinux.org sisyphus@lists.altlinux.ru sisyphus@lists.altlinux.com sisyphus@linuxteam.iplabs.ru sisyphus@list.linux-os.ru public-inbox-index sisyphus Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.sisyphus AGPL code for this site: git clone https://public-inbox.org/public-inbox.git