두 문자열 "foo"와 "bar"를 비교하는 스크립트

두 문자열 "foo"와 "bar"를 비교하는 스크립트

사용자 입력이 "foo"일 때 스크립트는 "foo" 또는 "bar"를 인쇄한 다음 "bar"를 인쇄하거나, 사용자 입력이 "bar"일 때 "foo"를 인쇄하고 그렇지 않으면 "잘못된 문자열"을 표시하는 스크립트를 생성하겠습니다. ". 이것은 제가 쓰고 있는 스크립트입니다:

foo=$x
bar=$y
val=$val
echo "enter the val = $val "
read $val
if [ "$val" = "$x" ]
then echo "bar"
elif [ "$val" = "$y" ] 
then echo "foo"
else echo "invalid string"
fi

저는 스크립팅을 처음 접해서 잘 이해하지 못합니다.

답변1

나는 이것이 당신에게 필요한 것이라고 생각합니다 :

#!/bin/bash

foo="foo"
bar="bar"

val=""

read -p "Enter the var: " val 

if [ "$val" == "$foo" ]; then
    echo "$bar"
else
    if [ "$val" == "$bar" ]; then
        echo "$foo"
    else
        echo "Invalid string"
    fi
fi

if...else블록을 다음으로 대체 할 수 있습니다 case(가능한 옵션이 너무 많을 때 유용합니다).

case "$val" in
    "$foo")
        echo "$bar"
        ;;
    "$bar")
        echo "$foo"
        ;;
    *)
        echo "Invalid string"
        ;;
esac

관련 정보