Lorsque vous utilisez la ligne de commande, elle est souvent très encombrée. Par exemple, il n'est pas pratique d'examiner les commandes passées et leurs sorties.
Je voudrais avoir une nouvelle ligne ajoutée à chaque fois avant que l'invite de commande ne s'affiche. Ainsi:
<clutter>
<blank line>
name@machine:~$
J'utilise le shell bash. Comment cela peut il etre accompli?
bash
command-line
Slothworks
la source
la source
Réponses:
Une façon d'y parvenir consiste à modifier le
.bashrc
fichier. Placez simplement ce qui suit à la fin du.bashrc
fichier.Pour expliquer comment cela fonctionne,
PS1
la variable contenant ce qui doit être affiché comme invite. Tout cela veut dire "est misPS1
au contenu précédent dePS1
, avec un caractère de nouvelle ligne ajouté". Le.bashrc
placer dans la plupart des distributions fait simplement que bash l'exécute chaque fois que vous ouvrez un shell interactif (mais pas un shell de connexion - voir Différence entre le shell de connexion et le shell sans connexion? ).la source
PS1="\n$PS1"
dans un terminal a un effet instantané :)clear
(ou appuyéCtrl+l
) la première ligne affichée est une ligne vide. Pour certains, cela peut être un petit détail, mais je préférerais de beaucoup que la première ligne soit l'invite.Vous pouvez utiliser PROMPT_COMMAND :
ou:
la source
PROMPT_COMMAND="printf '\n';$PROMPT_COMMAND"
? Dans sa forme actuelle, il ne semblait rien faire quand je l'ai placé dans le.bashrc
dossier.printf
etecho
sont très légers, bien sûr, mais cela n'a toujours pas de sens d'utiliserPROMPT_COMMAND
quandPS1
fera le travail.Alternative: laissez une ligne à l'
PS1=
invite de votre.bashrc
. Voici littéralement comment j'installe.bashrc
sur chaque machine Linux que j'ai:Comme vous le voyez dans mon exemple ci-dessus, le nom d'utilisateur est codé en dur dans l'invite. Vous pouvez bien sûr utiliser des séquences d'échappement fournies par bash ou un autre shell (par exemple ksh ), mais une option un peu plus neutre consisterait à utiliser la substitution de paramètres avec des commandes telles que
whoami
(signaler votre nom d'utilisateur) ethostname
(évidemment, signaler le nom d'hôte). Par exemple:Pour des trucs plus amusants avec l'invite,,
.bashrc
et les extensions de paramètres, consultez mes réponses ici:Comment vérifier l'état de la batterie à l'aide du terminal?
Comment puis-je faire en sorte que mes terminaux / coques aient des designs personnalisés? et
Comment afficher une horloge en cours d'exécution dans le terminal avant l'invite de commande?
la source
$(whoami)
au lieu deusernamehardcoded
\u
et\h
pour votre nom d' utilisateur et votre nom d'hôte. Vous pouvez voir plus de caractères spéciaux (par exemple l'heure actuelle dans différents formats) ici