c-shell を使うなと言いたい衝動を抑えてください。
私は C シェル スクリプトを作成しており、(スクリプトで生成された) 2 つのファイル間の差分を実行する必要があります。diff を実行してそのステータスを返すにはどうすればよいですか (失敗した場合は 1 を返し、失敗した場合は 0 を返します)。
C シェルでは、変数$status
を使用してコマンドの終了ステータスを取得できます。
% echo 'hi' > foo
% echo 'ho' > bar
% diff foo foo
% echo $status
0
% diff foo bar > /dev/null
% echo $status
1
スクリプトでは、次のようなことができます。
set f1=foo
set f2=bar
diff $f1 $f2 > /dev/null
if ($status == 0) then
echo 'no diff'
else
echo 'diff'
endif