在变量中分配命令的结果

Sac*_*hin 2 git bash ubuntu grep

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

这个命令:

git branch | grep 480 
Run Code Online (Sandbox Code Playgroud)

给我这样的结果:

branch_name_480
Run Code Online (Sandbox Code Playgroud)

鉴于这branch_name_480是唯一一个480的分支.

但是当我尝试这样做时:

temp=`git branch | grep 480`
Run Code Online (Sandbox Code Playgroud)

或这个:

temp=$(git branch | grep 480)
Run Code Online (Sandbox Code Playgroud)

之后:echo $temp 这不会给我预期的结果 - 应该和以前一样.相反,这给我的结果就像all my directory listing and the expected result一行一样.

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

temp=$(echo 'git branch | grep 480')
Run Code Online (Sandbox Code Playgroud)

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

Jon*_*oni 6

使用echo "$temp".

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