为什么 b=`gitbranch` 与 gitbranch 不同

为什么 b=`gitbranch` 与 gitbranch 不同

我不明白 Bash 在这种情况下的行为:

如果我输入git branch,我会得到一个分支列表。

但是,如果我尝试将其放入变量中,例如,,b=`git branch`; echo $b我会得到一个输出,就像我制作了一样ls; git branch。目录的内容与分支一起列出。

有人可以解释一下这种行为吗?

答案1

git branch指示当前分支使用*.当你跑步时

b=`git branch`; echo $b

由于$b与 一起使用时不加引号echo,因此*shell 会对其进行扩展,显示当前目录中的文件。引用将避免这种情况:

b=`git branch`; echo "$b"

相关内容