我有一个对话框菜单的 case 语句,并且希望它引用多个数字(一到九),如果选择了从一到九之间的任何数字。
如何让一个单词有多个值?现在
: ${EXAMPLE=9}
但是我怎样才能使它等于多个数字呢?
我到目前为止已经尝试过:
: ${EXAMPLE=1,2,3,4,5,6,7}
: ${EXAMPLE=1-9}
: ${EXAMPLE=1 && 2 && 3}
语境:
我制作了一个菜单对话框,列出了特定区域内的所有文件,并想制作一个如下的案例
case $example in
**1)** # but not just 1, it should be 1-9
echo "blah blah" ;;
esac
答案1
你可以做几件事:
- 使用范围
[1-9]
- 用于
|
创建“或”值列表 - 使用通配符:
例子:
bash-4.3$ var=25
bash-4.3$ case $var in
> [1-9]) echo "1 to 9";;
> 25|35|45) echo "25 or 25 or 45" ;;
> 5*) echo "starting with 5";;
> esac
25 or 25 or 45
Case 主要用于模式,因此如果要进行算术评估,最好使用 if 语句,[
尽管您可以执行类似以下操作[1-5][0-9][0-9]) echo "100 to 599" ;;
来查看 item 是否在 100 到 599 范围内(即 var>=100 && var<=599)。请参阅这有关 bash 的 case 语句中的算术的更多信息。