Jon*_*ard 4 git bash shell git-branch
我正在尝试查看shell脚本中是否存在某个分支.
但是,git-branch
插值时似乎修改了它的输出.(我不知道这里的确切现象或术语)
例如,我正在尝试获取分支数组:
$ git branch
develop
* master
$ branches=`git branch`
$ echo $branches
develop compiler.sh HOSTNAME index.html master
$ echo `git branch`
develop compiler.sh HOSTNAME index.html master
Run Code Online (Sandbox Code Playgroud)
一种ls-files
似乎正在阻碍.怎么会?这是Bash吗?Git的?我糊涂了.
输出git branch
包含*
字符,表示您当前的分支:
$ git branch
develop
* master
Run Code Online (Sandbox Code Playgroud)
echo *
在shell中运行将打印工作目录的全局:
compiler.sh HOSTNAME index.html
Run Code Online (Sandbox Code Playgroud)
因此,您的原始问题就出现了,因为在扩展之后,您实际上正在运行echo develop * master
.
为了避免这种目录通配行为,您可以branches
在以下期间强引用echo
:
$ branches=`git branch`
$ echo "$branches"
develop
* master
Run Code Online (Sandbox Code Playgroud)