我想测试第一个参数是否是以下之一:" ABC"或" DEF"或" GHI"。
如果不是 - 打印使用并退出。
答案 0 :(得分:4)
if [[ "$1" =~ ^(ABC|DEF|GHI)$ ]]; then
echo "usage"
exit
fi
答案 1 :(得分:2)
这种情况在sh和bash中运行:
case "$1" in
'ABC' | 'DEF' | 'GHI') ;;
*) echo "usage"
exit;;
esac
答案 2 :(得分:0)
您可以使用带有字符串比较的普通if语句:
if [ "$1" != "ABC" -a "$1" != "DEF" -a "$1" != "GHI" ]; then
echo "Usage: $0 ABC|DEF|GHI"
exit 0
fi
或者:
if [ "$1" = "ABC" -o "$1" = "DEF" -o "$1" = "GHI" ]; then
# Do something.
else
echo "Usage: $0 ABC|DEF|GHI"
exit 0
fi