如何在终端中将文件/文件夹路径分配给变量

如何在终端中将文件/文件夹路径分配给变量

假设我有以下路径:

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

相关内容