日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

        歡迎訪問 生活随笔!

        生活随笔

        當前位置: 首頁 > 运维知识 > linux >内容正文

        linux

        Linux01-bash脚本编程之六使用脚本选项及组合条件测试23

        發布時間:2025/5/22 linux 46 豆豆
        生活随笔 收集整理的這篇文章主要介紹了 Linux01-bash脚本编程之六使用脚本选项及组合条件测试23 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


        練習1,寫腳本:

        ? ?傳遞3個指定的用戶參數,運行腳本自動創建用戶;例如:bash admin.sh user1,tom,jack

        參考答案:# vim admin.sh

        #!/bin/bash

        #

        echo $1

        for I in `echo $1 | sed 's/,/ /g'`;do

        ? ? ? ?if id $I &> /dev/null;then

        ? ? ? ? ? ? ? ?echo "$I exists."

        ? ? ? ?else

        ? ? ? ? ? ? ? ?useradd $I

        ? ? ? ? ? ? ? ?echo $I | passwd --stdin $I &> /dev/null

        ? ? ? ? ? ? ? ?echo "$I add successfully."

        ? ? ? ?fi

        done

        練習2,寫腳本:

        ? ?根據練習1的腳本要求擴展,例如:bash admin2.sh --add user1,tom,jack自動添加后面3個用戶;例如:

        bash admin2.sh --del user1,tom,jack自動刪除后面3個用戶;

        參考答案:# vim admin2.sh

        #!/bin/bash

        #

        if [ $1 == "--add" ];then

        ? ? ? ?for I in `echo $2 | sed 's/,/ /g'`;do

        ? ? ? ? ? ? ? ?if id $I &> /dev/null;then

        ? ? ? ? ? ? ? ? ? ? ? ?echo "$I exists."

        ? ? ? ? ? ? ? ?else

        ? ? ? ? ? ? ? ? ? ? ? ?useradd $I

        ? ? ? ? ? ? ? ? ? ? ? ?echo $I | passwd --stdin $I &> /dev/null

        ? ? ? ? ? ? ? ? ? ? ? ?echo "$I add successful."

        ? ? ? ? ? ? ? ?fi

        ? ? ? ?done

        elif [ $1 == "--del" ];then

        ? ? ? ?for I in `echo $2 | sed 's/,/ /g'`;do

        ? ? ? ? ? ? ? ?if id $I &> /dev/null;then

        ? ? ? ? ? ? ? ? ? ? ? ?userdel -r $I

        ? ? ? ? ? ? ? ? ? ? ? ?echo "Delete $I finish."

        ? ? ? ? ? ? ? ?else

        ? ? ? ? ? ? ? ? ? ? ? ?echo "$I not exist."

        ? ? ? ? ? ? ? ?fi

        ? ? ? ?done

        else

        ? ? ? ?echo "Unknow."

        fi

        一、條件測試內容回顧

        ? ?1、整數測試

        ? ? ? ?-le, -lt, -ge, -gt, -eq, -ne

        ? ?2、字符測試

        ? ? ? ?==, !=, >, <, -n, -z

        ? ?3、文件測試

        ? ? ? ?-e, -f, -d, -r, -w, -x

        二、組合測試條件

        ? ?1、-a:與關系;

        ? ?2、-o:或關系;

        ? ?3、!:非關系;

        ? ? ? ?如:給定參數大于1小于3,如何表達:

        ? ? ? ? ? ?if [ $# -gt 1 -a $# -le 3]

        ? ? ? ?或: ?if [ $# -gt 1] && [ $# -le 3 ]

        練習3,寫腳本:

        ? ?傳遞一個參數(單字符就行)給腳本,如參數為q、Q、quit或Quit,就退出腳本;

        ? ?否則,就顯示不能識別的參數;

        參考答案:# vim quit.sh

        #!/bin/bash

        #

        if [ $1 == 'q' -o $1 == 'Q' -o $1 == 'quit' -o $1 == 'Quit' ];then

        ? ? ? ?echo "Quiting..."

        ? ? ? ?exit 0

        else

        ? ? ? ?echo "Unknow Argument."

        ? ? ? ?exit 1

        fi

        三、運算符

        ? ?1、SUM=$[$SUM+$I]相當于let SUM+=$I;

        ? ? ? ?let I+=1相當于let I++

        ? ?2、取模

        ? ? ? ?-= let I-=相當于let I--

        ? ? ? ?*=

        ? ? ? ?/=

        ? ? ? ?%=

        練習4,寫腳本:

        ? ?計算100以內所有奇數和所有偶數的和,并分別顯示;

        參考答案:# vim sum.sh

        #!/bin/bash

        #

        declare -i SUM1=0

        declare -i SUM2=0

        for I in `seq 1 100`;do

        ? ? ? ?if [ $[$I%2] == 0 ];then

        ? ? ? ? ? ? ? ?SUM1=$[$SUM1+$I]

        ? ? ? ?else

        ? ? ? ? ? ? ? ?SUM2=$[$SUM2+$I]

        ? ? ? ?fi

        done

        echo "The even sum is $SUM1."

        echo "The obb sum is $SUM2."


        轉載于:https://blog.51cto.com/zkhylt/1400335

        《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

        總結

        以上是生活随笔為你收集整理的Linux01-bash脚本编程之六使用脚本选项及组合条件测试23的全部內容,希望文章能夠幫你解決所遇到的問題。

        如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。