사용자 입력이 "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