Je dispose d'un fichier set_env.sh, que je lance dans le terminal en utilisant:fichier SH ne pas fixer les variables ENV (Mac OS X)
sh set_env.sh
Le code est exécuté, mais les variables ne sont pas définies. Je vérifie avec
echo $ EMAIL_SERVER
set_env.sh
#!/bin/sh
echo email Address
read y
echo email password?
read x
export EMAIL_SERVER='smtp.gmail.com'
export EMAIL_PORT=587
export EMAIL_DOMAIN='domain.com'
export EMAIL_AUTHENTICATION='plain'
export EMAIL_ENABLE_STARTTLS_AUTO=true
export EMAIL_USERNAME=$y
export EMAIL_PASSWORD=$x
'set_env.sh' source? –
Cela l'a résolu. Quelle est la différence entre sh et source? – user2012677
'sh set_env.sh' exécute le script dans un contexte shell séparé, dans un processus séparé, tandis que' source' exécute le script dans le contexte _current_ shell. J'ai posté une réponse. –