0

2 つのファイルを比較する小さな bash スクリプトがあります。1 つが存在せず、2 つ目が存在する場合は、バックアップをメイン フォルダーにコピー/置換します。

どういうわけか、これはうまくいかないようです。誰かがこれに手を貸してくれることを願っています:

#!/bin/bash

if [ ! -f "/Folder1/$1.jpg" ] && [ -f "/BU_Folder2/$1_BU.jpg" ]; then
     cp -fp /BU_Folder2/$1_BU.jpg /Folder1/$1.jpg
     cp -fp /BU_Folder2/$1_BU.mp4 /Folder1/$1.mp4
fi
4

1 に答える 1

0

プロンプトで、次のコマンドを実行します。

$ set -- FILENAME # FILENAME is the value you think $1 is supposed to have
$ [ ! -f "/Folder1/$1.jpg" ] && [ -f "/BU_Folder2/$1_BU.jpg" ] && echo success

最後のコマンドが「成功」を出力しない場合、スクリプトにはおそらく価値が$1あると思われる価値がありません。echo $1スクリプトの先頭に追加して確認します。

「成功」と出力され、スクリプトに からのエラー出力がない場合cp、何を提案すればよいかわかりません。

于 2013-06-13T12:36:31.743 に答える