如果路徑“太長”,我想將 bash 提示字元分成兩行,以便輸入的命令始終適合。
我目前的提示符號類似於:~/go/src/asd$ ls -lah
,因此如果路徑太長,命令必須始終換行。因此,如果路徑太長,我想有條件地使其成為兩行提示。我怎樣才能做到這一點?
答案1
新增到文件末尾~/.bashrc
:
path_len() {
max_path=20
currentPath=$(pwd)
pathLen=${#currentPath}
[ ${pathLen} -gt ${max_path} ] && printf "\n:"
}
PS1="\n\[\033[1;31m\]\u@\h: \[\033[32m\]\w\$(path_len)\[\033[0m\] -> "
並將max_path
函數中的變數調整path_len
為您所說的“太長”的神奇值;)