0
我使用的是使用cmp
命令檢查兩個文件是相同的返回碼。我想將這個命令粘貼到一條語句中,但它不能按預期工作。當比較兩個文件,一個文件不存在,cmp
回報2。由於2是非零的,我希望if語句,以評估爲真,但它不,我不明白爲什麼。擊:在if語句會導致意外的行爲
我想寫類似:因爲我覺得它很短,甜,更直觀
if cmp -s tickets.txt tickets_orig.txt; then
#do stuff here
fi
。這可能嗎?
我能夠利用$?
創建變通但我不懂爲什麼低於代碼評估真以上代碼將值爲false當命令返回2:
cmp -s tickets.txt tickets_orig.txt
if [ $? -ne 0 ]; then
#do stuff here
fi
「自2是非零的,我希望if語句,以評估爲真」 - '0'表示擊成功。你的'if'塊只會在文件完全相同的情況下執行。反轉條件:「如果! cmp -s tickets.txt tickets_orig.txt;然後...' – 0x5453