所以我新來捲曲並試圖編寫一個bash腳本,我可以運行該下載文件。所以我開始通過身份驗證,然後做一個POST來請求下載。我得到一個Foo_ID,我在其中使用bash解析並設置參數。然後我嘗試通過下載URL來使用獲取某些Foo數據。我遇到的問題是,只要我傳入從POST響應中分析的參數,我什麼也得不到。這是我正在做的一個例子。curl命令無法傳遞bash參數
#!/bin/bash
curl -b cookies -c cookies -X POST @login_info -d "https://foo.bar.com/auth"
curl -b cookies -c cookies -X POST @Foo_info -d "https://foo.bar.com/foos" > ./tmp/stuff.t
myFooID=`cat ./tmp/stuff.t |grep -Po '"foo_id:.*?",'|cut -d '"' -f 4`
curl -b cookies -c cookies "http://foo.bar.com/foo-download?id=${myFooID}" > ./myFoos/Foo1.data
我有echo'd myFooID以確保它是正確的,它是。我也迴應了「https://foo.bar.com/foo-download?id=${myFooID}」,它正確顯示我需要的網址。任何人都可以幫我解決這個問題,就像我說過的,我是使用curl和使用bash命令的一些小生鏽手段。
您使用參數的方式似乎是正確的,您是否也可以回顯curl命令的結果? – xvatar
當我回應'最後的捲曲命令的結果它只是空白。 – Andrew
確保在回聲時引用變量。執行'echo'$ myFooID「'看看它是否正常。然後執行'echo -n「$ myFooID」| hexdump -C'並查看十六進制值是否顯示任何意外字符。如果你手工發佈命令,但是用字面而不是變量替換ID,它是否工作?你不需要'cat','grep'接受文件名作爲參數。您應該可以使用變量而不是臨時文件。使用'$()'而不是反引號。這些建議雖然不能解決您的問題。 –