Stdin: 1
Commençons par comprendre à travers la pratique sur le flux stdin en utilisant pendant que les boucles. Tout d'abord, nous aurons un exemple de base de la stdin comme lu. Exécuter l'instruction ci-dessous. L'instruction exigerait une entrée du clavier. En cela, via Stdin, l'outil de lecture obtient le texte.
$ lire
Exemple 01:
Créer un nouveau fichier, «Entrée.sh ”et ajoutez-y le script annexé. Nous avons utilisé la boucle while pour lire le texte par un utilisateur du terminal et l'imprimer. Le script est nommé avec un «/ dev / stdin» comme le tout premier paramètre à 1 $, dans lequel l'approche correspondante lit l'entrée régulière de la console. Enregistrez ce fichier et fermez-le.
Ouvrez le terminal et exécutez le fichier nouvellement mis à jour «Entrée.sh »comme:
Entrée de bases.shot
Lorsque vous exécutez le fichier à l'aide de la commande bash, vous serez sauté à la ligne suivante pour écrire quelque chose. Comme vous pouvez le voir ci-dessous, l'utilisateur a écrit un texte en une ligne et appuyez sur Entrée.
Le texte écrit par un utilisateur sera lu en premier et imprimé sur la ligne suivante comme ci-dessous.
Vous pouvez même fournir un espace entre votre entrée de texte comme ci-dessous.
Exemple 02:
Maintenant, nous allons lire le texte à partir du fichier. Mettez à jour le même fichier «Entrée.sh »en fournissant le nom de fichier« script.sh ”comme le tout premier paramètre à 1 $. L'approche correspondante se lit sur ce document.
Nous avons les informations texte suivantes dans le fichier «Script.sh ”comme ci-dessous. Vérifions comment cela fonctionne.
Exécuter le fichier «Entrée.sh »en utilisant la commande bash. Vous verrez que le flux de lecture se lit dans le fichier fourni "Script.sh ”et imprimez-le dans le terminal comme ci-dessous.
Entrée de bases.shot
Exemple 03:
Ayons un exemple pour lire chaque répertoire un par un en utilisant stdin. Vous devez considérer le paramètre -u avec la lecture. En cela, «-U 1» implique «Lire de Stdin."Dans ce code," Line "représente le nom de fichier, et l'incrément" I ++ "est utilisé pour passer au répertoire ou fichier suivant. Il comptera également le numéro de fichier qui a également été lu. Exécutons ce code pour vérifier ce qui se passe ensuite.
Exécuter le fichier bash «Entrée.sh ”. Cela vous invitera à entrer un texte pour passer au fichier suivant. Ici, «Comm» représente le nom du premier fichier.
Entrée de bases.shot
Tout en poursuivant cela, vous pouvez voir que nous avons une liste de fichiers que nous avons parcourus.
Exemple 04:
Dans cet exemple, nous avons deux fichiers connexes à lire. Attribuez les privilèges requis aux deux fichiers à l'aide de la commande «chmod» comme ci-dessous.
Nom de fichier Chmod U + x
Écrivez le code ci-dessous dans le fichier «Entrée.sh ”. Jusqu'à ce que la boucle «while» obtienne les lignes, elle imprimera ces lignes. Tandis que la «ligne» fait référence à un autre fichier «script.sh ”.
Nous avons le code ci-dessous dans le fichier «Script.sh ”. Pendant que la boucle fonctionne, elle imprime le numéro de ligne.
Exécuter les deux fichiers à l'aide de ""./ ”Au début du nom de fichier et à se séparer en utilisant« »|» dans la coquille. Vous verrez qu'il imprime les numéros de ligne tout en imprimant le texte à partir des fichiers également. C'est une méthode très simple pour corréler deux fichiers ou leur contenu.
$ ./scénario.sh | ./saisir.shot
Exemple 05:
Terminons ce sujet en ayant cet exemple simple et efficace. Nous avons un fichier «Script.sh ”avec le contenu ci-dessous ou les noms des personnes. Nous lisons ces noms un par un dans un autre fichier.
Mettez à jour le fichier «Entrée.SH: avec le script ci-dessous. Dans ce script, nous avons une boucle de temps pour élaborer le travail «stdin». Nous utilisons la lecture «read -r» en lisant un autre fichier comme autre que l'entrée standard. D'un autre côté, en utilisant «-u» comme spécifique au bash, la sortie standard de l'utilisateur dans le terminal. Ici, le «nom» est le texte ou le contenu du fichier «Script.sh ”. L'option «-p» est utilisée pour «lire». L'instruction de lecture lira le «nom» à partir d'un autre fichier et demandera si vous souhaitez le supprimer ou non. Le mot-clé «IP» est utilisé pour la réponse de l'utilisateur pour affirmer l'action de la suppression. Quelle que soit la réponse de l'utilisateur, elle l'imprimera. Dans l'instruction «IF», il vérifiera si les entrées standard de l'utilisateur sont identiques que «Y», puis il imprimera un message comme mentionnant qu'il a supprimé le «nom». Ce processus sera réitéré jusqu'au dernier contenu du fichier «script.sh ”.
Jetons un coup d'œil à la sortie du code ci-dessus. Exécutez le fichier à l'aide de la commande bash. Le système vous demandera si vous souhaitez supprimer ce «nom» ou non. Entrez «Y» et appuyez sur «Entrez».
Entrée de bases.shot
Ici, en appuyant sur «Y», il imprimera «Y» et montrera un message qu'il a supprimé le «nom» particulier. Après cela, il passera à un autre «nom».
Il vous demandera de supprimer les noms jusqu'à ce que tous les noms ou contenu du fichier «script.sh ”ont été déposés comme ci-dessous.
Conclusion:
Nous avons magnifiquement traversé tous les exemples simples d'entrée standard tout en utilisant la boucle «while» dans le script bash.