OnWorks Linux 和 Windows 在线工作站

商标

工作站免费在线托管

<上一页 | 内容 | 下一页>

案件

In 打坏, 多项选择复合命令称为 案件. 它具有以下语法:

案件 in

[模式 [| 模式]...) 命令 ;;]...

ESAC

如果我们看一下 阅读菜单 在第 28 章的程序中,我们看到了用于对用户的选择进行操作的逻辑:



#!/斌/庆典

# read-menu:一个菜单驱动的系统信息程序清除

回声"

请选择:


1. 显示系统信息

2. 显示磁盘空间

3. 展示家居空间利用率

0. 退出”

read -p "输入选择 [0-3] > "


如果 [[ $REPLY =~ ^[0-3]$ ]]; 然后如果 [[ $REPLY == 0 ]]; 然后

#!/斌/庆典

# read-menu:一个菜单驱动的系统信息程序清除

回声"

请选择:


1. 显示系统信息

2. 显示磁盘空间

3. 展示家居空间利用率

0. 退出”

read -p "输入选择 [0-3] > "


如果 [[ $REPLY =~ ^[0-3]$ ]]; 然后如果 [[ $REPLY == 0 ]]; 然后


echo "程序终止。" 出口

fi

如果 [[ $REPLY == 1 ]]; 然后回显“主机名:$HOSTNAME”正常运行时间

出口

fi

如果 [[ $REPLY == 2 ]]; 然后 df -h

出口

fi

如果 [[ $REPLY == 3 ]]; 然后

如果 [[ $(id -u) -eq 0 ]]; 然后

echo "家庭空间利用率(所有用户)" du -sh /home/*

其他

echo "家庭空间利用率 ($USER)" du -sh $HOME

出口

其他

echo "无效输入。" >&2 退出1

fi

echo "程序终止。" 出口

fi

如果 [[ $REPLY == 1 ]]; 然后回显“主机名:$HOSTNAME”正常运行时间

出口

fi

如果 [[ $REPLY == 2 ]]; 然后 df -h

出口

fi

如果 [[ $REPLY == 3 ]]; 然后

如果 [[ $(id -u) -eq 0 ]]; 然后

echo "家庭空间利用率(所有用户)" du -sh /home/*

其他

echo "家庭空间利用率 ($USER)" du -sh $HOME

出口

其他

echo "无效输入。" >&2 退出1

fi


运用 案件,我们可以用更简单的东西替换这个逻辑:


#!/斌/庆典

# case-menu:一个菜单驱动的系统信息程序清除

回声"

请选择:


1. 显示系统信息

2. 显示磁盘空间

3. 展示家居空间利用率

0. 退出”

read -p "输入选择 [0-3] > "


案例 $REPLY 在

0) 回声“程序终止。” 出口

;;

#!/斌/庆典

# case-menu:一个菜单驱动的系统信息程序清除

回声"

请选择:


1. 显示系统信息

2. 显示磁盘空间

3. 展示家居空间利用率

0. 退出”

read -p "输入选择 [0-3] > "


案例 $REPLY 在

0) 回声“程序终止。” 出口

;;


1) 回显“主机名:$HOSTNAME”正常运行时间

;;

2) df-h

;;

3) 如果 [[ $(id -u) -eq 0 ]]; 然后

echo "家庭空间利用率(所有用户)" du -sh /home/*

其他

echo "家庭空间利用率 ($USER)" du -sh $HOME

fi

;;

*) echo "Invalid entry" >&2 exit 1

;;

ESAC

1) 回显“主机名:$HOSTNAME”正常运行时间

;;

2) df-h

;;

3) 如果 [[ $(id -u) -eq 0 ]]; 然后

echo "家庭空间利用率(所有用户)" du -sh /home/*

其他

echo "家庭空间利用率 ($USER)" du -sh $HOME

fi

;;

*) echo "Invalid entry" >&2 exit 1

;;

ESAC


这个 案件 命令查看的值 ,在我们的例子中, 回复 变量,然后尝试将其与指定的其中之一进行匹配 模式. 当找到匹配项时, 命令 与指定模式相关联的执行。 找到匹配项后,不再尝试进一步匹配。


 

OnWorks 的顶级操作系统云计算: