Prompt de bash multilinha se o caminho for maior que x caracteres?

0

Eu gostaria de dividir o prompt do bash em duas linhas, se o caminho for "muito longo", para que o comando digitado sempre se encaixe.

Meu prompt atual se parece com: ~/go/src/asd$ ls -lah , portanto, se o caminho for muito longo, os comandos terão que ser agrupados em linha o tempo todo. Assim, gostaria de torná-lo condicionalmente um prompt de duas linhas, se o caminho for muito longo. Como posso fazer isso?

    
por Filip Haglund 07.08.2018 / 12:34

1 resposta

0

Adicione ao final do seu arquivo ~/.bashrc :

path_len() {
  max_path=20
  currentPath=$(pwd)
  pathLen=${#currentPath}
  [ ${pathLen} -gt ${max_path} ] && printf "\n:"
}

PS1="\n\[3[1;31m\]\u@\h: \[3[32m\]\w\$(path_len)\[3[0m\] -> "

e ajuste a variável max_path na função path_len para o valor mágico que você chamou de "muito longo";)

    
por 07.08.2018 / 14:27

Tags