Diferents exemples de subshell
Les diferents maneres d'executar l'script a la subshell es mostren en aquesta part del tutorial.
Exemple 1: executeu la subshell utilitzant les cometes simples i les cometes dobles
Creeu un fitxer Bash amb el següent script que imprimeix la data i l'hora actuals. A continuació, la variable $strVal s'imprimeix tancant l'script de subshell entre les cometes simples i les cometes dobles.
#!/bin/bash
#Imprimeix l'ordre `date` a la subshell
eco 'Avui és 'data' '
#Definiu una variable de cadena
strVal = 'Bash Subshell'
#Imprimeix la variable a la subshell utilitzant cometes simples
eco 'La sortida de cometes simples:' '$(echo $strVal)'
#Imprimeix la variable a la subshell utilitzant cometes dobles
eco 'La sortida de cometes dobles:' ' $(eco $strVal) '
La sortida següent apareix després d'executar l'script. L'script de subshell s'imprimeix com una cadena quan s'adjunta entre cometes simples. L'script de subshell s'executa quan s'adjunta entre cometes dobles:
Exemple 2: cerqueu tots els fitxers de l'extensió concreta utilitzant la subshell
Creeu un fitxer Bash amb el següent script que prengui l'extensió del fitxer com a entrada de l'usuari. A continuació, s'executa l'ordre 'ls' a la subshell per cercar tots els fitxers d'aquesta extensió concreta.
#!/bin/bash
eco -n 'Introduïu el nom de l'extensió del fitxer:'
#Preneu el nom de l'extensió del fitxer que es cercarà
llegir ext
#Comprova el valor d'entrada
si [ [ $ext == '' ] ] ; aleshores
#Missatge d'error d'impressió
eco 'No es dóna cap pròrroga'.
altra cosa
eco 'Noms de fitxers amb $ext extensió:'
#Imprimeix tots els noms de fitxer amb l'extensió donada
eco ' $( echo `ls *.$ext` ) '
ser
La sortida següent apareix després d'executar l'script amb l'entrada 'txt'. Segons la sortida, hi ha tres fitxers de text a la ubicació actual:
La sortida següent apareix després d'executar l'script amb el valor buit:
Exemple 3: executeu l'expressió aritmètica a la subshell
Creeu un fitxer Bash amb el següent script on s'utilitzi la variable del mateix nom a l'intèrpret d'ordres principal i al subshell. L'operació aritmètica es defineix a l'intèrpret principal i al subshell.
#!/bin/bash#Definiu una variable de shell pare
nombre = 10
#Imprimeix el resultat en funció de la variable de l'intèrpret d'ordres pare
( ( resultat = $número + 5 ) )
eco 'La suma de $número +5= $resultat '
#Creeu una variable de subshell amb el mateix nom que l'intèrpret d'ordres pare
( nombre = 20 ; ( ( resultat = $número + 10 ) ) ; eco 'La suma de $número +5= $resultat ' )
#Imprimeix de nou el resultat basat en la variable de l'intèrpret d'ordres pare
eco 'La suma de $número +5= $resultat '
La sortida següent apareix després d'executar l'script. La primera i l'última sortida mostren el resultat de l'intèrpret d'ordres principal. La segona sortida mostra el resultat de la subshell. La variable del shell principal no es modifica per la variable del subshell:
Exemple 4: executeu diverses ordres a la subshell
Creeu un fitxer Bash amb l'script següent que envia la sortida de l'ordre 'eco' a l'ordre 'sed' que substitueix el valor de cadena coincident per una altra cadena. La sortida de l'ordre 'eco' és 'JavaScript'. Per tant, aquest valor es compara amb 'Java' i 'JavaScript'. Si es troba una coincidència, les cadenes coincidents se substituiran per la cadena 'Tipus'.
#!/bin/bash#Definiu un valor de cadena
strVal = 'JavaScript'
#Imprimeix el valor de la cadena original
eco 'Valor de cadena: $strVal '
#Imprimeix el valor de la subshell
eco -n 'Valor de subshell:'
eco ' $(echo $strVal | sed 's|Java|Tipus de JavaScript|') '
La sortida següent apareix després d'executar l'script. Segons la sortida, la cadena 'Java' es substitueix per la cadena 'Tipus'. La sortida de la subshell és 'JavaScript TypeScript':
Conclusió
Es poden executar una o més ordres o scripts mitjançant el subshell sense afectar el shell principal. Els propòsits d'utilitzar la subshell s'expliquen en aquest tutorial mitjançant diversos exemples. Diferents tipus de tasques, com ara cercar els fitxers, calcular la suma de nombres, substituir les cadenes, etc., les fa la subshell als exemples donats. El concepte d'utilitzar la subshell està correctament demostrat i els nous usuaris de Bash ara podran utilitzar la subshell després de llegir aquest tutorial.