我添加了以下行/etc/environment
:
ML="$HOME/ml"
在我重新登录以使脚本生效后,运行
printenv ML
打印$HOME/ml
并运行cd $ML
打印
bash: cd: $HOME/ml: No such file or directory
设置新的系统范围路径变量并能够将其用作快捷方式目录地址的正确方法是什么?
答案1
/etc/environment
(或用户特定的—— $HOME/.pam_environment
)由 PAM 模块定义pam_env
,并依次由login
、ssh
以及类似的会话启动程序使用来为登录的用户设置启动环境。
/etc/environment
不理解任何现有的 shell(或环境)变量,因此$HOME
在您的情况下按字面意思处理,没有进行扩展,因此出现错误。
您需要在这里使用绝对路径,例如:
ML="/home/foobar/ml"