我尝试了多种方法通过 bash 文件从终端保存到日志文件“git fetch output”,但没有成功,例如,
git fetch origin > output.log
或者甚至在 bash 脚本的前面添加output.log,其中我有“git fetch origin”。
使用命令脚本是我必须通过“>”将所有信息记录到txt文件中的唯一方法,但是我必须手动插入它,并且当我尝试在bash文件内使用它以让我引入命令时它会停止,不知道是否有办法使用 bash 文件在脚本命令中插入“git fetch origin”命令。
这是我执行“git fetch origin”命令后终端输出的示例,
Xserver$ git fetch origin > output.log
remote: Counting objects: 14, done.
remote: Compressing objects: 100% (10/10), done.
remote: Total 14 (delta 5), reused 0 (delta 0)
Unpacking objects: 100% (14/14), done.
From https://bitbucket.org/x/test
* [new branch] branch1 -> origin/branch1
* [new branch] branch2 -> origin/branch2
* [new branch] branch3 -> origin/branch3
* [new branch] branch4 -> origin/branch4
* [new branch] master -> origin/master
有没有办法把这个输出保存到txt文件中?
答案1
看起来 git 将输出打印到 stderr,所以你应该使用>&
.
例子:git fetch -v >& test.txt
答案2
有一个命令script
可以用来保存任何命令的终端输出。例如,它可以这样调用:
script -f output.log -c 'git fetch origin'
与普通重定向不同,该命令仍会看到连接到 pts 设备的 stdout 和 stderr,因此对文件输出和终端输出使用不同格式的命令仍将生成所有终端格式序列。
附加script
输出将发送到您的终端和指定的日志文件。使用重定向script
还是普通重定向取决于您的具体使用场景。
上述命令中的参数含义如下:
-f
生成后立即将输出写入日志文件(默认情况下输出被缓冲)。output.log
要写入输出的文件名(默认名为typescript
)。-c 'git fetch origin'
要调用的命令(默认情况下将启动 shell)。