在这段代码中,我有什么问题吗?
OLD_NAME="$FILE"
NEW_FILE=`${OLD_NAME | tr ' ' '_'}`
/bin/mv "$OLD_NAME" "$NEW_FILE"
我想要的只是重命名提供的文件并用下划线替换所有空格。
我收到bad substitution
错误消息。我似乎无法重命名工作: - (
任何帮助都将不胜感激。
答案 0 :(得分:4)
您需要将OLD_NAME回显到tr:
OLD_NAME="$FILE"
NEW_FILE="$( echo "$OLD_NAME" | tr ' ' '_' )"
/bin/mv "$OLD_NAME" "$NEW_FILE"
但也许你更愿意:
NEW_FILE=${OLD_NAME// /_}
答案 1 :(得分:0)