
假設我有以下路徑:
/home/$USER/Downloads/My Folder
我嘗試將上面給定的文件路徑分配給變量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 ,這需要替換,但'
不會發生這種情況。
第二個問題是您將如何使用該變數。在您的範例中...我假設您從命令中刪除了 cd ...但是...要使用變數...您可能還應該在其使用周圍使用 "
所以...我猜你的用途... cd "$FILE_NAME"