È possibile impostare una variabile per un singolo comando come questo:variabili set Bash con exec
MY_VARIABLE=my_value ./my_script.sh
È possibile consegnare a un altro script come questo:
exec ./my_script.sh
Ma quando provo a fare sia in questo modo:
exec MY_VARIABLE=my_value ./my_script.sh
ottengo un errore:
exec: MY_VARIABLE=my_value: not found
Perché è quello?
C'è un modo per farlo?
La cosa bella di 'env exec' è che si può utilizzare su una variabile che può o non può impostare le variabili di shell. per esempio se ho uno script che esegue alcune impostazioni per un comando arbitrario, potrei terminarlo con 'exec env" $ @ "' e funzionerà anche se "$ @" imposta le variabili. Per utilizzare questa soluzione, dovrei analizzare e dividere gli argomenti in "$ @". – Ken