J'ai suivi les instructions ici et dans le lien vers comment qui est fourni ici. Cependant, il ne semble nulle part indiquer comment je peux changer les couleurs des différentes parties, car je le règle actuellement sur:
PS1='${debian_chroot:+($debian_chroot)}[\t] \u@\h:\w\$ '
Mais le texte est toujours tout blanc, comment pourrais-je rendre les chiffres pour le temps verts, et mon nom d'utilisateur et mon nom d'ordinateur bleu clair? J'utilise Ubuntu GNOME 15.04.
Tout d’abord, ouvrez votre fichier ~/.bashrc et activez les invites de couleur:
nano ~/.bashrc
décommentez puis ligne #force_color_Prompt=yes
Ensuite, modifiez la ligne PS1 directement sous la ligne if [ "$color_Prompt" = yes ]; then
à:
PS1='${debian_chroot:+($debian_chroot)}\[\033[00;32m\][\t] \[\033[01;34m\]\u@\h:\w\$ '
Comme vous pouvez le constater, 01: 34m est bleu clair et 00: 32m est vert. Vert clair serait 01: 32m au lieu de 00: 32m.
Presse CTRL + o puis appuyez sur ENTER pour sauvegarder le fichier. presse CTRL + x sortir nano.
Ensuite, exécutez la commande suivante pour appliquer les modifications en "recherchant" votre fichier bashrc:
. ~/.bashrc
Les modifications doivent maintenant s’appliquer à chaque nouveau terminal ouvert sous votre utilisateur.
En voici un sur lequel un de mes amis et moi avons travaillé. Il affiche une ligne grisée en pointillé lorsque vous êtes un utilisateur normal. Si vous exécutez des commandes en tant qu'utilisateur root, il devient rouge pour la ligne en pointillé et le texte.
Dans votre fichier .bashrc
, ajoutez le code suivant au bas du fichier:
if [ -f "$HOME/.bash_ps1" ]; then
. "$HOME/.bash_ps1"
fi
EDIT: Ajoutez-le également au bas du /root/.bashrc
. Ceci est valable si vous passez à l'utilisateur root
en émettant la commande Sudo su -
. (le reste de la modification est poursuivi sous le code)
Puis copiez et collez le reste de ce code dans un nouveau fichier appelé /home/<username>/.bash_ps1
# Fill with minuses
# (this is recalculated every time the Prompt is shown in function Prompt_command):
fill="--- "
reset_style='\[\033[00m\]'
# determine if root or not
a=$(id|awk -F\( '{print $1}')
if [ "$a" = "uid=0" ]
then
# for root
status_style=$reset_style'\[\033[1;31m\]' # bold red; use 0;37m for lighter color
command_style=$reset_style'\[\033[1;31m\]' # bold red
else
# for other users
status_style=$reset_style'\[\033[0;90m\]' # gray color; use 0;37m for lighter color
command_style=$reset_style'\[\033[1;29m\]' # bold black
fi
Prompt_style=$reset_style
# Prompt variable:
PS1="$status_style"'$fill $(date +"%m/%d/%y ")\t\n'"$Prompt_style"'${debian_chroot:+($debian_chroot)}\u@\h:\w\$'"$command_style "
# Reset color for command output
# (this one is invoked every time before a command is executed):
trap 'echo -ne "\033[00m"' DEBUG
function Prompt_command {
# create a $fill of all screen width minus the time string and a space:
let fillsize=${COLUMNS}-18
fill=""
while [ "$fillsize" -gt "0" ]
do
fill="-${fill}" # fill with underscores to work on
let fillsize=${fillsize}-1
done
# If this is an xterm set the title to user@Host:dir
case "$TERM" in
xterm*|rxvt*)
bname=$(basename "${PWD/$HOME/~}")
echo -ne "\033]0;${bname}: ${USER}@${HOSTNAME}: ${PWD/$HOME/~}\007"
;;
*)
;;
esac
}
Prompt_COMMAND=Prompt_command
EDIT (Part 2): Créez maintenant un lien vers le .bash_ps1
dans votre dossier /root
Sudo -s
cd /root
ln -s /home/<username>/.bash_ps1
Vous pouvez modifier n'importe lequel des codes ci-dessus pour répondre à vos besoins. C’est celui que j’utilise réellement au travail pour que je sache si je tape des commandes en tant qu’utilisateur root
qui pourrait être potentiellement dangereux. De plus, l'horodatage apparaît juste au-dessus de chaque ligne que vous tapez, ce qui facilite un peu la tâche si vous faites défiler l'écran vers le bas pour voir quand vous avez tapé cette commande.
Espérons que cela aide!