yes |
Oui |
---|---|
Linux | Externe |
Syntaxe
yes [STRING]... |
yes {--help,--version} |
Paramètres
Nom | Description |
---|---|
STRING | Ce paramètre permet d'indiquer la chaîne de caractères à afficher. |
--help | Ce paramètre permet d'afficher l'aide de cette commande et quitte immédiatement après. |
--version | Ce paramètre permet d'afficher les informations de version de cette commande et quitte immédiatement après. |
Description
Cette commande permet d'effectuer des répétitions de réponses affirmatives.
Remarques
- Utilisation simple et comportement par défaut : La commande yes répète continuellement une chaîne de caractères ou, par défaut, la lettre y. Elle est souvent utilisée pour automatiser des confirmations dans des scripts ou des installations interactives. Par exemple, yes | rm -i * évite d'avoir à confirmer chaque suppression manuellement.
- Risques liés à l'exécution infinie : yes continue son exécution indéfiniment jusqu'à ce qu'elle soit arrêtée manuellement avec Ctrl+C. Cela peut causer une utilisation excessive du processeur si elle est exécutée sans raison valable.
- Un mauvais usage dans un script peut entraîner des boucles infinies difficiles à arrêter.
- Utilisation avec des commandes nécessitant une confirmation : yes est souvent combiné avec des commandes comme rm, fsck ou apt-get pour répondre automatiquement à des questions de confirmation. Exemples :
- Personnalisation du message répété : yes permet de répéter un mot ou une phrase spécifique au lieu de "y". Exemple : yes "Je suis d'accord" affichera continuellement cette phrase à l'écran. Cela peut être utile pour tester des scripts nécessitant une entrée utilisateur répétitive.
- Usage détourné pour tester les performances du processeur : yes est parfois utilisé pour tester la charge CPU car il génère une sortie rapide et constante. Exécuter yes > /dev/null & peut simuler une forte activité du processeur. Il est utile pour tester le comportement des systèmes sous forte charge.
- Contrôle de la sortie avec head : Comme yes ne s'arrête jamais, on peut limiter sa sortie avec head. Exemple : yes "OK" | head -n 5 affichera uniquement cinq lignes "OK". Cela permet d'utiliser yes de manière contrôlée sans risque de surcharge.
- Différences entre implémentations : L'implémentation GNU de yes est très simple et présente dans la plupart des distributions Linux. Certaines versions BSD incluent des variantes légèrement différentes, mais le comportement reste globalement le même. Des alternatives comme seq ou printf peuvent parfois être utilisées pour des besoins similaires.
- Compatibilité avec les fichiers et redirections : yes peut être utilisé pour remplir un fichier avec du texte répétitif Exemple : yes "données" > fichier.txt génèrera un fichier de plusieurs gigaoctets très rapidement. Une utilisation mal contrôlée peut saturer un disque dur en quelques secondes.
yes | fsck /dev/sda1 |
force la réparation automatique d'un disque sans demander d'interaction. Cependant, certaines commandes modernes utilisent -y ou --assume-yes, rendant yes parfois superflu.
Voir également
Système d'exploitation - Linux - Références de commandes et de programmes - cc
Système d'exploitation - Linux - Références de commandes et de programmes - lex
Dernière mise à jour : Samedi, le 30 avril 2016