为什么没有了以下工作? 所有我想要做的是执行adb
命令,如果响应包含特定字符串,然后做一些事情。
我不断收到错误[; too many arguments
[; too many arguments
VARIABLE=$(adb devices);
if [ "$VARIABLE" == *list of attached* ]; then
echo "adb command worked";
fi
有任何想法吗?
为什么没有了以下工作? 所有我想要做的是执行adb
命令,如果响应包含特定字符串,然后做一些事情。
我不断收到错误[; too many arguments
[; too many arguments
VARIABLE=$(adb devices);
if [ "$VARIABLE" == *list of attached* ]; then
echo "adb command worked";
fi
有任何想法吗?
尝试引用内部参数[[ and ]]
:
VARIABLE="$(adb devices)"
if [[ "$VARIABLE" == *"list of attached"* ]]; then
echo "adb command worked";
fi
==
需要在左右两侧单个参数。 当您使用[ "$VARIABLE" == *list of attached* ]
那么*list
是以后的第一个参数==
和其他被认为是额外的参数。
你可以或者尝试使用bash的二进制运算符=~
做正则表达式匹配:
VARIABLE="$(adb devices)"
if [[ $VARIABLE =~ list\ of\ attached ]]; then
echo "adb command worked"
fi