|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : yx 2:5020/400 05 Apr 2002 18:35:24 To : Belousov Oleg Subject : Re: exit status (shell) -------------------------------------------------------------------------------- Belousov Oleg <strijar@urai.ru> wrote: > Вот понадобилось в конструкции вида process_a | process_b узнать сабж > обоих процессов ($? выдает код выхода последнего) > Предложите что нибудь толковое > (делать через промежуточный файл не предлагать ;) > в общем случае - в зав-сти от конкр. шелл будет или в subshell или в текущем шелл, поэтому - или сохранять, или менять конструкцию. С zsh, нп, можешь в тек. все отработать: % cat >tt #!/usr/local/bin/zsh p() { print -n "$0 $* "; return $1;} typeset -A c print -n "exec: \" " p 24 \|; c[p24]=$? | p 32 \|; c[p32]=$? | p 21; c[p21]=$? print \" for i in ${(ock)c}; do print "\"$i[1] $i[2,-1]\" return $c[$i]"; done % chmod +x tt ; ./tt exec: " p 24 | p 32 | p 21 " "p 21" return 21 "p 24" return 24 "p 32" return 32 % bye. -- Vladimir Yakovetsky --- ifmail v.2.15dev5 * Origin: Extreme Telecom (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/150686822a31c.html, оценка из 5, голосов 10
|