我不明白 Bash 在这种情况下的行为:
如果我输入git branch,我会得到一个分支列表。
但是,如果我尝试将它放入一个变量中,例如b=`git branch`; echo $b,我会得到一个输出,就像我制作了ls; git branch. 目录的内容与分支一起列出。
有人可以解释这种行为吗?
git branch使用 指示当前分支*。当你跑
b=`git branch`; echo $b
Run Code Online (Sandbox Code Playgroud)
由于$b使用不带引号echo,因此*由 shell 展开,显示当前目录中的文件。引用将避免这种情况:
b=`git branch`; echo "$b"
Run Code Online (Sandbox Code Playgroud)