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
詳しくはこちらをご覧ください。