【问题标题】:Set environment variable with space in Linux在Linux中使用空格设置环境变量
【发布时间】:2011-12-06 03:24:51
【问题描述】:

我想设置一个有空格的环境变量。 它是文件夹的路径,文件夹名称为: /home/mehrabib/我的视频

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

export $VIDEO=/home/mehrabib/my\ video

并运行以下命令:

echo $VIDEO
cd $VIDEO

结果是:

/home/mehrabib/my video
/home/mehrabib/my :no such file or directory

我改成

export $VIDEO=/home/mehrabib/my\\\ video

并运行以下命令:

echo $VIDEO
cd $VIDEO

结果是:

/home/mehrabib/my\ video
/home/mehrabib/my\ :no such file or directory

我该怎么办?

【问题讨论】:

  • 用引号括起来,比如VAR="/home/mehrabib/my video"

标签: linux environment-variables


【解决方案1】:

你应该这样做

export VIDEO="/home/mehrabib/my video"

总结 Dan 的 cmets 也可以

cd "$VIDEO"

这将扩展为

cd "/home/mehrabib/my video"

再次。

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

【讨论】:

  • cd进入目录时需要$cd "VIDEO" 将不起作用。
【解决方案2】:

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

VIDEO="/home/mehrabib/m*o"

【讨论】:

  • ...除非您有另一个以“m”开头并以“o”结尾的目录;像“单声道”:)
  • 我在 mac OSX 上遇到了这个问题,对我来说,引号不起作用,而是 * 符号起作用。
【解决方案3】:

尝试引用VIDEOcd "$VIDEO"

【讨论】:

  • export VIDEO="/home/mehrabib/my video"做同样的事情
猜你喜欢
  • 2015-02-14
  • 1970-01-01
  • 1970-01-01
  • 2016-03-25
  • 1970-01-01
  • 1970-01-01
  • 2015-08-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多