2017-11-08 5 views
0

私はファイルを自動ダウンロードするためのスクリプトを書いています。著者は私がスクリプトで自動化されたこれらのveryfyしたいと思いchecksums.So提供:シェルスクリプト - verfy sha256 sum

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' 

これの何が問題になっているのですか?

+4

']]'の前に空白があります。 – muru

答えて

2

コメントのとおり、]]の前にスペースがありません。

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に示されているファイルパスを前提としています

あなたの目標を達成するためのより良い方法は、使用することです。