13 votes

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

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

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

que je trouve très utile. Mais il y a aussi beaucoup de choses inutiles : macbook-romeo n'est pas utile puisque je suis toujours sur mon macbook (duh). Mais encore une fois romeovs est très utile (c'est mon nom d'utilisateur).

Est-il possible de modifier ce qui est affiché ici ?

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

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

11voto

cmcculloh Points 11040

Ce site L'article d'OSX Daily contient des instructions détaillées sur la manière de procéder. En bref, vous devez modifier votre ~/.bash_profile et modifiez la variable PS1.

Vous trouverez ci-dessous une liste des variables possibles que vous pouvez faire afficher :

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

11voto

macaco Points 2948

Vous devez modifier le fichier .bashrc qui se trouve dans votre répertoire personnel. .

Ouvrez le terminal et faites ce qui suit :

  • cd ~
  • touch .bashrc
  • open .bashrc

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

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

  • Sauvegardez le fichier et fermez votre éditeur
  • Retournez au terminal et entrez la commande suivante :

    source .bashrc

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

4voto

stuffe Points 25320

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

Vous pouvez définir cette variable à la valeur que vous voulez, de façon temporaire ou plus permanente avec un script .login ou .profile selon le shell que vous utilisez.

Regardez les résultats suivants à titre d'exemple :

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 date d'il y a longtemps et est basé sur Solaris, pas sur Mac OS X, mais les principes de base 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 y \W etc. que vous pouvez utiliser, mais vous pouvez également utiliser la sortie de presque n'importe quelle commande, en utilisant les "back ticks" (guillemets simples amusants utilisés dans mon exemple de date ci-dessus). Les commandes situées à l'intérieur des back ticks sont exécutées et la sortie est substituée, ce qui vous permet d'inclure n'importe quoi, même s'il n'y a pas d'indicateur intégré, même pour des choses apparemment stupides, tout ce à quoi vous pouvez penser. Vous voulez inclure l'heure de la dernière entrée dans un fichier journal d'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.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X