0

現在のディレクトリ ファイルをすべて現在の作業ディレクトリに存在するバックアップディレクトリにコピーする単純なシェル スクリプトを開発しています。ifで複数の条件を渡すと、エラーが発生するようになりました。

#!/bin/bash
filename=nx.pdf
for i in *;
 do
 echo $i;
 if [ $i == backup || $i == $filename ] ; then
    echo "Found backup."
 else
 echo "Part 2"
 cp -rf $i backup
 fi
 done

エラーが発生しています

asd.sh: line 6: [: missing `]'
asd.sh: line 6: ==: command not found
Part 2
deployee.sh
asd.sh: line 6: [: missing `]'
asd.sh: line 6: ==: command not found
Part 2
4

3 に答える 3

1

"" で $i を引用する必要があります。そうしないと、空白を含むファイル名の構文エラーが発生します。

于 2012-11-02T08:17:52.357 に答える