据我所知,在我工作的共享集群中,新帐户的环境设置不包括提示设置。特别是,PS1
没有设置。然而,当用户登录新帐户时,会收到一个相当奇特的提示,其中包含用户名和当前目录的基本名称。
我想在用我喜欢的提示符替换它之前保存此提示符(例如,在环境变量中ORIGINAL_PS1
),以便我可以在需要时恢复它1。
如何从当前提示中提取提示定义?
我主要对这个问题的答案感兴趣bash
,但如果有类似的东西zsh
,请告诉我。
1我更喜欢默认提示,但对于日常使用,我更喜欢使用“ git
-aware”提示。也就是说,尽管我发现后者在 99.999% 的情况下都非常有帮助,但有时我会cd
看到一个git
非常混乱的存储库,导致提示的生成速度慢得令人无法接受。对于那些罕见的情况,我希望能够运行export PS1=$ORIGINAL_PS1
。
答案1
ORIGINAL_PS1=$PS1
会将主提示变量的值保存到新变量中。
该PS1
变量是一个未导出的 shell 变量,即它不是由子进程继承的环境变量。
在zsh
shell 中,您可能需要另外保存“正确的主提示符”,RPS1
如果使用的话。主提示符PS1
在 中调用zsh
,就像在 中一样bash
。