Bash 每行检查两个表达式

Bash 每行检查两个表达式,bash,Bash,在我的CheckCodingGuidelines脚本中,我想检查文本文件中是否仍然存在“TunerParams”和“CalcInternal”。如果是这样,则测试结果应为阴性 到目前为止,我得到的是: while read line do if [[ $line == *TunerParams* ]]

在我的
CheckCodingGuidelines
脚本中,我想检查文本文件中是否仍然存在“TunerParams”和“CalcInternal”。如果是这样,则测试结果应为阴性

到目前为止,我得到的是:

while read line                                                                 
    do                   

        if [[ $line == *TunerParams* ]]                           
        then                                                                    
            DOCUMENTATION_TEST_A=1
        else
            DOCUMENTATION_TEST_A=0      

            fi

        done < $INPUT_FILE

        if [ $line === *CalcInternal* ]]
        then
            DOCUMENTATION_TEST_A=1
        else
            DOCUMENTATION_TEST_A=0
            fi




if [[ $DOCUMENTATION_TEST_A=0 ]];   
then                                       
    echo "error: Rule12: Still TunerParams and CalcInteral in Script                                   

fi
读取行时
做
如果[[$line==*TunerParams*]]
然后
文件测试A=1
其他的
文档\u测试\u A=0
fi
完成<$INPUT\u文件
如果[$line===*CalcInternal*]]
然后
文件测试A=1
其他的
文档\u测试\u A=0
fi
如果[$DOCUMENTATION\u TEST\u A=0];
然后
echo“错误:规则12:脚本中仍存在TunerParams和CancinerTeral
fi

我知道我可能是在完全愚弄自己,但这是我处理bash的第一天。

是你的朋友!我们都必须从某个地方开始;-)。至少你在尝试,并且你在一个非琐碎的问题上朝着正确的方向努力。同意shellcheck.net,但
awk
就是为了处理这个问题而设计的s类问题。查看一个好的教程。祝你好运。
done
行应该在所有
if
测试之后位于底部。查看shell
case
以简化此类测试的语法。(
case
awk
的所有版本中都不可用)。你可能还想要
[[“str“~=*匹配*]
。祝你好运。谢谢你所有的激励性回复和链接,但这次你能帮我快点吗?因为我今天必须完成这件事,我将从现在开始研究它,并学会自己做?他是你的朋友!我们都必须从某个地方开始;-)。至少在一个非琐碎的问题上,你正在努力,而且你的目标是正确的。同意shellcheck.net,但awk设计用于处理此类问题。查看一个好的教程。祝你好运。
done
行应该在所有
if
测试之后位于底部。查看shell
case
,以简化此类测试的语法。(
case
并非在所有版本的
awk
中都可用)。您可能还需要
[[“str”~=*匹配*]
。祝你好运。谢谢你所有的激励性回复和链接,但这次你能帮我快点吗?因为我今天必须完成这件事,我将从现在开始研究它,并学会自己做?