Bash - 检查字符串是否以预定义的子字符串开头

9

我有一个变量$projectName,如何检查它是否以字符串'testProject'开头?


1
太好了,没有人将这个问题标记为“重复的问题”,因为只有在这里才能找到答案! - KansaiRobot
2个回答

15

你可以在BASH中使用这个检查:

[[ "$projectName" == "testProject"* ]]

1
最终有东西可以运行了! - KansaiRobot

11

例如,您可以使用:

[[ "$projectName" =~ ^testProject ]] && echo "yes"
                     ^
                     beginning of line

测试

$ var="hello"
$ [[ "$var" =~ ^he ]] && echo "yes" || echo "no"
yes
$ var="ahello"
$ [[ "$var" =~ ^he ]] && echo "yes" || echo "no"
no

第二个例子 $ var="ahello" $ [[ "$var" =~ ^he ]] && echo "yes" 应该返回“no”,因为它不以“he”开头。 - Alex Brodov
@user3502786,它没有返回任何内容是因为“||”未定义。我只是这样做是为了更好地理解。 - fedorqui

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接