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


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
}

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 \.)


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?

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.