Bash

如何在 FreeBSD 的提示中包含我的虛擬控制台 ID

  • May 11, 2020

當我在 FreeBSD 中使用虛擬控制台ALT-F<1~n>時,我希望我的 ‘zsh’、‘sh’(可能還有其他 shell)啟動腳本在提示符中包含虛擬控制台編號,如果它不是預設控制台 ‘1’。

我怎麼做?

有條件地設置PS1的值$TTY。第一個虛擬控制台是/dev/ttyv0,第二個是/dev/ttyv1,等等。

對於 zsh,在~/.zshrc. 對於 bash,在~/.bashrc.

if [[ $TTY == /dev/ttyv[1-9]* ]]; then
 PS1="[${TTY#/dev/ttyv}] $PS1"
fi

執行此操作的程式碼在 bash 和 zsh 中是相同的。如果您想在提示符中獲得更多效果(目前目錄、主機名、顏色等),格式PS1取決於 shell:zshbash都支持提示符轉義,但它們完全不同。

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