我想知道是否有与 shell 脚本相关联的特定权限,或者是否将某些变量引用视为语法不同。
我在下面尝试了我的简短重命名脚本:
#!/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
它所做的只是重命名一些文件,但我注意到它可以在命令行上运行,但在我运行时不能在 shell 脚本中运行sh rename.sh
我得到了错误
rename.sh: syntax error at line 7: `rename=$' unexpected
变量赋值在 shell 中的处理方式与在命令行中的处理方式不同吗?