Comment puis-je passer une variable dans le script via le terminal lorsque j'exécute abc.sh

Je veux passer la variable dans le script au moment de l'exécution

ex: sh abc.sh export id=3

Les variables exscopes et celles définies sur la même command line sont visibles par le programme:

 $ cat foo.sh #!/bin/sh echo "$foo" $ foo=bar ./foo.sh bar $ export foo=bar $ ./foo.sh bar 

Mais un idiome plus commun serait d'utiliser des arguments de command line, ils sont fixés aux parameters de position $1 , $2 , etc.

 $ cat arg.sh #!/bin/sh echo "$1 and $2" $ ./arg.sh alpha beta alpha and beta 

Dans les deux cas, un script robuste devrait traiter le cas où certaines des variables sont manquantes (unset).

Vous pouvez le faire (uniquement pour cette exécution) de cette façon:

 id=3 sh abc.sh 

déclarer (ou exporter, pas forcément ici) avant l'exécution:

 id=3 ./myScript.sh 

myScript.sh:

 #!/bin/bash echo "id = $id" 

Sortie:

 id = 3