2016-08-08 51 views
1

當我嘗試獲取nginx版本時,出現了一些奇怪的現象。同步獲取nginx版本?

當我運行此命令:

echo "[nginx]" $(nginx -v) 

它打印

nginx version: nginx/1.4.6 (Ubuntu) 
[nginx] 

通知的[nginx]低於 Nginx的版本。

當我與節點OTOH,echo "[node]" $(node --version)嘗試,我得到:

[node] v0.10.45 

這是在預期的順序,所以它不是與回聲問題。我怎樣才能讓nginx以正確的順序打印?

不知道這是一個Bash/shell問題還是有趣的nginx程序或什麼。

回答

2

誰知道爲什麼做出決定,but nginx outputs to stderr。您可以通過管道標準錯誤捕獲它到stdout:

echo "[nginx]" $(nginx -v 2>&1) 
0

如果你想管它格式字符串,你可以這樣做:

$(nginx -v) | printf "[nginx] " 

甚至...

nginx -v | printf "[nginx]%1s"