我想編寫一個Bash腳本,它在javac
之後執行某些操作,具體取決於是否存在編譯錯誤。是否有可能獲得javac的錯誤數量?
實際上,如果至少有一個錯誤,這些操作將不會被執行。否則,他們會。
我試圖做這樣的事情,但它沒有工作:
javac_return=`javac [...] -d ../class`
if [ javac_return -eq 0 ]
then
# operations
fi
我想編寫一個Bash腳本,它在javac
之後執行某些操作,具體取決於是否存在編譯錯誤。是否有可能獲得javac的錯誤數量?
實際上,如果至少有一個錯誤,這些操作將不會被執行。否則,他們會。
我試圖做這樣的事情,但它沒有工作:
javac_return=`javac [...] -d ../class`
if [ javac_return -eq 0 ]
then
# operations
fi
你必須使用$
一個bash變量的值。但是,狀態碼不作爲輸出返回。
你可以做,但是
if javac [...] -d ../class;
then
# next command
else
# error handling
fi
,或者用命令鏈成語
command && next_command_if_succeeded || or_if_failed
你在'status'之前忘了'$'(即:'if [$ status]')? –
好笑,那正是我的評論! – karakfa
'的javac ... || {回聲「未能編譯」>&2;出口;如果'javac'失敗,''會退出腳本並顯示錯誤。那是你要的嗎? –