Bash come eseguire un comando in una variabile?

Bash come eseguire un comando in una variabile?
Gli script bash possono essere creati in vari modi e la maggior parte di noi ha familiarità con l'esecuzione dei comandi semplici all'interno di uno script bash. Tuttavia, questi comandi possono anche essere incapsulati all'interno delle variabili in bash. Questo processo è noto come sostituzione del comando ed è generalmente utilizzato per archiviare l'output di un comando in una variabile in modo da non dover eseguire quel comando esplicitamente ancora e ancora, puoi semplicemente accedere a quella variabile per ottenere l'output di quel comando quando vuoi. In questo articolo, ti mostreremo come può essere fatto.

Nota: tutti gli scenari dimostrati di seguito sono stati eseguiti su Ubuntu 20.04. Tuttavia, lavoreranno esattamente allo stesso modo con qualsiasi altro sapore di Linux.

Metodo di esecuzione di un comando in una variabile in bash:

Per dimostrare il metodo di esecuzione di un comando in una variabile in Bash, ti presenteremo tre diversi scenari che sono i seguenti:

Esecuzione del comando "eco" memorizzato in una variabile:

Questo è lo scenario più semplice in cui il nostro obiettivo è eseguire il comando Echo che è archiviato in una variabile. Per farlo accadere, dovrai seguire la serie di passaggi menzionati di seguito:

Passaggio n. 1: creazione di uno script bash:

Devi creare uno script bash nella cartella di casa per la quale devi fare clic sull'icona del file manager come puoi vedere dalla seguente immagine:

Ora trova qualsiasi spazio nella cartella di casa e fai clic con il pulsante destro del mouse per avviare un menu. Seleziona l'opzione del nuovo documento da questo menu, quindi selezionare l'opzione Documento vuoto dal menu sub-cascata. In questo modo creerà un nuovo documento nella cartella di casa. Ora rinomina questo documento appena creato con qualsiasi nome di tua scelta seguita dal .Estensione SH. Nel nostro caso, l'abbiamo nominato CommandVar.sh.

Per scrivere uno script bash in questo file, fare doppio clic su di esso per aprirlo e quindi digitare lo script mostrato nell'immagine seguente nel file bash. Qui, la prima riga della sceneggiatura i.e. "##!/bin/bash ”mostra che questo file è in realtà un file bash. Quindi abbiamo creato una variabile denominata "test" e gli abbiamo assegnato il valore "$ (echo" ciao lì!")". Ogni volta che si desidera archiviare il comando in una variabile, devi digitare quel comando preceduto da un simbolo "$". In questo caso, volevamo archiviare il comando "Echo" nella variabile "Test", quindi abbiamo semplicemente digitato il comando "Echo" seguito da un messaggio casuale e lo abbiamo racchiuso tra parentesi rotonde e abbiamo inserito un simbolo "$" prima Esso. Quindi ora, se vogliamo eseguire questo comando "eco", dovremo accedere alla variabile "test". Pertanto, per verificare se il comando "eco" memorizzato nella variabile "test" può essere eseguito correttamente o meno, abbiamo stampato l'output della variabile "test" sul terminale facendo uso di un altro comando "eco". Dopo aver digitato questo script, è necessario salvare il file e chiuderlo.

Passaggio n. 2: eseguire lo script bash tramite il terminale:

Ora devi eseguire questo script tramite il terminale. Quindi, apri il terminale in Ubuntu 20.04 e quindi digitare il seguente comando in esso:

Bash Commandvar.sh

Quando premi il tasto Invio per eseguire questo comando, sarai in grado di visualizzare il seguente output sul tuo terminale. Qui, la parte evidenziata dell'uscita è l'output del comando "eco" che è stato memorizzato nella variabile "test".

Esecuzione del comando "SEQ" memorizzato in una variabile:

In questo scenario, stamperemo una sequenza di numeri utilizzando il comando "SEQ" memorizzato in una variabile. Per causare ciò che accade, modificheremo lo script bash creato sopra eseguendo i seguenti passaggi:

Passaggio n. 1: modifica dello script bash creato sopra:

Apri il file bash creato nel metodo sopra e digita il seguente script in esso. Qui, abbiamo creato una variabile denominata "sequenza". Il nostro obiettivo è stampare i numeri da 1 a 10 durante l'utilizzo del comando "seq". Per fare ciò, abbiamo assegnato il valore "$ (seq 1 10)" alla variabile "sequenza". Puoi anche specificare qualsiasi altro intervallo di numeri a tua scelta se lo desideri. Il primo numero dopo il comando "seq" indica il limite inferiore della sequenza mentre il secondo numero si riferisce al limite superiore. Dopo aver digitato questo script, salva il tuo file e chiudilo.

Passaggio n. 2: eseguire lo script bash modificato tramite il terminale:

Ora esegui il tuo script bash nello stesso modo spiegato sopra e sarai in grado di vedere la sequenza specificata sul tuo terminale come mostrato nell'immagine seguente:

Esecuzione del comando "PWD" archiviato in una variabile:

Puoi anche stampare la tua directory di lavoro utilizzando il comando "PWD" memorizzato in una variabile. Per dimostrarlo, modificheremo ancora una volta lo script bash creato sopra seguendo i passaggi menzionati di seguito:

Passaggio n. 1: modifica dello script bash creato sopra:

Apri il file bash che hai appena modificato e quindi digita lo script mostrato nella seguente immagine in esso. In questo script, abbiamo creato una variabile denominata "Working_directory" e gli abbiamo assegnato il valore "$ (PWD)". Il comando "PWD" memorizzerà semplicemente il suo output i.e. La directory di lavoro corrente nella variabile "Working_directory". Per garantire se il comando "PWD" è stato eseguito correttamente o meno, abbiamo stampato il valore della variabile "Working_directory" sul terminale utilizzando il comando "echo". Ora salva questo file e quindi chiudilo dopo aver digitato lo script bash modificato.

Passaggio n. 2: eseguire lo script bash modificato tramite il terminale:

Ora esegui questo script bash nello stesso modo spiegato sopra. L'output di questo script bash ti mostrerà l'attuale directory di lavoro. La parte evidenziata dell'output è in effetti, l'output del comando "PWD".

Conclusione:

Questo articolo fornisce un'ottima idea di come si può eseguire un comando che viene archiviato all'interno di una variabile in bash e può ottenere lo stesso output che avresti ottenuto se eseguite il comando in modo indipendente.