git fetch命令的输出test1从以下cmd 重定向到“ ”文件:
manish@rigved:~$ git fetch --all --prune > test1
From https://github.com/Beawel/wwwnew
x [deleted] (none) -> origin/test
Run Code Online (Sandbox Code Playgroud)
问题:但是x [deleted] ...输出中显示的“ ”行未重定向到test1,为什么?请提出建议。
为什么git命令会在stderr上打印明显不是错误消息的内容?
manish@rigved:~$ cat test1
Fetching origin
Run Code Online (Sandbox Code Playgroud)
除了标准输出外,还需要重定向标准错误。
git fetch --all --prune > test1 2>&1
Run Code Online (Sandbox Code Playgroud)
更重要的是,为什么 git命令会在stderr而不是stdout上发出信息?
这是特定于git的(而不是重复记录的stderr重定向的副本)。
正如我在这里解释的那样:
它与Git中其他进度报告保持一致。
将stdout的输出重新路由到stderr,因为它只是信息性消息,不会被机器使用。
您会在stdout上找到git命令输出,该输出可能被链管序列中的其他命令使用。
其他任何消息(不打算由其他命令使用)都重定向到stderr。
| 归档时间: |
|
| 查看次数: |
711 次 |
| 最近记录: |