如何在bash中测试字符串是否以另一个字符串开头?

时间:2013-03-14 19:10:00

标签: bash git-bash

非常相似但不重复:https://stackoverflow.com/a/2172367/57883

我在Git Bash 3.1中(至少在我在git bash中键入bash的时候会出现提示。

$ test [["DEV-0" == D*]] || echo 'fail'打印失败。

if [['DEV-0-1' == DEV* ]]; then echo "yes";[[DEV-0-1: command not found 我正在尝试测试git branch是否返回以DEV开头的内容。但我似乎无法应用答案。是因为我所有的尝试都是在左边使用字符串文字而不是变量值吗?

我也在ideone http://ideone.com/3IyEND

上尝试过它

没有运气。 自从我使用linux提示符以来已经有14年了。

字符串中缺少的是什么,以bash中的test开始?

2 个答案:

答案 0 :(得分:12)

你错过了那里的空间:

 if [[ 'DEV-0-1' == DEV* ]]; then echo "yes"; fi
      ^^

答案 1 :(得分:6)

我可能更喜欢这样检查:

s1=DEV-0-1
s2=DEV

if [ "${s1:0:${#s2}}" == "$s2" ]; then
  echo "yes"
fi