2016-11-25 57 views
-1

我在我的CGI bash腳本中使用了以下語句,它返回錯誤[error] 1705#0: *105 upstream prematurely closed FastCGI stdout while reading response header from upstream [...]。這是使用它的正確方法嗎?在bash中打印JSON格式的字符串

echo "{\"meta\": {\"link\": {\"upload\": { \"href\": \"http://${ip}${target}\"}}}, \"status\": \"empty\"}" | jq . 

我的預期輸出如下。

{ 
    "meta": { 
    "link": { 
    "upload": { "href": "http://fileserver.example.com/upload/content/{id}" } 
    } 
},"status": "empty" 
} 
+0

'echo'應該可以正常工作。你應該得到預期的結果。似乎與'FastCGI'問題看到這個 - http://serverfault.com/questions/474215/serve-a-fastcgi-through-nginx – pradeep1991singh

+0

有**沒有問題**與FastCGI'其他腳本正在運行在相同的設置罰款。只有這一個是造成一些問題。 – Shashank

+1

@Shashank,像'jq <<<'{「a」:10}''這樣簡單的測試怎麼樣?也可以使用'printf'而不是'echo':'printf'%s''{「meta」:...}'' –

回答

0

沒有配置問題。這個問題是由於POST請求腳本沒有響應而引起的。