2
請拒絕告訴我不要使用c-shell的衝動。如果發現差異失敗(c-shell)
我在寫一個c-shell腳本,我需要在兩個文件(在腳本中生成)之間運行差異。如何運行diff並返回其狀態(如果失敗,則返回1,否則返回0)?
請拒絕告訴我不要使用c-shell的衝動。如果發現差異失敗(c-shell)
我在寫一個c-shell腳本,我需要在兩個文件(在腳本中生成)之間運行差異。如何運行diff並返回其狀態(如果失敗,則返回1,否則返回0)?
在C shell中,您可以使用變量$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
這是體面的。這是否與預期不符? – 2010-10-19 07:28:02