非常类似但不完全相同:https://dev59.com/GHI95IYBdhLWcg3wvwsQ#2172367
我使用的是Git Bash 3.1(至少在我在git bash中键入bash时提示出现的是这个版本)。
$ test [["DEV-0" == D*]] || echo 'fail'
输出 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中测试字符串开头的内容?
也会显示
[[DEV-0-1: command not found`。 - Maslowif [[ 'DEV-0-1' == DEV* ]] ; then echo "yes";
看起来是可以工作的。 - Maslowtest ||
语法有什么问题吗?和同样的事情吗? - Maslow[[
是一个bash内置的测试语法,而test
或[
是传统的UNIX命令(这很重要--毕竟在命令名称和其参数之间始终需要一个空格)。你只能使用其中之一;尝试将它们组合在一起,如test [[ ...
是没有意义的。 - Charles Duffy