设置具有空间linux的环境变量

bab*_*ak6 38 linux environment-variables

我想设置一个包含空格的环境变量.它是文件夹的路径,文件夹名称是:/ home/mehrabib/my video

我编辑.bashrc并添加以下行:

export $VIDEO=/home/mehrabib/my\ video
Run Code Online (Sandbox Code Playgroud)

并运行以下命令:

echo $VIDEO
cd $VIDEO
Run Code Online (Sandbox Code Playgroud)

结果是:

/home/mehrabib/my video
/home/mehrabib/my :no such file or directory
Run Code Online (Sandbox Code Playgroud)

我改成了

export $VIDEO=/home/mehrabib/my\\\ video
Run Code Online (Sandbox Code Playgroud)

并运行以下命令:

echo $VIDEO
cd $VIDEO
Run Code Online (Sandbox Code Playgroud)

结果是:

/home/mehrabib/my\ video
/home/mehrabib/my\ :no such file or directory
Run Code Online (Sandbox Code Playgroud)

我该怎么办?

Nod*_*ody 38

你应该做

export VIDEO="/home/mehrabib/my video"
Run Code Online (Sandbox Code Playgroud)

并总结丹的评论

cd "$VIDEO"
Run Code Online (Sandbox Code Playgroud)

这将扩展到

cd "/home/mehrabib/my video"
Run Code Online (Sandbox Code Playgroud)

再次.

就个人而言,我更喜欢${VIDEO}语法.

  • 当`cd`进入目录时需要`$`.`cd"VIDEO"`不起作用. (3认同)

小智 9

您也可以替换特殊字符 - 使用*作为通配符来替换空格.

VIDEO = "/家/ mehrabib/M*o" 的

  • 我在mac OSX上面对这个问题,对我来说引号不起作用,而*符号起作用了. (3认同)