Mehrzeilige Bash-Eingabeaufforderung, wenn der Pfad länger als x Zeichen ist?

Mehrzeilige Bash-Eingabeaufforderung, wenn der Pfad länger als x Zeichen ist?

Ich möchte meinen Bash-Prompt bei "zu langen" Pfaden auf zwei Zeilen aufteilen, damit der eingegebene Befehl immer passt.

Meine aktuelle Eingabeaufforderung sieht folgendermaßen aus: ~/go/src/asd$ ls -lahWenn der Pfad also zu lang ist, müssen die Befehle ständig umgebrochen werden. Daher möchte ich sie bedingt in eine zweizeilige Eingabeaufforderung umwandeln, wenn der Pfad zu lang ist. Wie kann ich das tun?

Antwort1

Fügen Sie am Ende Ihrer ~/.bashrcDatei hinzu:

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\] -> "

und passe die Variable max_pathin der Funktion path_lenan den magischen Wert an, den du „zu lang“ genannt hast ;)

verwandte Informationen