我試圖通過RightScale的API運行此腳本以進行導入操作,但它爲第二個CURL操作持續報告「BAD請求400」,並且它看起來像URL isn' t形成正確。我也嘗試把POST URL放在雙引號中,但是這並沒有改變結果。Bash腳本:幫助找到bug
AccountList.txt和TemplateList.txt都有帳號和模板號碼,每行一個。爲了調試,我只在每個文件中分別放置一個賬號和模板號。
請幫我理解這段代碼有什麼問題。我猜這是一些小事,但我不明白那是什麼:
cat "AccountList.txt" | while read acc ; do
rm scriptcookie
curl -i -H 'X-API-VERSION:1.5' -c scriptcookie -d email="[email protected]" -d password="[email protected]" -X POST -d account_href="/api/accounts/$acc" https://my.rightscale.com/api/sessions
cat "TemplateList.txt" | while read temp ; do
echo $temp
curl -i -H 'X_API_VERSION:1.5' -b ./scriptcookie -X POST https://my.rightscale.com/api/publications/$temp/import
done
echo "Done for Account:" $acc
done
這是我看到的輸出:
<html>
<head><title>400 Bad Request</title></head>
<body bgcolor="white">
<center><h1>400 Bad Request</h1></center>
<hr><center>nginx/1.4.2</center>
</body>
</html>
我在想我的機器上有什麼與BASH相關的東西。 我只是試圖在腳本中回顯整個CURL行: echo「curl -i -H'X_API_VERSION:1.5'-b ./scriptcookie -X POST https://my.rightscale.com/api/publications/$ temp/import「 我把它作爲輸出: /import -H'X_API_VERSION:1.5'-b ./scriptcookie -X POST https://my.rightscale.com/api/publications/184605 – urover
嘗試在shebang之後添加「-xv」標誌以協助調試,如此「#!/ bin/bash -xv」 –
@MarkSetchell。我在shebang中添加了「-xv」,它會打印整個腳本,然後顯示:http://i60.tinypic.com/292m9ns.png 謝謝! – urover