Accéder à une variable dans un script bash

Dans la ligne de commande bash, j’ai défini une variable myPath = / home / user / dir. J’ai créé un script dans lequel j’ai mis echo $ myPath mais cela ne semble pas fonctionner. Ça ne fait rien. Que puis-je faire pour accéder à la variable myPath dans le script? Si j’écris echo $ myPath dans la commande, cela fonctionne, mais pas dans le script.

Essayer

export myPath=/home/user/dir 

comment as-tu assigné la variable? ça aurait dû être:

 $ export myPath="/home/user/dir" 

puis dans un programme shell comme:

 #!/usr/bin/env bash echo $myPath 

vous obtiendrez les résultats souhaités.

Vous pouvez également faire cela pour définir la variable myPath juste pour myscript

 myPath="whatever" ./myscript 

Pour plus de détails sur la syntaxe délicate admise pour les variables d’environnement, voir: http://www.pixelbeat.org/docs/env.html

Vous devez déclarer votre affectation de variable avec “export” en tant que tel:

 export myPath="/home/user/dir" 

Cela entraînera le shell à inclure la variable dans l’environnement des sous-processus qu’il lance. Par défaut, les variables que vous déclarez (sans “export”) ne sont pas transmises à un sous-processus . C’est pourquoi vous n’avez pas initialement obtenu le résultat escompté.