如何保存和恢复默认提示(当 PS1 未定义时)?

如何保存和恢复默认提示(当 PS1 未定义时)?

据我所知,在我工作的共享集群中,新帐户的环境设置不包括提示设置。特别是,PS1没有设置。然而,当用户登录新帐户时,会收到一个相当奇特的提示,其中包含用户名和当前目录的基本名称。

我想在用我喜欢的提示符替换它之前保存此提示符(例如,在环境变量中ORIGINAL_PS1),以便我可以在需要时恢复它1

如何从当前提示中提取提示定义?

我主要对这个问题的答案感兴趣bash,但如果有类似的东西zsh,请告诉我。


1我更喜欢默认提示,但对于日常使用,我更喜欢使用“ git-aware”提示。也就是说,尽管我发现后者在 99.999% 的情况下都非常有帮助,但有时我会cd看到一个git非常混乱的存储库,导致提示的生成速度慢得令人无法接受。对于那些罕见的情况,我希望能够运行export PS1=$ORIGINAL_PS1

答案1

ORIGINAL_PS1=$PS1会将主提示变量的值保存到新变量中。

PS1变量是一个未导出的 shell 变量,即它不是由子进程继承的环境变量。

zshshell 中,您可能需要另外保存“正确的主提示符”,RPS1如果使用的话。主提示符PS1在 中调用zsh,就像在 中一样bash

相关内容