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

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

我修改了 ~/app-root/data/.bash_profile,在其中添加了一行设置 PS1 环境变量的内容,但在保存更改、注销并再次登录(通过 SSH)后,我仍然得到相同的默认提示符,即“[\H \W]>”。由于我确实可以访问我在修改后的 .bash_profile 中定义的别名,因此 shell 正在读取我的更改,因此我认为在读取配置文件后必须覆盖 PS1 变量。

以某种方式相关,为什么在 PS1 值中使用 \W 或 \w 时 $HOME 没有被缩写?

答案1

通过实验,我认为可以肯定地说,目前,OpenShift 软件在读取您的 .bash_profile 后会覆盖“常见的可疑项”(例如 PATH、PS1、HOME)。为了自定义您的提示(以及任何其他环境设置),您需要手动执行 shell 脚本(例如,在您登录后立即执行)。因此,我的解决方案是:

  • 在 $OPENSHIFT_DATA_DIR 中创建一个 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"

默认提示无法正确缩写主目录的原因是 HOME 变量包含尾部斜杠(“/”),一旦删除,提示中便可正常工作。巧合的是,所有与 $OPENSHIFT_* 目录相关的变量中都有尾部斜杠。

相关内容