我修改了我的〜/ app-root / data / .bash_profile,在其中设置了我的PS1环境variables,但保存更改后,注销并重新login(通过SSH),我仍然得到相同的默认提示,这是“[\ H \ W]>”。 shell正在读取我的更改,因为我可以访问在修改后的.bash_profile中定义的别名,所以我认为在读取configuration文件后必须覆盖PS1variables。
不知何故,在PS1值中使用\ W或\ w时为什么不能缩写$ HOME?
通过实验,我认为目前OpenShift软件在读取.bash_profile之后会覆盖“通常的嫌疑人”(例如PATH,PS1,HOME)是安全的。 为了定制你的提示(以及其他任何环境设置),你需要手动执行一个shell脚本(例如,只要你login)。 因此,我的解决scheme是:
export HOME="${HOME%/}" export PS1="\w > " export TMOUT=3600 unset TMOUT COL_BLUE="\x1b[34;01m" COL_RESET="\x1b[39;49;00m" echo echo -e $COL_BLUE"COMMAND TO EXECUTE FOR PROPER CONFIGURATION OF ENVIRONMENT:"$COL_RESET echo echo "source app-root/data/fixShell.sh" 默认提示不能正确缩写主目录的原因是因为HOMEvariables包含一个删除后的斜杠('/'),在提示中正常工作。 巧合的是,在所有$ OPENSHIFT_ *目录相关的variables中都有一个斜线。