web-dev-qa-db-fra.com

Comment passer une variable dans une commande curl dans les scripts Shell

J'ai une commande curl:

curl -u ${USER_ID}:${PASSWORD} -X GET 'http://blah.gso.woo.com:8080/rest/job-execution/job-details/${job_id}'

La variable job_id a une valeur, disons 1160. Lorsque j'exécute la commande curl dans Shell, cela me donne l'erreur suivante:

{"message":"Sorry. An unexpected error occured.", "stacktrace":"Bad Request. The request could not be understood by the server due to malformed syntax."}

Si je passe le nombre "1160" directement dans la commande, comme indiqué ci-dessous, la commande curl fonctionne.

curl -u ${USER_ID}:${PASSWORD} -X GET 'http://blah.gso.woo.com:8080/rest/job-execution/job-details/1160'

Quelqu'un peut-il m'aider? Je veux pouvoir passer la valeur de la variable dans la commande curl.

26
user1452759

Lorsque vous utilisez des variables dans Shell , vous ne pouvez utiliser que des guillemets doubles, pas des guillemets simples: les variables à l'intérieur des guillemets simples ne sont pas développées. Apprenez la différence entre 'et "et`. Voir http://mywiki.wooledge.org/Quotes et http://wiki.bash-hackers.org/syntax/words

46
Gilles Quenot