【发布时间】:2011-01-07 20:05:22
【问题描述】:
我是 shell 脚本的新手,无法弄清楚这一点。如果你不熟悉,命令 git branch 会返回类似
* develop
master
,星号标记当前签出的分支。当我在终端中运行以下命令时:
git branch | grep "*"
我明白了:
* develop
正如预期的那样。
但是,当我运行时
test=$(git branch | grep "*")
或
test=`git branch | grep "*"`
然后
echo $test
,结果只是目录中的文件列表。我们如何让 test="* develop" 的值?
然后下一步(一旦我们将“* develop”放入一个名为 test 的变量中),就是获取子字符串。会是以下吗?
currentBranch=${test:2}
我在玩那个子字符串函数,我得到了很多“错误替换”错误,不知道为什么。
【问题讨论】:
-
如果在星号周围使用单引号会怎样:
'*'而不是"*" -
@glenn 这不是扩展发生的地方,而是在回声中,正如 marco 已经详细阐述的那样。
标签: linux git bash shell ubuntu