【发布时间】:2013-03-03 07:49:28
【问题描述】:
非常相似但不重复: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 开头的字符串缺少什么?
【问题讨论】:
-
您有语法错误,您需要在 [[ 和 ]] 的两边都有空格;
-
if [['DEV-0-1' == DEV* ]] ; then echo "yes";也说[[DEV-0-1: command not found -
啊!
if [[ 'DEV-0-1' == DEV* ]] ; then echo "yes";似乎有效。 -
test ||语法有什么问题?同样的事情? -
@Maslow
[[是 bash 内置的测试语法,test或[是传统的 UNIX 命令(这很重要——在毕竟命令及其参数)。您使用其中一种;尝试像test [[ ...那样组合它们是没有意义的。