Bash

如何保存和恢復預設提示(未定義 PS1 時)?

  • August 22, 2019

據我所知,在我工作的共享集群中,新帳戶的環境設置不包括提示設置。特別PS1是沒有設置。然而,當一個人登錄一個新帳戶時,會得到一個相當漂亮的提示,其中包含使用者名和目前目錄的基本名稱。

我想在ORIGINAL_PS1用我喜歡的提示替換它之前保存這個提示(例如在一個環境變數中),以便我以後可以在需要時恢復它1。

如何從目前提示中提取提示定義?

我主要對這個問題的答案感興趣bash,但如果有類似的東西zsh,請告訴我。


1我更喜歡預設提示,但對於日常使用,我更喜歡使用“ git-aware”提示。也就是說,雖然我發現後者在 99.999% 的情況下都非常有用,但偶爾我cd會使用一個git非常混亂的 repo,它會導致提示的生成變得無法接受地緩慢。對於那些罕見的情況,我希望能夠執行export PS1=$ORIGINAL_PS1.

ORIGINAL_PS1=$PS1會將主要提示變數的值保存到新變數中。

PS1變數是一個未導出的shell 變數,即它不是一個由子程序繼承的環境變數。

zshshell 中,如果使用了“正確的主要提示”,您可能還需要另外保存RPS1PS1主要提示在中呼叫zsh,就像在 中一樣bash

引用自:https://unix.stackexchange.com/questions/536840