En regardant une vidéo, j'ai vu ce qui suit:
% more tinyUF.txt
10
4 3
3 8
6 5
Quel est ce %
signe avant more
commande?
$
signe normal en utilisant export PS1=...
où ...
est le remplacement.
En regardant une vidéo, j'ai vu ce qui suit:
% more tinyUF.txt
10
4 3
3 8
6 5
Quel est ce %
signe avant more
commande?
$
signe normal en utilisant export PS1=...
où ...
est le remplacement.
Réponses:
C'est l'invite du shell, ou plus précisément, c'est l' invite principale du shell ( il y en a plusieurs ). C'est la façon dont le shell dit " allez-y, je suis prêt à participer maintenant ".
L' %
invite est courante dans les csh
shells de type tandis que sh
-shells (comme bash
et ksh93
) utilise habituellement a $
comme invite.
L'invite se transforme généralement en #
pour l'utilisateur root, car un utilisateur suffisamment puissant devrait se souvenir de ce pouvoir en ayant une autre invite (comme le dit la norme POSIX).
L'invite principale dans les sh
shells de type est déterminée par la valeur de la variable shell PS1
.
Résumé des commentaires ci-dessous, avec des ajouts:
Le #
caractère de l'invite racine (utilisé par les deux sh
et les csh
shells) coïncide avec le caractère de commentaire de shell commun. Copier et coller une commande en tant que root rendrait la commande collée inopérante si l'invite du shell était également copiée. Notez que cela a #
été adopté comme invite racine avant que le shell ait une convention de commentaire (référence: email de Doug McIlroy ).
Les coquilles es
et rc
de Plan 9 utilisent le ;
caractère comme invite par défaut. Une conséquence de cela est que copier et coller une commande, y compris l'invite, signifie toujours que la commande collée est valide (et qu'elle sera exécutée).
Un moyen d'activer une invite personnalisée, mais toujours collable par copie, serait d'utiliser : something ;
, où something
pourrait être le répertoire actuel, le nom d'hôte ou l'heure, par exemple.
zsh
(un shell de style Bourne, mais avec beaucoup de fonctionnalités de tcsh
). Notez que les shells de type Bourne et csh-like utilisent généralement #
pour les utilisateurs de l'uid 0.
rc
shells de type similaire ;
y sont utilisés (on peut copier-coller la ligne complète et c'est un code shell valide, même idée que l' #
invite de root étant un commentaire).
#...
lignes sont des commentaires lorsqu'elles sont copiées-collées même si ce n'était pas l'intention. Je ne sais pas si c'était l'intention derrière ;
dans une rc
ou l' autre, bien que je l' observe est une conséquence pratique.
export PS1=%
??