
Ubuntu でこのコマンドを実行すると、「そのようなファイルまたはディレクトリはありません」というエラーが発生します。
/# mv mongodb-linux-x86_64-$VERSION mongodb
mv: cannot stat 'mongodb-linux-x86_64-2.6.7': No such file or directory
ファイルとディレクトリの両方が存在するにもかかわらず、
なぜか分かりますか? ありがとうございます
編集
/# ls mongodb-linux-x86_64-* mongodb
mongodb:
mongodb-linux-x86_64-2.6.2-rc0:
GNU-AGPL-3.0 README THIRD-PARTY-NOTICES bin
答え1
ファイル(ディレクトリ)名は でありmongodb-linux-x86_64-2.6.2-rc0
、 ではありませんmongodb-linux-x86_64-2.6.7
。
変数VERSION
は に展開されています2.6.7
が、ディレクトリ名に関する限り、望ましい展開は になります2.6.2-rc0
。
したがって、変数を次のように定義し、mv
-ing を実行する必要があります。
VERSION='2.6.2-rc0'
mv mongodb-linux-x86_64-"$VERSION" mongodb
または、パスを直接使用します。
mv mongodb-linux-x86_64-2.6.2-rc0 mongodb
環境変数は通常すべて大文字で表記されますが、ユーザー定義変数 (およびシェル変数) には、曖昧さを避けるためにすべて大文字を含めないでください。