今天我在变量中分配命令的结果时得到了这个奇怪的结果。
此命令:
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')
所以,我的问题是为什么会发生这种情况?为什么我之前没有得到预期的结果?
答案 0 :(得分:6)
使用echo "$temp"
。
git branch
的输出包含一个星号,shell会扩展到目录列表。引用将阻止它这样做。