Différents exemples de sous-shell
Les différentes manières d'exécuter le script dans le sous-shell sont présentées dans cette partie du didacticiel.
Exemple 1 : exécuter le sous-shell à l'aide des guillemets simples et des guillemets doubles
Créez un fichier Bash avec le script suivant qui imprime la date et l'heure actuelles. Ensuite, la variable $strVal est imprimée en entourant le script de sous-shell entre guillemets simples et guillemets doubles.
#!/bin/bash
#Imprime la commande `date` dans le sous-shell
écho « Aujourd'hui, c'est `date` '
#Définir une variable chaîne
strVal = 'Sous-shell bash'
#Imprimez la variable dans le sous-shell en utilisant des guillemets simples
écho 'La sortie des guillemets simples :' '$(echo $strVal)'
#Imprimez la variable dans le sous-shell en utilisant des guillemets doubles
écho 'La sortie des guillemets doubles :' ' $(echo $strVal) '
La sortie suivante apparaît après l'exécution du script. Le script de sous-shell est imprimé sous forme de chaîne lorsqu'il est entouré de guillemets simples. Le script de sous-shell est exécuté lorsqu'il est entouré de guillemets :
Exemple 2 : rechercher tous les fichiers de l'extension particulière à l'aide du sous-shell
Créez un fichier Bash avec le script suivant qui prend l'extension de fichier comme entrée de l'utilisateur. Ensuite, la commande 'ls' est exécutée dans le sous-shell pour rechercher tous les fichiers de cette extension particulière.
#!/bin/bash
écho -n 'Entrez le nom de l'extension de fichier :'
#Prenez le nom de l'extension de fichier qui sera recherché
lire poste
#Vérifiez la valeur d'entrée
si [ [ $ext == '' ] ] ; alors
#Imprimer le message d'erreur
écho 'Aucune prolongation n'est accordée.'
autre
écho 'Les noms de fichiers avec $ext extension:'
#Imprimer tous les noms de fichiers avec l'extension donnée
écho ' $( echo `ls *.$ext` ) '
être
La sortie suivante apparaît après l'exécution du script avec l'entrée 'txt'. Selon la sortie, trois fichiers texte existent à l'emplacement actuel :
La sortie suivante apparaît après l'exécution du script avec la valeur vide :
Exemple 3 : Exécuter l'expression arithmétique dans le sous-shell
Créez un fichier Bash avec le script suivant où la variable du même nom est utilisée dans le shell principal et le sous-shell. L'opération arithmétique est définie dans le shell principal et le sous-shell.
#!/bin/bash#Définir une variable shell parent
nombre = dix
#Imprime le résultat en fonction de la variable du shell parent
( ( résultat = $nombre + 5 ) )
écho 'La somme de $nombre +5= $résultat '
#Créer une variable de sous-shell avec le même nom que le shell parent
( nombre = vingt ; ( ( résultat = $nombre + dix ) ) ; écho 'La somme de $nombre +5= $résultat ' )
#Imprimer à nouveau le résultat basé sur la variable du shell parent
écho 'La somme de $nombre +5= $résultat '
La sortie suivante apparaît après l'exécution du script. Les première et dernière sorties montrent le résultat du shell principal. La deuxième sortie montre le résultat du sous-shell. La variable du shell principal n'est pas modifiée par la variable du sous-shell :
Exemple 4 : Exécuter plusieurs commandes dans le sous-shell
Créez un fichier Bash avec le script suivant qui envoie la sortie de la commande 'echo' dans la commande 'sed' qui remplace la valeur de chaîne correspondante par une autre chaîne. La sortie de la commande 'echo' est 'JavaScript'. Ainsi, cette valeur est comparée à « Java » et « JavaScript ». Si une correspondance est trouvée, les chaînes correspondantes sont remplacées par la chaîne 'Type'.
#!/bin/bash#Définir une valeur de chaîne
strVal = 'JavaScript'
#Imprimer la valeur de la chaîne d'origine
écho 'Valeur de chaîne: $strVal '
#Imprimer la valeur du sous-shell
écho -n 'Valeur du sous-shell : '
écho ' $(echo $strVal | sed 's|Java|Type JavaScript|') '
La sortie suivante apparaît après l'exécution du script. Selon la sortie, la chaîne 'Java' est remplacée par la chaîne 'Type'. La sortie du sous-shell est 'JavaScript TypeScript':
Conclusion
Une ou plusieurs commandes ou scripts peuvent être exécutés à l'aide du sous-shell sans affecter le shell principal. Les objectifs de l'utilisation du sous-shell sont expliqués dans ce didacticiel à l'aide de plusieurs exemples. Différents types de tâches telles que la recherche de fichiers, le calcul de la somme de nombres, le remplacement des chaînes, etc. sont effectués par le sous-shell dans les exemples donnés. Le concept d'utilisation du sous-shell est correctement démontré et les nouveaux utilisateurs de Bash pourront désormais utiliser le sous-shell après avoir lu ce tutoriel.