使用“git describe”的輸出啟動變數的奇怪結果

使用“git describe”的輸出啟動變數的奇怪結果

由於某種原因,此分配:OUT=$(git describe HEAD)列印到標準輸出(例如):fatal: No names found, cannot describe anything.

這是正常行為嗎?為什麼其他指令不會出現這種情況?

答案1

這實際上是stderr輸出,而不是stdout。從互動式終端機執行命令時,stdout和都stderr設定為轉到終端。

如果您想要stderr變數中的輸出(您可能不會這樣做,但無論如何),請將其重定向到stdout如下所示:

OUT=$(git describe HEAD 2>&1)

或者,如果您不希望運行腳本的人看到該stderr輸出,請像這樣丟棄它:

OUT=$(git describe HEAD 2>/dev/null)

相關內容