
次のようなパスがあるとします。
/home/$USER/Downloads/My Folder
上記のFile-Pathを次のように変数に割り当てようとしましたFILE_NAME
。
FILE_NAME=/home/$USER/Downloads/My Folder
$FILE_NAME
出力は次のようになりました。
bash: /home/$USER/Downloads/My :No such file or directory
この問題を解決するにはどうすればよいですか?
答え1
パスにスペース文字が含まれている場合は引用符を使用する必要があります。
FILE_NAME="/home/$USER/Downloads/My Folder"
答え2
問題は、名前に埋め込まれた空白です。この問題を解決する最も簡単な方法は、フルパス文字列を引用符で囲むことです (つまり、あなたのケースで をFILE_NAME="/home/${USER}/Downloads/My Folder"
使用する理由"
は、置換を必要とする $USER を使用しているためです。 を使用すると、'
これは発生しません。
2 番目の質問は、変数をどのように使用するかということです。あなたの例では、コマンドから cd を削除したと思いますが、変数を使用するには、その使用を " で囲む必要があります。
だから...あなたの使い方は... cd "$FILE_NAME"