2011-08-23 140 views
1

如何在bash中寫入命令? (用於用戶測試,如果程序返回段錯誤,刪除鎖定文件。)如何在bash中寫入命令?

su -c "/usr/local/bin/test || if $? > 0 then rm -fr /var/run/test.lock " test 

回答

1
su -c "/usr/local/bin/test || if [ $? -gt 0 ]; then rm -fr /var/run/test.lock; fi" test 

su -c "/usr/local/bin/test || [ $? -gt 0 ] && rm -fr /var/run/test.lock" test 
+0

dimba是絕對正確的,並且提供了正確的解決方案。如果!/ usr/local/bin/test;那麼另一個帶'if'的可能是'su -c「;然後rm -fr /var/run/test.lock; fi」' – glglgl

4

$?在執行su命令之前擴展雙配額。

你不需要檢查$? - ||的右側部分僅在測試失敗時執行:

su -c "/usr/local/bin/test || rm -fr /var/run/test.lock " test