在变量中分配命令的结果

时间:2016-01-11 07:46:25

标签: git bash ubuntu grep

今天我在变量中分配命令的结果时得到了这个奇怪的结果。

此命令:

git branch | grep 480 

给我这样的结果:

branch_name_480

鉴于branch_name_480是唯一包含480的分支。

但是当我尝试这样做时:

temp=`git branch | grep 480`

或者这个:

temp=$(git branch | grep 480)

之后:echo $temp 这并没有给我预期的结果 - 应该和以前一样。相反,这会在一行中给出all my directory listing and the expected result之类的结果。

我知道我可以这样做以获得预期的结果:

temp=$(echo 'git branch | grep 480')

所以,我的问题是为什么会发生这种情况?为什么我之前没有得到预期的结果?

1 个答案:

答案 0 :(得分:6)

使用echo "$temp"

git branch的输出包含一个星号,shell会扩展到目录列表。引用将阻止它这样做。