实施例
if "darwin" in $MACHTYPE;
then
echo "whoa it's a mac!"
fi
输出应为
如果在$ MACHTYPE的输出中找到darwin ,那么它是一个mac请指导我!
答案 0 :(得分:1)
如果您使用bash
,则可以使用=~
运算符:
if [[ "$MACHTYPE" =~ "darwin" ]];
then
echo "whoa it's a mac!"
fi
来自bash
手册页:
可以使用另外的二元运算符=〜,其优先级与==和!=相同。使用它时,操作符右侧的字符串被视为扩展正则表达式并相应匹配(如在regex(3)中)。
答案 1 :(得分:1)
如果您没有支持正则表达式的bash
版本,那么您可以使用 globbing :
if [[ $MACHTYPE = *darwin* ]]
then
echo "whoa it's a mac!"
fi
请注意,您必须使用[[
,而不是[
。
sh
等其他shell可能支持[[
,但标准无法保证这一点。
答案 2 :(得分:0)
您可以直接评估您的命令,例如:
if uname -a | grep -i "darwin" > /dev/null; then
echo "it is a mac"
fi
在这种情况下,grep
如果找到值将退出0并且输出将被重定向到/dev/null
如果尝试然后您可以调用您的命令,在这种情况下:echo "it is a mac"
答案 3 :(得分:0)
下面的代码可以在cmd上获取命令的输出,然后检查是否有特定的单词。
command="command here"
if[ `echo $command | grep -c "\"darwin\""` -gt 0 ]; then
Do anything you want here
fi