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 -lah
Wenn 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 ~/.bashrc
Datei 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_path
in der Funktion path_len
an den magischen Wert an, den du „zu lang“ genannt hast ;)