シェル スクリプトに関連付けられた特定のアクセス許可があるかどうか、またはいくつかの変数参照が構文的に異なると見なされるかどうか疑問に思っていました。
以下の短い名前変更スクリプトを試しました。
#!/bin/bash
echo "Starting Renaming Script"
for file in ./*
do
rename=$(echo $file | sed 's/\(img_\)\([0-9]*-[0-9]*\)-\([0-9]*\)_\([0-9]*\).jpg/newyears_20\3-\2_0\4.jpg/')
mv $file $rename
done
いくつかのファイルの名前を変更するだけですが、実行したときにコマンドラインでは機能するが、シェルスクリプトでは機能しないことに気付きましたsh rename.sh
エラーが発生しました
rename.sh: syntax error at line 7: `rename=$' unexpected
変数の割り当ては、シェルとコマンド ラインで異なる方法で処理されますか?