
保存ファイルを自動的にバックアップするbashスクリプトを作成しようとしました。
かなり遠くに来ましたが、最後の部分が混乱しています。私のコマンド:
cp -v -r "$dir_loc/$name_pattern.*" "$backup_loc"
ゲームが保存されているファイルをコピーしたいです。だから待ってSAVEGAME.0/1/2
、あなたができることを知っています。SAVEGAME.*
しかし、bashスクリプトでこれを試してみると、そのようなファイルやディレクトリは存在しないと言います。
助けが必要ですか?
編集:見つけました。 @pfnuesel ありがとう
.*
引用符の中に含めないでください。
cp -v -r "$dir_loc/$name_pattern".* "$backup_loc"
答え1
拡張しないように * を引用符で囲みます。つまり、名前がある名前を探しますSAVEGAME.*
。
答え2
あなたのアイデアは基本的に妥当なので、別の問題、誤字などがあるかもしれません。これはあなたがすべてをするときに明らかになりますecho
。たとえば、
echo "dir_loc=$dirloc"
echo "name_pattern=$name_pattern"
if [ ! -d backup_loc ] ; then
echo "backup_loc does not exist"
fi
cp -v -r "$dir_loc/$name_pattern.*" "backup_loc"
backup_loc
(この場合はあるべきだと思います$backup_loc
が、これは純粋に私の推測です)