我知道这是关于验证多个变量的多次询问。但是,这是用于验证单个字母(字母)的if条件。
我有一条这样的声明。参数是从另一个脚本传递的
action=$1
name=$2
gname=$3
echo "action is $action name is $name and gname is $gname" # making sure i got the args passed right
#if [ $action != B ] || [ $action != T ] || [ $action != R ] ; // This WORKS!!
if [ $action != [ B | R | T ]; then // Returns an error
echo "NADA"
exit
fi
if [ $name != SNAP1 ] || [ $name != SNAP2 ] || [ $name != SNAP3 ] ;
echo "NADA"
exit
fi
我想知道如何比较的不仅仅是3个字母和3个变量。如果我想验证8个以上的字母怎么办,有没有更好的方式编写if语句,如何缩短比较时间?
答案 0 :(得分:0)
您可以使用case
:
case "$action" in
[BRT]) ;;
*) echo "NADA" ;;
esac