ターミナルでファイル/フォルダのパスを変数に割り当てる方法

ターミナルでファイル/フォルダのパスを変数に割り当てる方法

次のようなパスがあるとします。

/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"

関連情報