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