设为首页 加入收藏

TOP

bash中while,until,case,select语句结构(一)
2018-03-28 09:05:58 】 浏览:421
Tags:bash while until case select 语句 结构

case语句:


    在脚本中使用case结构:
        case ${VAR_NAME} in
           PATTERN1)
               COMMAND
               ...
               ;;
           PATTERN2)
               COMMAND
               ...
               ;;
           ...
        esac

        PATTERN(模式)可以是下列几类字符:
           1.普通的文本字符
           2.Globbing风格的通配符:
               *:任意长度的任意字符
               ?:任意单个字符;
               []:指定范围内的任意单个字符;
               [^]:指定范围以外的任意单个字符;
           3.|
               或字符


if的多分支结构和case的选择分支结构的异同:
相同点:
   1.判断的条件为真时,才会执行对应分支中的语句;条件为假,就跳过不执行;
   2.都可以设置默认分支语句,即:所有给定的条件的判断都为假时,才会执行的语句;

不同点:
   1.if是根据命令的执行状态返回值的真或假来判断执行某个分支中的语句;
       case是根据变量中所保存的值与指定的模式匹配的结果的真或假来判断是否该执行某个分支中的语句;
   2.if的每个分支中无需单独到的结束标记,case的每个分支都必须以;;结束;


编写管理用户账户的脚本,第四版,利用case语句+for循环,同时接受创建和删除用户的操作;


#!/bin/bash
#
#helps函数,显示提示信息和帮助信息
helps(){
    echo -e "Usage: $(basename $0) options... USERLIST\n"
    echo -e "  Options: "
    echo -e "    -a, --add: \vAdd some users from USERLIST."
    echo -e "    -d, --delete: \vDelete some users from USERLIST."
    echo -e "    -h, --help: \vPrint help informationn."
    echo -e "    -v, --verbose: \vPrint more informationn about manage users."
    echo
    echo -e "  USERLIST FORMAT: "
    echo -e "    USERNAME1,USERNAME2,...,USERNAMEN"
}
#输入的选项的个数
if [ $# -lt 1 ] ; then
      helps
    exit 5
fi
ADDUSER=0
DELUSER=0
DEBUG=0
#对选项进行筛选执行
for I in $(seq $#) ; do
    if [ $# -ne 0 ] ;then
        case $1 in
            -h|--help)
                helps
                exit 0
                ;;
            -v|--verbose)
                DEBUG=1
                shift
                ;;
            -a|--add)
                ADDUSERLIST=$2
                ADDUSER=1
                shift 2
                ;;
            -d|--delete)
                DELUSERLIST=$2
            &nbs

首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇bash脚本中 if 语句 和 for 语句.. 下一篇Python初认识

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目