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