bash脚本中的if条件

用户3891747

我有一个文本文件,我想检查以下几行

com1=`awk 'NF{a=b;b=$0} END{print (b ~ /\com/)? "Yes" : "No"}' $myfile`
com2=`awk 'NF{a=b;b=$0} END{print (b ~ /\t/)? "Yes" : "No"}' $myfile`
com3=`awk 'NF{a=b;b=$0} END{print (a ~ /\t/)? "Yes" : "No"}' $myfile`
echo "$com1 --- $comp2 --- $comp3"
if [[ $comp1="Yes" ]] && [[ $comp3="No" ]]; then
    echo "condition1"
fi
if [[ $comp1="Yes" ]] && [[ $comp3="Yes" ]]; then
    echo "condition2" 
fi
if [[ $comp2="Yes" ]]; then
    echo "condition3"
fi

myfile是:

1.1.m
1.2.t

com

输出是“

Yes --- No --- No
condition1
condition2
condition3

我有两个问题。首先:我要检查文本文件的最后一行(1.2.t)之前是否包含“ t”的非空白行。因此答案0f $ com3应该为“是”,但在我的输出中为“否”。而最重要的问题是“如果条件”是行不通的。

豪克
[[ $comp1 = "Yes" ]] && [[ $comp3 = "No" ]]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章