以下测试语法是ksh脚本的一部分
[[ $PARAM = TRUE ]] && [[ ` echo $LINE_FROM_FILE | grep -c Validation ` -eq 1 ]] && print "find Validation word"
我是否可以使用其他一些创意语法/解决方案/命令来验证LINE_FROM_FILE中是否存在验证字而不使用echo命令?
LINE_FROM_FILE =“123验证V125 tcp IP = 1.2.56.4”
备注:需要完全匹配验证字
利迪娅
答案 0 :(得分:0)
您可以使用case
执行此操作:
case $LINE_FROM_FILE in
*Validation*)
echo "found word Validation"
;;
*)
echo "did not find word Validation"
;;
esac
答案 1 :(得分:0)
您可以使用Parameter expansion
删除所有内容,包括验证,并将其与参数的正常扩展进行比较。如果它们不相等,则参数包含验证。
[[ "${LINE_FROM_FILE##* Validation }" != "${LINE_FROM_FILE}" ]]
(因为在验证之前和之后总是有空格,这些可以包含在模式中。我不知道在shell模式中匹配单词的开头和结尾的其他方法)
答案 2 :(得分:0)
[[ $PARAM = TRUE ]] && [[ "$LINE_FROM_FILE" == *Validation* ]] && print "find Validation word"