在Shell脚本变量中搜索字符串

时间:2012-06-11 11:07:35

标签: shell unix

我有一个shell脚本变量

$a = "Hello i am pass"

现在我想在变量pass中搜索“$a”。

if ["$a" == "pass"]; then
echo "`Success`" 
else 
echo "`fail`"
fi

请给我一个shell脚本,用于搜索上面代码中使用的pass关键字。

6 个答案:

答案 0 :(得分:11)

试试这个,

#!/bin/bash
a="Hello i am pass";
if [ `echo $a | grep -c "pass" ` -gt 0 ]
then
  echo "Success"
else
  echo "Fail";
fi

答案 1 :(得分:5)

这是一种更简洁的方式来写这个:

echo "$a" | grep "pass" && echo "Found." || echo "Not found."

您可以使用括号来输入多条指令,而不是简单的echo

echo "$a" | grep "pass" && (echo "Found.";exit 0) || (echo "Not found.";exit 1)

答案 2 :(得分:4)

flag=`echo $a|awk '{print match($0,"pass")}'`;

if [ $flag -gt 0 ];then

    echo "Success";
else
    echo "fail";

fi

答案 3 :(得分:1)

如今,

我使用了扩展选择参数,并使用execute shell进行了字符串匹配。 如果有人会发现相同的问题,任何人都可以使用

if [ `echo $test| grep -c "abc" ` -gt 0 ]

然后   回声“成功” 其他   回显“失败”; fi

答案 4 :(得分: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

答案 5 :(得分:0)

简短命令:

OPC="test"
PROD="This is a test"
[[ ${PROD,,} =~ $OPC ]] && echo -n 1 || echo -n 0

答案是" 1"当找到" OPC"在" PROD"。