我在这段代码中有什么地方做错了吗?
OLD_NAME="$FILE"
NEW_FILE=`${OLD_NAME | tr ' ' '_'}`
/bin/mv "$OLD_NAME" "$NEW_FILE"
我只想重命名提供的文件并用下划线替换所有空格。
我收到了 错误替换
错误消息。我似乎无法让重命名工作:-(
如有任何帮助,我们将不胜感激。
最佳答案
您需要将 OLD_NAME 回显到 tr:
OLD_NAME="$FILE"
NEW_FILE="$( echo "$OLD_NAME" | tr ' ' '_' )"
/bin/mv "$OLD_NAME" "$NEW_FILE"
但也许你更喜欢:
NEW_FILE=${OLD_NAME// /_}
关于linux - 无法在 Shell 脚本中重命名文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13384375/