如何在OpenShift中永久更改命令提示符?

我修改了我的〜/ 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是:

  • 在您的$ OPENSHIFT_DATA_DIR中创build一个shell脚本(例如fixShell.sh)并进行所有更改: export HOME="${HOME%/}" export PS1="\w > " export TMOUT=3600 unset TMOUT
  • 每次打印一个提醒手动执行上面的脚本,所以改变.bash_profile回显一个丰富多彩的提醒: 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中都有一个斜线。