【发布时间】:2018-05-13 15:32:28
【问题描述】:
在我的 Ubuntu 16.04.4 LTS xenial 上,我想声明环境变量,其中包含我的 ~/.virtualenvs 文件夹的路径。
我想要什么:
拥有一个系统范围的环境字符串变量,我可以在我的 unix 命令中使用它,例如 cd $MYVAR 或类似的优雅用法。
我尝试了什么:
我在/etc/environment 文件中添加了以下行,然后重新启动了服务器:
$PATH_VENV="~/.virtualenvs"
问题:
当我尝试在 unix 命令中使用我新声明的变量时,这是一个输出:
cd ${PATH_VENV}
-bash: cd: ~/.virtualenvs: No such file or directory
我认为 UNIX 将~/.virtualenvs 直接解释为文件夹的名称,而不是将~ 解释为主文件夹。如何解决这个问题?有什么解决办法吗?
奇怪的提示:
我检查了我的$PATH_VENV 变量,如下所示,发现有一个额外的换行符,但我不知道为什么:
echo $PATH_VENV | od -a
0000000 ~ / . v i r t u a l e n v s nl
0000017
【问题讨论】:
-
试试
$PATH_VENV=~/.virtualenvs。没有引号 -
最近也试过了。结果与引号相同。
标签: unix path environment-variables