想要将某个命令执行后输出内容赋值给变量,然后根据输出中是否包含指定关键字来判断命令执行是否符合预期。
匹配方法
如下所示,直接用 =~ 匹配变量值和字符串即可,下面的if判断表示变量 $info 的值中包含 "NotFound" 字符即表示匹配成功。
if [[ ${info} =~ "NotFound" ]]; then
echo "匹配 成功"
fi
测试脚本
如下脚本用来验证变量值是否匹配,根据 $1 参数的值来为变量 $info 赋予不同的值来和 "NotFound" 字符串进行匹配。
[root@imzcy ~]# cat test.sh
#!/bin/bash
if [ $1 -eq 1 ]; then
info='Error from server (NotFound): deployments.apps "deploymenta-web-newwechat" not found'
else
info='No resources found in prod namespace.'
fi
if [[ ${info} =~ "NotFound" ]]; then
echo "匹配 成功"
else
echo "匹配 失败"
fi
[root@imzcy ~]#
当参数为1时,正常匹配。当参数为2时,不匹配。
[root@imzcy ~]# sh test.sh 1
匹配 成功
[root@imzcy ~]#
[root@imzcy ~]# sh test.sh 2
匹配 失败
[root@imzcy ~]#
本文采用 知识共享署名4.0 国际许可协议进行许可。
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。
如果您的问题未解决,欢迎微信扫描右侧二维码与我联系。