Stations de travail en ligne OnWorks Linux et Windows

Logo

Hébergement gratuit en ligne pour les postes de travail

<Précédent | Table des matières | Suivant>

Expansion

Chaque fois que nous tapons une commande et appuyons sur la touche Entrée, bash effectue plusieurs processus sur le texte avant d'exécuter notre commande. Nous avons vu quelques cas où une simple séquence de caractères, par exemple « * », peut avoir beaucoup de sens pour le shell. Le processus qui permet cela s'appelle avec des données. Avec l'expansion, nous entrons dans quelque chose et il est étendu à autre chose avant que le shell n'agisse dessus. Pour montrer ce que nous entendons par là, examinons les echo commander. echo est un shell intégré qui effectue une tâche très simple. Il imprime ses arguments de texte sur la sortie standard :



[moi@linuxbox ~]$ echo ceci est un test

c'est un test

[moi@linuxbox ~]$ echo ceci est un test

c'est un test


C'est assez simple. Tout argument passé à echo s'affiche. Essayons un autre exemple :



[moi@linuxbox ~]$ écho *

Documents de bureau ls-output.txt Musique Images Modèles publics Vidéos

[moi@linuxbox ~]$ écho *

Documents de bureau ls-output.txt Musique Images Modèles publics Vidéos


Alors qu'est-ce qui vient de se passer ? Pourquoi n'a-t-il pas echo imprimer "*"? Comme nous nous souvenons de notre travail avec les caractères génériques, le caractère « * » signifie correspondre à tous les caractères d'un nom de fichier, mais ce que nous n'avons pas vu dans notre discussion initiale, c'est comment le shell fait cela. La réponse simple est que le shell développe le "*" en quelque chose d'autre (dans ce cas, les noms des fichiers dans le répertoire de travail actuel) avant le echo la commande est exécutée. Lorsque la touche Entrée est


enfoncé, le shell développe automatiquement tous les caractères qualificatifs sur la ligne de commande avant que la commande ne soit exécutée, de sorte que le echo La commande n'a jamais vu le « * », seulement son résultat étendu. Sachant cela, nous pouvons voir que echo s'est comporté comme prévu.


 

Meilleur système d'exploitation Cloud Computing chez OnWorks :