Gostaria de dividir meu prompt do bash em duas linhas se o caminho for "muito longo", para que o comando inserido sempre caiba.
Meu prompt atual se parece com: ~/go/src/asd$ ls -lah
, portanto, se o caminho for muito longo, os comandos terão que quebrar a linha o tempo todo. Portanto, gostaria de torná-lo condicionalmente um prompt de duas linhas, se o caminho for muito longo. Como posso fazer isso?
Responder1
Adicione ao final do seu ~/.bashrc
arquivo:
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\] -> "
e ajuste a variável max_path
em função path_len
para aquele valor mágico que você chamou de "muito longo";)