3 votes

Comment insérer une variable dans la commande bash -c ?

Je peux faire ce qui suit :

$ FOO="text"
$ echo $FOO
$ text

Mais comment puis-je l'emballer à l'intérieur bash -c construire ? J'ai essayé mais j'ai échoué :

$ FOO="text"
$ bash -c 'echo $FOO'
$ # return nothing

La raison pour laquelle je pose cette question est que j'ai besoin d'exécuter un autre code tiers qui doit être enveloppé à l'intérieur de bash -c

5voto

Luc M Points 4950

Essayez

$ export FOO="text"
$ bash -c 'echo $FOO'

La commande d'exportation est utilisée pour exporter une variable ou une fonction dans le fichier environnement de tous les processus fils exécutés dans le shell actuel.

Voici la source

La commande "bash" démarre un processus enfant dont le parent est votre session bash actuelle.

Pour définir une variable dans le processus parent et l'utiliser dans le processus enfant, vous devez l'exporter.

-1voto

ceilKs Points 27

Vous pouvez utiliser bash -c 'FOO=test; echo \$FOO' o export FOO=test;bash -c 'echo $FOO'

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X