Come assegnare l'output di un comando Linux a una variabile - Bash

Come assegnare l'output di un comando Linux a una variabile - Bash
In Bash, è comune eseguire comandi Linux e acquisire il loro output per un uso successivo in uno script. È possibile assegnare l'output di un comando a una variabile utilizzando la sostituzione del comando, che è una caratteristica di bash che consente di eseguire un comando e sostituirlo con il suo output. Esistono due modi per assegnare l'output a una variabile e questi sono:
  • Attraverso la sostituzione del comando
  • Attraverso Backtics

1: come utilizzare la sostituzione del comando per assegnare l'output di un comando Linux a una variabile

Un modo per assegnare l'output di un comando Linux a una variabile in Bash è utilizzare la sostituzione del comando con la sintassi $ () ed ecco la sintassi completa per esso:

= $ (comando)

Ecco un esempio che salva l'output del comando hostname in una variabile usando la sintassi sopra riportata:

#!/Bin/Bash
# Assegna l'output del comando "Nome host" alla variabile "Find_hostname"
find_hostname = $ (hostname)
# Stampa il valore della variabile "nome host"
echo "Il tuo nome host è:" $ find_hostname

In questo esempio, abbiamo usato il comando host per ottenere il nome dell'host corrente e quindi assegnato l'output alla variabile Find_hostname usando la sostituzione del comando. Infine, abbiamo stampato il valore della variabile Find_hostname usando il comando Echo:

2: come utilizzare i backticks per assegnare l'output di un comando Linux a una variabile

Un altro modo per assegnare l'output di un comando Linux a una variabile è utilizzare i backticks (') anziché le parentesi e sotto è la sintassi per esso:

=<'command'>

Per spiegare ulteriormente come usare questo metodo ho dato un codice bash di esempio che legge semplicemente il percorso o la directory corrente.

#!/Bin/Bash
# Assegna l'output del comando "Nome host" alla variabile "Find_hostname"
find_hostname = 'hostname'
# Stampa il valore della variabile "nome host"
echo "Il tuo nome host è:" $ find_hostname

In questo esempio, abbiamo usato il comando PWD per ottenere la directory di lavoro corrente e quindi assegnato l'output alla variabile Current_DIR utilizzando Backticks. Infine, abbiamo stampato il valore della variabile Current_dir usando il comando Echo:

Conclusione

Assegnare l'output di un comando Linux a una variabile è un'attività comune nello scripting Bash e può essere realizzata usando la sostituzione del comando con parentesi o backtick. Usando queste tecniche, è possibile catturare l'output di un comando e usarlo negli script per eseguire varie attività. È possibile utilizzare uno di questi tre metodi per assegnare l'output di un comando Linux a una variabile in bash, a seconda delle tue esigenze e preferenze specifiche.