if语句
    两种 格式
    1)

    1. # 一个条件判断,分成功进行与失败进行 (else)
    2. if [ 条件判断式 ]; then
    3. 当条件判断式成立时,可以进行的指令工作内容;
    4. else
    5. 当条件判断式不成立时,可以进行的指令工作内容;
    6. fi

    2)

    # 多个条件判断 (if ... elif ... elif ... else) 分多种不同情况执行 
    if [ 条件判断式一 ]; then 
    当条件判断式一成立时,可以进行的指令工作内容; 
    elif [ 条件判断式二 ]; then 
    当条件判断式二成立时,可以进行的指令工作内容; 
    else 
    当条件判断式一与二均不成立时,可以进行的指令工作内容; 
    fi
    

    要求
    1. 判断 $1 是否为 hello,如果是的话,就显示 “Hello, how are you ?”;
    2. 如果没有加任何参数,就提示使用者必须要使用的参数下达法;
    3. 而如果加入的参数不是 hello ,就提醒使用者仅能使用 hello 为参数。
    鸟哥写的 and 我写的 两种实现方式

    鸟哥写的
    [dmtsai@study bin]$ vim hello-2.sh 
    if [ "${1}" == "hello" ]; then 
    echo "Hello, how are you ?" 
    elif [ "${1}" == "" ]; then 
    echo "You MUST input parameters, ex> {${0} someword}" 
    else 
    echo "The only parameter is 'hello', ex> {${0} hello}" 
    fi 
    
    ---------------我写的-------------------
    #/bin/bash
    
    if [ "${1}" == "" ] ;
    then
    echo "must  input canshu"
    exit 3
    else
    
            if [ "${1}" == "hello" ];
            then
                    echo "hello,how are you?"
            exit 1
            else
                    echo "just can input hello"
            exit 2
            fi
    fi
    

    case 语句(case情况)

    case $变量名称 in <==关键字为 case ,还有变量前有钱字号 
    "第一个变量内容") <==每个变量内容建议用双引号括起来,关键字则为小括号 ) 
    程序段 
    ;; <==每个类别结尾使用两个连续的分号来处理! 
    "第二个变量内容") 
    程序段 
    ;; 
    *) <==最后一个变量内容都会用 * 来代表所有其他值 
    不包含第一个变量内容与第二个变量内容的其他程序执行段 
    exit 1 
    ;; 
    esac <==最终的 case 结尾!“反过来写”思考一下!
    

    接着上遍的例子 使用case语句 更简洁

    [dmtsai@study bin]$ vim hello-3.sh 
    case ${1} in 
    "hello")
    echo "Hello, how are you ?" 
    ;; 
    "") 
    echo "You MUST input parameters, ex> {${0} someword}" 
    ;; 
    *) # 其实就相当于万用字符,0~无穷多个任意字符之意! 
    echo "Usage ${0} {hello}" 
    ;; 
    esac
    

    他不仅可以 使用固定的变量还可以使用你输入的 参数 这样使用 这样使用的话就可以使用的输入的参数来进行选择

    [dmtsai@study bin]$ vim show123.sh 
    
    echo "This program will print your selection !" 
     read -p "Input your choice: " choice 
     case ${choice} in   
    "one")
    echo "Your choice is ONE" 
    ;; 
    "two")
    echo "Your choice is TWO" 
    ;; 
    "three")
    echo "Your choice is THREE" 
    ;; 
    *) 
    echo "Us
    

    利用function(函数)功能 (了解就好 使用很少)
    什么是“函数 (function)”功能啊?简单的说,其实, 函数可以在 shell script 当中
    做出一个类似自订执行指令的东西,最大的功能是, 可以简化我们很多的程序码~举例
    来说,上面的 show123.sh 当中,每个输入结果 one, two, three 其实输出的内容都一样啊~
    那么我就可以使用 function 来简化了! function 的语法是这样的:

    tion fname() { 
    程序段 
    }
    

    那个 fname 就是我们的自订的执行指令名称~而程序段就是我们要他执行的内容
    了。 要注意的是,因为 shell script 的执行方式是由上而下,由左而右, 因此在 shell script
    当中的 function 的设置一定要在程序的最前面, 这样才能够在执行时被找到可用的程序
    段喔 (这一点与传统程序语言差异相当大!初次接触的朋友要小心!)! 好~我们将
    show123.sh 改写一下,自订一个名为 printit 的函数来使用喔:

    [dmtsai@study bin]$ vim show123-2.sh 
    
    function printit(){ 
    echo -n "Your choice is " # 加上 -n 可以不断行继续在同一行显示 
    }
    echo "This program will print your selection !" 
    case ${1} in 
    "one")
    printit; echo ${1} | tr 'a-z' 'A-Z' # 将参数做大小写转换! 
    ;; 
    "two")
    printit; echo ${1} | tr 'a-z' 'A-Z' 
    ;; 
    "three")
    printit; echo ${1} | tr 'a-z' 'A-Z' 
    ;; 
    *) 
    echo "Usage ${0} {one|two|three}" 
    ;; 
    esac
    

    以上面的例子来说,鸟哥做了一个函数名称为 printit ,所以,当我在后续的程序
    段里面, 只要执行 printit 的话,就表示我的 shell script 要去执行“ function printit …. ” 里面
    的那几个程序段落啰!当然啰,上面这个例子举得太简单了,所以你不会觉得 function 有
    什么好厉害的, 不过,如果某些程序码一再地在 script 当中重复时,这个 function 可就重
    要的多啰~ 不但可以简化程序码,而且可以做成类似“模块”的玩意儿,真的很棒啦
    Tips建议读者可以使用类似 vim 的编辑器到 /etc/init.d/ 目录下去查阅一下
    你所看到的文件, 并且自行追踪一下每个文件的执行情况,相信会更
    有心得!
    另外, function 也是拥有内置变量的~他的内置变量与 shell script 很类似, 函数
    名称代表示 $0 ,而后续接的变量也是以 $1, $2… 来取代的~ 这里很容易搞错喔~因为“
    function fname() { 程序段 } ”内的 $0, $1… 等等与 shell script 的 $0 是不同的。以上面
    show123-2.sh 来说,假如我下达:“ sh show123-2.sh one ” 这表示在 shell script 内的 $1 为
    “one” 这个字串。但是在 printit() 内的 $1 则与这个 one 无关。 我们将上面的例子再次
    的改写一下,让你更清楚!

    [dmtsai@study bin]$ vim show123-3.sh 
    
    function printit(){ 
    echo "Your choice is ${1}" # 这个 $1 必须要参考下面指令的下达 
    }
    echo "This program will print your selection !" 
    case ${1} in 
    "one")
    printit 1 # 请注意, printit 指令后面还有接参数! 
    ;; 
    "two")
    printit 2 
    ;; 
    "three")
    printit 3 
    ;; 
    *) 
    echo "Usage ${0} {one|two|three}" 
    ;; 
    esac
    

    在上面的例子当中,如果你输入“ sh show123-3.sh one ”就会出现“ Your choice is 1
    ”的字样~ 为什么是 1 呢?因为在程序段落当中,我们是写了“ printit 1 ”那个 1 就会成为
    function 当中的 $1 喔~ 这样是否理解呢? function 本身其实比较困难一点,如果你还想
    要进行其他的撰写的话。 不过,我们仅是想要更加了解 shell script 而已,所以,这里看
    看即可~了解原理就好啰~ ^_