¿Cómo definir la variable de entorno en el orden de entrada de su
Pregunta
Este comando tiene una salida vacía.
su user -c "ABC=abc;echo $ABC"
Cualquier idea, ¿cómo puedo definir una variable en el comando de entrada?
Solución
Cambiar sus cotizaciones a comillas simples. Las comillas dobles permiten la variable a ser sustituido en el entorno actual en el que no está establecido aún. Para ver la diferencia, probar su versión con $USER
y compararlo con éste:
su user -c 'ABC=abc; echo $ABC; echo $USER'
Otros consejos
Si se utiliza una variante shell bourne:
ABC=abc su user -c 'echo $ABC'
Si no es así, el uso env.
env ABC=abc su user -c 'echo $ABC'
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow