Bash
如何保存和恢復預設提示(未定義 PS1 時)?
據我所知,在我工作的共享集群中,新帳戶的環境設置不包括提示設置。特別
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
。