2013-03-25 254 views
1

我需要在下載zip文件後執行md5sum檢查。我的shell腳本是這樣的:命令完成後繼續執行linux shell腳本

wget $1 -O "$5.zip" 
md5pkg=md5sum $5.zip 
#perform check and other operations with md5pkg 

現在,檢查下載完成之前進行,導致一個錯誤,因爲.zip文件還沒有下載豆呢。 解決此問題的最佳方法是什麼?

在此先感謝。

+2

但是一般在bash中它一步一步地運行命令,那麼下載之前它的運行檢查總和如何? – Satish 2013-03-25 17:00:47

+1

你的第二行應該是'md5pkg = $(md5sum $ 5.zip)',但它不是問題的根源。 – chepner 2013-03-25 17:06:02

+1

你必須使用'&' – Satish 2013-03-25 17:11:19

回答

1

如果在$1的值中有一個&符號,它將被解析爲背景操作符,允許繼續執行腳本的其餘部分。引用它:

wget "$1" -O "$5.zip" 
md5pkg=$(md5sum "$5.zip") 

在這種情況下,我希望和號之後的部分是無效的shell命令,並導致錯誤,你不提。可能還有其他問題,但無論如何你都應該引用你的變量。