Avant de cliquer, ce n'est pas la question typique "comment faire pour que mon invite bash ait une couleur". J'ai déjà personnalisé mon invite bash pour qu'elle ressemble à ceci:
[user @ host]----[$(pwd)]
$
où tout entre parenthèses est bleu clair, et tout le reste (y compris $) est noir en ajoutant ce qui suit à mon fichier ~ / .bashrc
# Turn the prompt symbol red if the user is root
if [ $(id -u) -eq 0 ];
then # you are root, make the prompt red
PS1="[\e[01;34m\u @ \h\e[00m]----[\e[01;34m$(pwd)\e[00m]\n\e[01;31m#\e[00m "
else
PS1="[\e[01;34m\u @ \h\e[00m]----[\e[01;34m$(pwd)\e[00m]\n$ "
fi
Le but est de faire en sorte que la seule chose qui change lorsque j'utilise 'sudo su' est que le $ noir se transforme en # rouge. J'ai regardé dans /etc/bash.bashrc et / etc / profile pour voir s'il n'y a qu'une ligne à commenter, mais il y a un tas de trucs sur debian_chroot que je ne comprends pas, et je ne veux pas bousiller quelque chose. Comment puis-je accomplir ce que je veux?
PS Voici à quoi je veux que l'invite ressemble en tant que root
[user @ host]----[$(pwd)]
(red)#
edit: Marquer cela comme résolu, en ajoutant le code ci-dessus à ~ / .bashrc pendant que root a atteint mon objectif. De plus, dans le code ci-dessus, $ (pwd) n'affiche que le répertoire personnel (je suppose que c'est le répertoire de travail lorsque le terminal est ouvert) et ne se met jamais à jour. Le remplacement de $ (pwd) par \ w corrige cela, mais affiche le répertoire personnel en tant que ~
, ce que j'essayais d'éviter.
\e[01;31m
, dans \[...\]
. Ceci est expliqué sous PROMPTING dans le manuel. Voir aussi mywiki.wooledge.org/BashFAQ/053
pwd
n'a pas fonctionné dans l'invite est que vous devez échapper au signe dollar, sinon $(pwd)
il sera exécuté avant que le contenu ne soit placé dans $ PS1. Vous pouvez le tester avec ceci: PS1="\$(pwd) "
.