Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
在这段代码中我做错了什么吗?
OLD_NAME="$FILE" NEW_FILE=`${OLD_NAME | tr ' ' '_'}` /bin/mv "$OLD_NAME" "$NEW_FILE"
我想要的只是重命名提供的文件并用下划线替换所有空格。我收到bad substitution错误消息。我似乎无法让重命名工作:-(
bad substitution
任何帮助,将不胜感激。
您需要将 OLD_NAME 回显到 tr 中:
OLD_NAME="$FILE" NEW_FILE="$( echo "$OLD_NAME" | tr ' ' '_' )" /bin/mv "$OLD_NAME" "$NEW_FILE"
但也许你更喜欢:
NEW_FILE=${OLD_NAME// /_}
您可以在没有管道的情况下更简单/更易读地进行替换,并tr使用以下命令:
tr
有关更多详细信息,请参见此处。