amp*_*ent 7 cd-command environment-variables
操作系统 = MacOS 10.8.5
/ Darwin Kernel Version 12.5.0
。
在我的.bash_profile
我有:
export DIR_PATH=~/concrete/path
Run Code Online (Sandbox Code Playgroud)
在终端
>echo ${DIR_PATH}
~/concrete/path
Run Code Online (Sandbox Code Playgroud)
也显式 cd 作品:
>cd ~/concrete/path
>pwd
/Users/myuserid/concrete/path
Run Code Online (Sandbox Code Playgroud)
但是当我这样做时
>cd ${DIR_PATH}
-bash: cd: ~/concrete/path: No such file or directory
Run Code Online (Sandbox Code Playgroud)
问题是什么?
而不是将 ~ 作为您在 .bash_profile 中的家,而是提供绝对路径:
export DIR_PATH=/Users/myuserid/concrete/path
Run Code Online (Sandbox Code Playgroud)
问题是您的 bash 无法替代~
您的 bash 配置文件中的主目录。
作为使用波浪号~
或使用硬路径的替代方法,/Users/myuserid/...
我建议改用环境变量$HOME
。在大多数 Unix 中,诸如此类的变量通常由login
(参见man login
)设置,我怀疑 OSX 也会这样做。
摘抄
这应该允许系统管理员登录,即使在网络出现问题的情况下。对于值
$HOME
,$USER
,$SHELL
,$PATH
,$LOGNAME
,并$PATH
默认/usr/local/bin:/bin:/usr/bin
为普通用户,/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
如果没有其他配置则为 root。与往常一样,您也可以使用该命令
env
查看您可以使用的变量。