[sisyphus] Re: bash 2

Peter V. Saveliev =?iso-8859-1?q?peet_=CE=C1_eltel=2Enet?=
Чт Окт 17 07:21:15 MSD 2002


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



Подробная информация о списке рассылки Sisyphus