使用“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)

相关内容