フォルダ内のすべてのファイルの名前を "1.png"、 "2.png"などに変更するスクリプトがありますが、時には完全に消去(または他のファイル、私は何が起こっているか分かりません)最初の10程度の画像。これは、フォルダ内に10枚以上の画像がある場合に発生するようです。私が実行しているスクリプトは以下の通りです。予期せずファイルを削除するBashスクリプト
#!/bin/bash
cd "$1"
cnt=1
for fname in *
do
if [ "$1" != '/var/www/cydia.stumpyinc.com/theme/images/browse/icons/' ]
then
mv "$fname" ${cnt}.png
cnt=$(($cnt + 1))
fi
done
EDIT
私も
mv: cannot stat `*': No such file or directory
一般に、良いデバッグのヒントは、あなたの "アクションコマンド"(この場合は 'mv'行)の前に' echo'を置くことで、実際にスクリプトを実行する代わりにスクリプトが出力するようにします。 –
mv:ディレクトリが空であるため、 '*:No such file or directory'を取得できません。あなたの名前変更スクリプトは非常に奇妙です。下でそれを行う正しい方法を確認してください。 –
私はそれが可能であるかどうかわからなかったので、おかげさまで、私はそれをデバッグし、問題が何かを知った。 '$ cnt'の先頭に先行ゼロを追加する方法を知っていますか? –