Bash

保存到文件 git fetch 終端輸出

  • December 18, 2016

我嘗試了幾種方法通過 bash 文件從終端保存到日誌文件“git fetch output”但沒有成功,例如,

git fetch origin > output.log

甚至在我有’git fetch origin’的bash腳本前面添加output.log。

使用命令腳本是我必須通過“>”將所有資訊記錄到 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 文件?

看起來 git 將輸出列印到標準錯誤,所以你應該使用>&.

例子:git fetch -v >& test.txt

有一個名為的命令script可用於保存任何命令的終端輸出。例如可以像這樣呼叫它:

script -f output.log -c 'git fetch origin'

與普通重定向不同,該命令仍將看到 stdout 和 stderr 連接到 pts 設備,因此對文件輸出和終端輸出使用不同格式的命令仍將生成所有終端格式序列。

附加script輸出將發送到您的終端和指定的日誌文件。是使用script還是普通重定向取決於你的具體使用場景。

上述命令中的參數含義如下:

  • -f生成時立即將輸出寫入日誌文件(預設輸出是緩衝的)。
  • output.log將輸出寫入的文件名(預設命名為typescript)。
  • -c 'git fetch origin'要呼叫的命令(預設情況下會啟動一個 shell)。

引用自:https://unix.stackexchange.com/questions/331296