我有一个shell脚本变量。
$a = "Hello i am pass"
现在我想在变量
$a
中搜索 "pass
"。if ["$a" == "pass"]; then
echo "`Success`"
else
echo "`fail`"
fi
请给我一个用于在上述代码中搜索密码关键字的shell脚本。
我有一个shell脚本变量。
$a = "Hello i am pass"
$a
中搜索 "pass
"。if ["$a" == "pass"]; then
echo "`Success`"
else
echo "`fail`"
fi
试试这个方法:
#!/bin/bash
a="Hello i am pass";
if [ `echo $a | grep -c "pass" ` -gt 0 ]
then
echo "Success"
else
echo "Fail";
fi
grep
比接受的使用awk
的答案更安全。在Solaris上,可能需要使用nawk
;而在OS X上,可能需要从端口使用gawk
。 - jww这是更紧凑的写法:
```echo "$a" | grep "pass" && echo "Found." || echo "Not found."
您可以使用大括号来放置多个指令,而不是简单地使用echo
:
echo "$a" | grep "pass" && {echo "Found.";exit 0} || {echo "Not found.";exit 1}
{ }
而不是括号。不需要使用子壳。 - Amit Naidu退出
。你还需要在闭合大括号前加上分号,并在打开大括号后加上空格。`echo "$a" | grep "pass" && { echo "找到了。"; true; } || { echo "未找到。"; false; }。 - Amit Naiduflag=`echo $a|awk '{print match($0,"pass")}'`;
if [ $flag -gt 0 ];then
echo "Success";
else
echo "fail";
fi
awk
,grep
等有点过头了。我担心很多人会复制粘贴这个答案,因为它是一个被接受的答案,所以首先运行这个(bash/ksh/zsh):a='Hello i am pass'; [[ "$a" =~ "pass" ]] && echo Success || echo Fail
- Amit Naiduif [ `echo $test| grep -c "abc" ` -gt 0 ]
如果成功则输出 "Success",否则输出 "Fail"。
简短命令:
OPC="test"
PROD="This is a test"
[[ ${PROD,,} =~ $OPC ]] && echo -n 1 || echo -n 0
试试这个
a="Hello I am Pass";
a1="Hello, Passed my First Attempt"
a2="Passed in First Attempt"
if [[ ${a,,} =~ 'pass' ]]; then echo 'Success'; else echo 'First Attempt in Learning'; fi