Главная страница


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)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 exit status (shell)   Belousov Oleg   05 Apr 2002 07:18:36 
 Re: exit status (shell)   Valentin Nechayev   05 Apr 2002 09:46:07 
 Re: exit status (shell)   yx   05 Apr 2002 18:35:24 
Архивное /ru.unix.bsd/150686822a31c.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional