Una delle caratteristiche chiave di Bash è la sua capacità di utilizzare diversi tipi di sintassi per eseguire compiti diversi. Due di queste sintassi sono le sintassi $ e $ (), che sono spesso usate in modo intercambiabile ma hanno usi diversi, questo articolo esplorerà le differenze tra $ e $ ().
$ in bash - espansione dei parametri
La sintassi di $ nota anche come espansione dei parametri viene utilizzata per accedere al valore di una variabile in bash, viene anche utilizzata per eseguire varie espansioni dei parametri, come l'estrazione della sottostringa, la modifica del caso e la corrispondenza dei pattern. Più in basso è la sintassi per l'utilizzo di $ in Bash Scripting:
$ variabile
Ecco un esempio che dimostra l'uso di questa sintassi:
#!Bin/Bash
name = "mark"
echo "Il mio nome è $ nome"
Nell'esempio sopra, la sintassi $ nome viene utilizzata per accedere al valore della variabile del nome e includerla nella stringa di output:
$ () in Bash - Sostituzione del comando
La sintassi $ () chiamata anche la sostituzione del comando, d'altra parte, viene utilizzata per eseguire un comando e acquisire il proprio output, la sintassi è la seguente:
$ (comando)
Ecco un esempio di come utilizzare la sintassi $ ():
#!Bin/Bash
Files = $ (LS)
echo "I file nella directory corrente sono: $ files"
Qui la sintassi $ () viene utilizzata per eseguire il comando LS e acquisire il proprio output nella variabile dei file. Mentre la sintassi $ viene quindi utilizzata per includere l'elenco dei file nella stringa di output:
Nel complesso, la sintassi $ viene utilizzata per accedere al valore di una variabile, mentre la sintassi $ () viene utilizzata per eseguire un comando e acquisire il suo output. Entrambi i sintassi hanno usi diversi e non sono intercambiabili.
Conclusione
Comprendere le differenze tra $ e $ () in bash è essenziale per lo scripting di shell efficaci, mentre entrambi i sintassi possono apparire simili, hanno funzioni diverse e dovrebbero essere usate di conseguenza. Utilizzando la sintassi giusta per l'attività giusta, è possibile migliorare l'efficienza e la leggibilità dei tuoi script bash.