Bash 스크립트의 조건이 있는 경우

Bash 스크립트의 조건이 있는 경우

텍스트 파일이 있는데 아래의 특정 줄을 확인하고 싶습니다.

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

내 파일은 다음과 같습니다

1.1.m
1.2.t

com

출력은 "

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

두 가지 질문이 있습니다. 첫째: 텍스트 파일(1.2.t)의 마지막 줄 앞의 비어 있지 않은 줄에 "t"가 포함되어 있는지 확인하고 싶습니다. 따라서 0f $com3의 대답은 "예"여야 하지만 내 출력에서는 "아니오"입니다. 가장 중요한 문제는 "if 조건" 중 어느 것도 작동하지 않는다는 것입니다.

답변1

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

관련 정보