簡體   English   中英

Bash 將多行 Git 日志輸出保存到環境變量

[英]Bash Save Multiline Git Log Output to Environment Variable

我正在嘗試將 git 命令的輸出保存到 GitHub Actions 步驟中的環境變量中,它抓取輸出的第一行並忽略其余部分。 正在運行的容器是ubuntu-latest

這是我試圖捕捉它的方式:

TMP_CHANGES=`git log origin/master..`

我對echo $TMP_CHANGES期望:

commit f179fb811618cc5a2f07637a2ecb394a43ebee21
Author: DannyHinshaw <danny@nulleffort.com>
Date:   Tue Jan 14 07:38:29 2020 -0500
    Testing commits diff
commit ed596d2ff2e5bd9801eae6ece7abf627db89f82b
Author: DannyHinshaw <danny@nulleffort.com>
Date:   Tue Jan 14 07:38:28 2020 -0500
    Bump version -> v1.2.1-101
commit 40f88031293aba0221b65ed1d2a8295b651ef91b
Author: DannyHinshaw <danny@nulleffort.com>
Date:   Tue Jan 14 07:35:04 2020 -0500
    Testing commits diff

我得到的:

commit f179fb811618cc5a2f07637a2ecb394a43ebee21

我錯過了什么? 如何在保留多行格式的同時捕獲完整的多行輸出並將其保存到變量中?

在 Ubuntu 18.04.3 LTS 上測試

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.3 LTS
Release:    18.04
Codename:   bionic

$ git --version
git version 2.17.1

獲取日志

GT=$(git log -n3 origin/master..)

沒有“”的回聲

$ echo $GT
commit c7c1d60c01b23ba225d79d350d74d0f8990ea8df Author: Ivan <user@pisem.net> Date: Tue Jan 14 16:05:16 2020 +0300 ref test2 commit 7a52ab307dd6eb2c88cdee83d40dbf2f2ed8c218 Author: Ivan <user@pisem.net> Date: Tue Jan 14 15:47:16 2020 +0300 ref test2 commit 8f0a2c081a4e731b676c95991d9b182fadd71a95 Author: Ivan <user@pisem.net> Date: Tue Jan 14 12:45:13 2020 +0300 add more test files

用“”回聲

$ echo "$GT"
commit c7c1d60c01b23ba225d79d350d74d0f8990ea8df
Author: Ivan <user@pisem.net>
Date:   Tue Jan 14 16:05:16 2020 +0300

    ref test2

commit 7a52ab307dd6eb2c88cdee83d40dbf2f2ed8c218
Author: Ivan <user@pisem.net>
Date:   Tue Jan 14 15:47:16 2020 +0300

    ref test2

commit 8f0a2c081a4e731b676c95991d9b182fadd71a95
Author: Ivan <user@pisem.net>
Date:   Tue Jan 14 12:45:13 2020 +0300

    add more test files

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM