2013-06-01 41 views
0

我正在寫一個bash腳本來從命令行調用curl。我很遺憾不知道如何將簡單變量替換爲curl請求的-d部分。如何在curl命令的--data部分使用變量?

爲什麼不能正常工作?

#!/bin/sh 

name=$1 
test -z $name && echo "Repo name required." 1>&2 && exit 1 

curl -u 'metaraine' https://api.github.com/user/repos -d '{"name":"$name"}' 

它實際上並沒有將$ name的值替換爲數據。

回答

1

這是怎麼回事?

curl -u 'metaraine' https://api.github.com/user/repos -d "{\"name\":\"$name\"}" 

也就是說,逃跑的報價和使用{},而不是簡單的人周圍雙引號。

+0

不幸的是,這不起作用:「解析JSON的問題」 –

+0

你現在可以試試嗎?我以另一種方式逃脫了它。 – fedorqui

+0

它的工作!我確信我曾嘗試過。謝謝!將需要在我的shell技能上工作,所以我更深入地理解了這一點。 –