2013-03-25 151 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命令,并导致错误,你不提。可能还有其他问题,但无论如何你都应该引用你的变量。