Pour plus d'informations sur ce sujet et d'autres sujets de configuration d'invite, tapez man bash(en supposant que bashc'est votre shell) et consultez la section "PROMPTION".
Pour rendre cette modification permanente, modifiez votre ~/.bashrcfichier pour ajouter la ligne ci-dessus.
~ / .bashrc n'est pas exécuté pour un shell de connexion. mettez à jour ~ / .bash_profile à la place. J'utilise la chaîne d'invite suivante, qui contient d'autres informations utiles, pas seulement le chemin: PS1 = '[\ e [32m] \ t [\ e [33m] \ w [\ e [31m] \! [\ e [0m] \ $ '
bobmcn
1
N'oubliez pas que normalement .profile génère .bashrc, de sorte qu'en fait, un shell de connexion est initialisé avec les mêmes éléments qu'un shell sans connexion plus ce qui est dans .profile. Si c'est le cas, mettre votre nouvelle invite dans .bashrc tue deux oiseaux avec une pierre.
1
Un shell de connexion est un shell dont le premier caractère de l'argument zéro est un - ou un commençant par l'option --login. Lorsque bash est invoqué en tant que shell de connexion interactif, ou en tant que shell non interactif avec l'option --login, il lit et exécute d'abord les commandes du fichier / etc / profile, si ce fichier existe. Après avoir lu ce fichier, il recherche ~ / .bash_profile, ~ / .bash_login et ~ / .profile, dans cet ordre, et lit et exécute les commandes à partir du premier qui existe et est lisible. L'option --noprofile peut être utilisée au démarrage du shell pour inhiber ce comportement Lorsqu'un shell interactif qui n'est pas un shell de connexion est démarré, bash lit et exécute les commandes à partir de ~ / .bashrc, si ce fichier existe.
Cela dépend donc ... je n'utilise pas le --login, je dois donc l'ajouter à ~ / .bashrc
Je ne sais pas pourquoi avoir moins de contexte est mieux que d'en avoir plus ... Le fait qu'il y ait une nouvelle ligne dans l'invite signifie que la longueur de l'invite ne devrait pas être un problème, mais essayez ceci:
/full/path/to/current/folder
$your command text here
De cette façon, vous voyez toujours votre contexte de dossier complet, mais vous obtenez toujours une ligne complète pour saisir du texte. (J'ai omis l'espace habituel après le '$' car il est coloré pour plus de clarté).
Colours are:
1. '/full/path/...' = yellow;
2. '$' (on next line) = cyan;
3. 'your command text...' = light grey.
Pour ceux qui veulent également le contexte 'user @ hostname':
Réponses:
La
PS1
variable d'environnement contrôle l'invite:Pour plus d'informations sur ce sujet et d'autres sujets de configuration d'invite, tapez
man bash
(en supposant quebash
c'est votre shell) et consultez la section "PROMPTION".Pour rendre cette modification permanente, modifiez votre
~/.bashrc
fichier pour ajouter la ligne ci-dessus.la source
Un shell de connexion est un shell dont le premier caractère de l'argument zéro est un - ou un commençant par l'option --login. Lorsque bash est invoqué en tant que shell de connexion interactif, ou en tant que shell non interactif avec l'option --login, il lit et exécute d'abord les commandes du fichier / etc / profile, si ce fichier existe. Après avoir lu ce fichier, il recherche ~ / .bash_profile, ~ / .bash_login et ~ / .profile, dans cet ordre, et lit et exécute les commandes à partir du premier qui existe et est lisible. L'option --noprofile peut être utilisée au démarrage du shell pour inhiber ce comportement Lorsqu'un shell interactif qui n'est pas un shell de connexion est démarré, bash lit et exécute les commandes à partir de ~ / .bashrc, si ce fichier existe.
Cela dépend donc ... je n'utilise pas le --login, je dois donc l'ajouter à ~ / .bashrc
la source
Je ne sais pas pourquoi avoir moins de contexte est mieux que d'en avoir plus ... Le fait qu'il y ait une nouvelle ligne dans l'invite signifie que la longueur de l'invite ne devrait pas être un problème, mais essayez ceci:
ou
Cela vous donne une invite colorée:
De cette façon, vous voyez toujours votre contexte de dossier complet, mais vous obtenez toujours une ligne complète pour saisir du texte. (J'ai omis l'espace habituel après le '$' car il est coloré pour plus de clarté).
Pour ceux qui veulent également le contexte 'user @ hostname':
ou
Cela vous donne une invite colorée:
C'est ma préférence.
(Non, il n'y a pas de fautes d'orthographe dans ce billet - Queen's English;))
la source
.bashrc n'a pas fonctionné pour moi. J'ai ajouté ceci à la fin de / etc / profile et cela a fonctionné:
J'utilise la version 2.11.2 de Cygwin (dernière version en date du 18/12/2018).
la source
Mettez ceci dans votre ~ / .bashrc. Donne une invite colorée et conserve le statut sur une seule ligne.
la source