Le fichier .bashrc ajoute quelques dizaines d'espaces à l'invite

1

Je me suis un fichier .bashrc sur le net. Je l'ai vérifié à l'avance, je n'ai rien détecté de mal.

Ce qui est étrange à ce sujet, c’est que plusieurs espaces sont ajoutés à la ligne de commande du terminal.

Capture d'écran:

alt text Ces espaces ne sont pas mis là par moi.

Le fichier peut être trouvé ici: http://tldp.org/LDP/abs/html/sample-bashrc.html

KdgDev
la source
Eh bien, montrez-nous votre $ PROMPT
akira
@akira: variable non liée
KdgDev

Réponses:

1

Lorsque l'invite contient des caractères non imprimables, ils doivent être entourés de \[…\]. Sinon, bash compte ces caractères dans la largeur de l'invite.

Les paramètres d'invite manquent plusieurs instances de \[…\]. Voici ceux que j'ai trouvés après un rapide coup d'œil:

function fastprompt()
{
    unset PROMPT_COMMAND
    case $TERM in
        *term | rxvt )
            PS1="\[${HILIT}\][\h]\[$NC\] \W > \[\033]0;\${TERM} [\u@\h] \w\007\]" ;;
        linux )
            PS1="\[${HILIT}\][\h]\[$NC\] \W > " ;;
        *)
            PS1="[\h] \W > " ;;
    esac
}

function powerprompt()
{

    PROMPT_COMMAND=_powerprompt
    case $TERM in
        *term | rxvt  )
            PS1="\[${HILIT}\][\A - \$LOAD]\[$NC\]\n[\u@\h \#] \W > \
                 \[\033]0;\${TERM} [\u@\h] \w\007\]" ;;
        linux )
            PS1="\[${HILIT}\][\A - \$LOAD]\[$NC\]\n[\u@\h \#] \W > " ;;
        * )
            PS1="[\A - \$LOAD]\n[\u@\h \#] \W > " ;;
    esac
}
Gilles
la source
2

Regardez la fonction powerprompt.

Si vous l'avez copié et collé dans votre .bashrc, vous pouvez avoir des espaces au début des lignes se terminant par \ (barre oblique inverse).

(Pouvez-vous poster votre vrai .bashrc quelque part à la place)? Ou essayez: echo \"$PS1\"

( MODIFIER: Bien sûr que je veux dire "au début des lignes Suivant les lignes se terminant par \.)

MattBianco
la source
1

Essayez de prendre le code qui se trouve dans le

#-------------------------------------------------------------
# Shell Prompt
#-------------------------------------------------------------

section de la .bashrc fichier. Cela semble être la zone qui contrôle l'apparence de l'invite.

À quoi ressemble votre invite maintenant? Si vous ne remarquez pas de changement, veillez à ouvrir une nouvelle fenêtre de terminal.

Au-delà de .bashrc fichier dans votre répertoire personnel, il existe des configurations système dans le /etc/ dossier. Ils se trouvent généralement dans /etc/bashrc ou /etc/bash_profile (notez qu'ils ne sont pas cachés, pas de préfixe . ) en fonction de la saveur de Linux que vous utilisez.

Aussi - avez-vous d'autres .bash_profile ou .profile comme des fichiers de votre répertoire personnel qui pourraient également agir pour configurer l’invite?

dtlussier
la source