73 votes

Affichage d'une nouvelle ligne sur l'invite

Je souhaite ajouter une nouvelle ligne à chaque invite. Au lieu que le curseur apparaisse sur la ligne en tant que name@machine:~$ _ ,

Je veux que ce soit sur la ligne suivante, comme ça :

name@machine:~$
_

Gracias.

95voto

Maciek Gryka Points 1807
  • Ouvrir le fichier ~/.bashrc (ou /etc/bash.bashrc si elle doit fonctionner globalement pour tous les utilisateurs).

  • Localisez la variable appelée PS1 .

  • En bref, un \n à la fin de la valeur de la PS1 variable.

19voto

Rémi B. Points 806

Je préfère utiliser un .bashrc archivo

Tout d'abord, ajoutez les lignes suivantes à votre ~/.bashrc fichier :

##
## INCLUDE CUSTOM `.bashrc` CODE
##
if [ -f ~/.bashrc_custom ]; then
    . ~/.bashrc_custom
fi

Créez le fichier personnalisé :

touch ~/.bashrc_custom`

Enfin, ouvrez-le et mettez-y les lignes suivantes :

# File: $HOME/.bashrc_custom
# THIS FILE IS A USER-CUSTOM BASHRC FILE TO KEEP CLEAN THE DEFAULT ~/.barshrc FILE.
# PUT THERE ANY CUSTOM CODE MANUALLY ADDED BY YOU

# Add a new line at the end of the command prompt
#PS1=${PS1}\\n
PS1=${PS1%?}
PS1=${PS1%?}\n'$ '

La prochaine session Shell ouverte ressemblera à ce qui suit :

user@host:~
$ <your-next-command-will-be-rendered-here>

5voto

Matthew Points 153

C'était douloureux, mais au final, en raison d'une configuration PS1 personnalisée compliquée avec des couleurs personnalisées, c'est la seule chose qui a fonctionné pour moi :

new_line() {
    printf "\n$ "
}
if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[01;31m\]$(parse_git_branch)\[\033[00m\]$(new_line)'
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w$(parse_git_branch)$(new_line)'
fi

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X