我正在为自动下载文件编写脚本。作者提供了校验和。所以我想在脚本中自动完成这些操作:
if ! [[ $(sha256sum -c latest-12.tar.bz2.sha256 < latest-12.tar.bz2) = 'latest-12.tar.bz2: OK']]; then
echo "Fehler im Download"
exit 1
fi
输出:
syntax error in conditional expression: unexpected token `;'
syntax error near `;'
`if ! [[ $(sha256sum -c latest-12.tar.bz2.sha256 < latest-12.tar.bz2) = 'latest-12.tar.bz2: OK']]; then'
这有什么问题?
答案 0 :(得分:3)
如评论中所述,在结束]]
之前缺少空格。
实现目标的更好方法是使用:
if ! sha256sum --quiet -c latest-12.tar.bz2.sha256; then
echo "Fehler im Download"
exit 1
fi
或只是
sha256sum --quiet -c latest-12.tar.bz2.sha256 || { echo "Fehler im Download"; exit 1; }
两个命令都假定latest-12.tar.bz2.sha256
中指示的文件路径与您运行命令的位置匹配。