68user's page 掲示板

Prev< No. 3462> Next  [最新発言に戻る] [過去ログ一覧]
No. 3462 # 68user 2003/12/11 (木) 09:36:55
>>3461 だん
ちゃんとステータスコードを取れるみたいですよ。
    % true | tee -a kekka.txt; echo $?
    0
    % false | tee -a kekka.txt; echo $?
    255

と思ったら、取れるのは csh・tcsh だけで sh (Solaris2.6)・bash は
無理みたいですね。

sh では
    % true && succeed=OK
    % echo $succeed
    % false || succeed=NG
    % echo $succeed

    % true && echo OK | tee -a kekka.txt
    % false || echo NG | tee -a kekka.txt
はいけるのに、
    % true && succeed=OK | tee -a kekka.txt
    % echo $succeed
    % false || succeed=NG | tee -a kekka.txt
    % echo $succeed
は $succeed に値が入らない。なんでだろう。
# サブシェルで実行されるから?

というわけで、Solaris2.6 の sh では
    % (true; echo $? >result) | tee -a kekka.txt
    % cat result
    % (false; echo $? >result) | tee -a kekka.txt
    % cat result
とステータスコードをファイルに保存するというかっこ悪い方法で
実現できました。より美しいやり方を募集中です。

Prev< No. 3462> Next  [最新発言に戻る] [過去ログ一覧]