Je suis en train d'enregistrer le code de sortie d'exécuter psql
dans un script shell. En supposant que la commande psql
juste avant cet extrait était mauvaise, je m'attends à ce que cet extrait renvoie tout sauf 1
, ce qu'il fait initialement. Mais quand je cède à exitcode
puis echo
il, la valeur retournée est un 0
...Quelle est la meilleure façon de conserver un code de sortie ou de l'assigner à une variable avec Bash?
$ echo $?
1
$ exitcode=$?
$ echo 'simply'
simply
$ #echo $?
0
$ #echo 'coding'
coding
$ echo $exitcode
0
J'essaie d'obtenir la exitcode
variable pour imprimer ou écho 1 comme la première ligne fait. Comment est-ce que je fais exactement cela?
Le code de sortie de 'psql' &' OS' est différent. Qu'est-ce que vous essayez ici – Ashish
Affectez à 'exitcode' * avant * que vous ne fassiez écho $?'. La façon dont vous l'avez fait, vous avez enregistré le code de sortie de 'echo', pas' psql'. – Barmar
Le code de sortie ($?) De votre deuxième ligne n'est pas de psql mais votre première ligne 'echo $?' –