如果路徑長於 x 個字符,多行 bash 提示?

如果路徑長於 x 個字符,多行 bash 提示?

如果路徑“太長”,我想將 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為您所說的“太長”的神奇值;)

相關內容