Dans le terminal, modifiez le texte qui précède $

13

Dans le terminal, je peux toujours voir dans quel chemin je suis:

macbook-romeo:School romeovs$ echo "example command"

que je trouve assez utile. Pourtant, il y a aussi beaucoup de choses inutiles ici: ce macbook-romeon'est pas utile car je suis toujours sur mon macbook (duh). Là encore, romeovsc'est assez utile (c'est mon nom d'utilisateur).

Y a-t-il un wan pour éditer ce qui est montré ici? par exemple

22:50 - School - Romeo$ echo "example"

22:50est l'heure actuelle? (Ceci n'est qu'un exemple bien sûr, je n'aurai pas besoin de temps, j'utiliserais comme le texte un peu plus minimaliste).

romeovs
la source

Réponses:

11

Cet article OSX Daily contient des instructions détaillées sur la façon de procéder. En bref, vous devez modifier votre ~/.bash_profilefichier et modifier la variable PS1.

Voici une liste des variables possibles que vous pouvez avoir affichées:

  • \ d - Date actuelle
  • \ t - Heure actuelle
  • \ h - Nom d'hôte
  • # - Numéro de commande
  • \ u - Nom d'utilisateur
  • \ W - Répertoire de travail actuel (ex: Bureau /)
  • \ w - Répertoire de travail actuel, chemin complet (par exemple: / Users / Admin / Desktop)
BinaryMisfit
la source
11

Vous devez modifier le fichier .bashrc trouvé dans votre répertoire personnel .

Ouvrez le terminal et procédez comme suit:

  • cd ~
  • touch .bashrc
  • open .bashrc

Ajoutez la ligne suivante à la fin de votre fichier .bashrc

export PS1 = '\ t - \ W - \ u \ $'

  • Enregistrez le fichier et fermez votre éditeur
  • Revenez au terminal et entrez la commande suivante:

    source .bashrc

Boom! Vous devriez maintenant avoir l'invite souhaitée! (Si l'invite souhaitée était votre exemple donné)

macaco
la source
Quand j'ai fait cela, j'ai obtenu ce qui suit MBP-15:~ Daniel$ source .bashrc -bash: export: = ': pas un identifiant valide -bash: export:\t - \W - \u$ ': not a valid identifier MBP-15:~ Daniel$
Daniel Compton
@DanielCompton Merci de l'avoir signalé, j'ai mis à jour ma réponse pour que cela fonctionne. :)
macaco
4

Ceci est contrôlé par la variable shell $ PS1

Vous pouvez définir cette variable sur ce que vous voulez, temporairement ou de façon permanente avec un script .login ou .profile selon le shell que vous utilisez.

Jetez un oeil à la sortie suivante pour des exemples:

Last login: Fri Oct 21 21:59:28 on ttys000

Dans-MacBook-Air:~ stuffe$ echo $PS1

\h:\W \u\$

Dans-MacBook-Air:~ stuffe$ PS1="Hello World $"

Hello World $PS1=`date`

Fri 21 Oct 2011 22:03:23 BSTsleep 60

Fri 21 Oct 2011 22:03:24 BSTPS1="`date +%H:%M` $"

22:04 $PS1="\h:\W \u\$"

Dans-MacBook-Air:~ stuffe$

Les possibilités sont infinies. Il y a aussi quelque chose que vous pouvez faire avec la PS2, mais je pense que cela ne prend effet que si vous êtes root - les détails sont flous, mon Unix est il y a longtemps et basé sur Solaris, pas sur Mac OS X, mais les fondamentaux sont les mêmes.

Informations supplémentaires: comme suggéré dans d'autres réponses, il existe des indicateurs intégrés tels que \ h et \ W, etc., mais vous pouvez également utiliser la sortie de presque toutes les commandes, en utilisant les "ticks arrière" (guillemets simples amusants). utilisé dans mon exemple de date ci-dessus). Les commandes à l'intérieur des ticks arrière sont exécutées et la sortie est substituée, vous permettant d'inclure n'importe quoi, même s'il n'y a pas d'indicateur intégré, même pour des choses apparemment stupides, quoi que vous puissiez penser. Vous souhaitez inclure l'heure de la dernière entrée dans un fichier journal des erreurs? Utilisez quelque chose comme:

PS1="`tail -1 $LOGFILE | awk '{print $1}'` $ "

(lire la dernière ligne du fichier référencé par $ LOGFILE, et imprimer la 1ère colonne en supposant un délimiteur de champ par défaut) etc etc. Si vous pouvez l'exécuter, vous pouvez l'inclure.

stuffe
la source