A estética disso me incomodou também. Em vez de tentar obter hostname
para retornar algo em minúsculas, simplesmente ataquei como bash
exibiu o prompt. Eu editei .bashrc
(que é específico para a instalação de janelas e, portanto, é improvável que seja reutilizado em um computador diferente) para fazer o seguinte para a variável de prompt PS1
# Annoyingly the windows hostname is UPPERCASE which really doesn't look
# good on linux. So for this machine I'm going to grab the hostname and
# hardcode it into the prompt
HN='hostname'
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[3[01;32m\]\u@${HN,,}\[3[00m\]:\[3[01;34m\]\w\[3[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\u@${HN,,}:\w\$ '
fi
unset color_prompt force_color_prompt
# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@${HN,,}: \w\a\]$PS1"
;;
*)
;;
esac
O código acima essencialmente codifica o nome em minúsculas da máquina em PS1
quando é criado usando o recurso bash 4.0
que $(A,,)
converte a string A em minúscula. Embora não seja uma solução elegante para o problema, isso faz com que o shell se pareça com um shell linux mais normal!