存储在变量中时,Bash命令输出会发生变化

时间:2013-08-18 03:27:31

标签: bash command-line

当我运行命令时:

git lg --since="24 hours ago" | tail -1

我得到了预期的结果:

* f71da17 - blah blah blah (12 hours ago)

但是,当我将此输出存储在变量中并将其回显到控制台时:

last_commit=$(git lg --since="24 hours ago" | tail -1); echo $last_commit

我得到了意想不到的结果:

dir1/ dir2/ dir3/ file1 file2 file3 * f71da17 - blah blah blah (12 hours ago)

它将当前目录中的每个文件添加到输出中。任何有关正在发生的事情的见解都将非常感激!

1 个答案:

答案 0 :(得分:4)

变量值中的*正在进行全局扩展,因为您没有引用扩展。

使用echo "$last_commit"