所以我發現bash不處理異常(沒有try/catch)。 對於我的腳本,我想知道一個命令是否成功。有人可以在bash中解釋這個try/catch選擇嗎?
這是我的代碼,現在部分:
command = "scp -p$port $user:[email protected]$host:$from $to"
$command 2>/dev/null
if (($? == 0)); then
echo 'command was successful'
else
echo 'damn, there was an error'
fi
我不明白的事情是:
- 3行,爲什麼我必須把
2
背後的$command
? - 第5行,這個
$
究竟是什麼?
如果你打算做的bash腳本,谷歌「SH教程」或「慶典教程」,或更硬核approacb'男人bash'。這些都是非常基本的細節,並且還有更多這樣的小細節,而不是你可以寫出的SO問題.. – hyde 2013-02-19 18:40:53
'if((...))的用途是什麼?那麼......'?是'cmd;如果[$? == 0] ...'根本不同? – blong 2014-04-14 12:56:52