Come definire variabile d'ambiente al comando di ingresso di su
Domanda
Questo comando ha un'uscita vuoto.
su user -c "ABC=abc;echo $ABC"
Qualche idea, come posso definire una variabile nel comando di ingresso?
Soluzione
Cambia il tuo citazioni per virgolette singole. Le virgolette doppie consentono la variabile da sostituire nel contesto attuale in cui non è ancora impostato. Per vedere la differenza, provare la versione con $USER
e confrontarlo con questo:
su user -c 'ABC=abc; echo $ABC; echo $USER'
Altri suggerimenti
Se si utilizza una variante bourne shell:
ABC=abc su user -c 'echo $ABC'
In caso contrario, l'uso ENV.
env ABC=abc su user -c 'echo $ABC'
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow