我不明白 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"