当我执行此命令时
git log 23237d...1a8815 --oneline --pretty=tformat:"%h %B"
Run Code Online (Sandbox Code Playgroud)
我得到类似的东西
1a88151 commit1
8a544c0 commit2
b168aa9 commit3
Run Code Online (Sandbox Code Playgroud)
但是当我想将其导出到某个变量时:
export LOG=`git log 23237d...1a8815 --oneline --pretty=tformat:"%h %B"`
Run Code Online (Sandbox Code Playgroud)
并输出它:echo $LOG
,我得到这个:
1a88151 commit1 8a544c0 commit2 b168aa9 commit3
Run Code Online (Sandbox Code Playgroud)
如何进行多行导出?
您需要LOG
在调用 echo 时引用变量的扩展:
echo "$LOG"
Run Code Online (Sandbox Code Playgroud)
这可以防止发生分词。IFS
在这种情况下,您不需要修改变量。
Bash 使用IFS
变量的内容处理输入。从文档:
内部字段分隔符 (IFS),用于在扩展后进行分词,并使用 read 内置命令将行拆分为单词。默认值为
<space><tab><newline>
。
您可以更改的值IFS
来改变行为:
IFS='' export LOG=`git log 23237d...1a8815 --oneline --pretty=tformat:"%h %B"`
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1565 次 |
最近记录: |