if 문 호출 함수 및 잘못된 결과

if 문 호출 함수 및 잘못된 결과

쉘 스크립트는 하나의 함수만 호출할 것으로 예상하지만 실제로는 두 개의 함수를 동시에 호출합니다. 이 문제를 해결하는 방법은 다음과 같습니다.

둘 다 똑같아

그들은 동일하지 않습니다

#!/bin/bash

var1=ORCL
var2=ORCL

function f1    
{  
    echo "both are same"
}

function f2
{
    echo "both are not same"
}

if [ $var1=$var2 ]; 
then
    f1  
fi

if [ $var1!=$var2 ]; 
then
    f2
fi

답변1

공간관계 연산자 내에서 사용될 때 필수만약에상황

전임자:

if [ $var1 = $var2 ] ;

if [ $var1 != $var2 ] ;

스크립트 수정

#!/bin/bash

var1=ORCL
var2=ORCL

f1()
{
echo "both are same"
}

f2()
{
echo "both are not same"
}

if [ $var1 = $var2 ];
then
        f1
fi

if [ $var1 != $var2 ];
then
        f2
fi

답변2

공백을 추가해야 합니다.

바꾸다

if [ $var1=$var2 ]; 

그리고

if [ "$var1" = "$var2" ];

두 번째 if진술도 마찬가지다.

관련 정보