Diversi esempi di Subshell
I diversi modi di eseguire lo script nella subshell sono mostrati in questa parte del tutorial.
Esempio 1: eseguire la subshell utilizzando le virgolette singole e le virgolette doppie
Crea un file Bash con il seguente script che stampa la data e l'ora correnti. Successivamente, la variabile $strVal viene stampata racchiudendo lo script subshell tra virgolette singole e doppie.
#!/bin/bash
#Stampa il comando `date` nella subshell
eco 'Oggi è `data` '
#Definisci una variabile stringa
strVal = 'Bash Subshell'
#Stampa la variabile nella subshell usando le virgolette singole
eco 'L'output delle virgolette singole:' '$(echo $strVal)'
#Stampa la variabile nella subshell usando le virgolette
eco 'L'output delle virgolette doppie:' ' $(echo $strVal) '
Il seguente output viene visualizzato dopo l'esecuzione dello script. Lo script subshell viene stampato come una stringa quando è racchiuso tra virgolette singole. Lo script subshell viene eseguito quando è racchiuso tra virgolette:
Esempio 2: ricerca di tutti i file con l'estensione specifica utilizzando la subshell
Crea un file Bash con il seguente script che accetta l'estensione del file come input dall'utente. Successivamente, il comando 'ls' viene eseguito nella subshell per cercare tutti i file di quella particolare estensione.
#!/bin/bash
eco -N 'Inserisci il nome dell'estensione del file:'
#Prendi il nome dell'estensione del file che verrà cercato
Leggere est
#Controlla il valore inserito
Se [ [ $est == '' ] ] ; Poi
#Stampa messaggio di errore
eco 'Nessuna proroga è data.'
altro
eco 'Nomi di file con $est estensione:'
#Stampa tutti i nomi di file con l'estensione data
eco ' $( echo `ls *.$ext` ) '
Essere
Il seguente output viene visualizzato dopo l'esecuzione dello script con l'input 'txt'. In base all'output, esistono tre file di testo nella posizione corrente:
Il seguente output viene visualizzato dopo l'esecuzione dello script con il valore vuoto:
Esempio 3: eseguire l'espressione aritmetica nella subshell
Crea un file Bash con il seguente script in cui la variabile con lo stesso nome viene utilizzata nella shell principale e nella subshell. L'operazione aritmetica è definita nella shell principale e nella subshell.
#!/bin/bash#Definisci una variabile shell madre
numero = 10
#Stampa il risultato in base alla variabile della shell genitore
( ( risultato = $numero + 5 ) )
eco 'La somma di $numero +5= $risultato '
#Crea una variabile subshell con lo stesso nome della shell madre
( numero = venti ; ( ( risultato = $numero + 10 ) ) ; eco 'La somma di $numero +5= $risultato ' )
#Stampa di nuovo il risultato in base alla variabile della shell madre
eco 'La somma di $numero +5= $risultato '
Il seguente output viene visualizzato dopo l'esecuzione dello script. Il primo e l'ultimo output mostrano il risultato della shell principale. Il secondo output mostra il risultato della subshell. La variabile della shell principale non viene modificata dalla variabile della subshell:
Esempio 4: eseguire più comandi nella subshell
Crea un file Bash con il seguente script che invia l'output del comando 'echo' nel comando 'sed' che sostituisce il valore della stringa corrispondente con un'altra stringa. L'output del comando 'echo' è 'JavaScript'. Quindi, questo valore viene confrontato con 'Java' e 'JavaScript'. Se viene trovata una corrispondenza, le stringhe corrispondenti vengono sostituite dalla stringa 'Tipo'.
#!/bin/bash#Definisci un valore stringa
strVal = 'Javascript'
#Stampa il valore della stringa originale
eco 'Valore stringa: $strVal '
#Stampa il valore della subshell
eco -N 'Valore subshell: '
eco ' $(echo $strVal | sed 's|Java|Tipo JavaScript|') '
Il seguente output viene visualizzato dopo l'esecuzione dello script. Secondo l'output, la stringa 'Java' viene sostituita dalla stringa 'Tipo'. L'output della subshell è 'JavaScript TypeScript':
Conclusione
Uno o più comandi o script possono essere eseguiti usando la subshell senza influenzare la shell principale. Gli scopi dell'utilizzo della subshell sono spiegati in questo tutorial utilizzando più esempi. Diversi tipi di attività come la ricerca dei file, il calcolo della somma dei numeri, la sostituzione delle stringhe, ecc. vengono eseguiti dalla subshell negli esempi forniti. Il concetto di utilizzo della subshell è stato adeguatamente dimostrato ei nuovi utenti di Bash saranno ora in grado di utilizzare la subshell dopo aver letto questo tutorial.