<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # shell 腳本 文件后綴.sh ``` #!/bin/bash //頭部文件 ``` 編寫完成保存后給.sh加權限 就可以執行了 ``` chmod +x test.sh //加權限 test.sh是自己編寫好保存好的文件 ``` 本目錄下 ``` ./test.sh //就執行了這個文件 ``` # 注釋規則: ``` # 注釋 ``` # 變量聲明: ``` 變量名=值 // =左右不能有空格 ``` # 打印變量值: ``` ceho $變量名 ``` # 字符串拼接: ``` $變量1$變量2 //直接挨到一起就行 ``` # 獲取字符串長度: ``` echo ${字符串變量} //注意字符串變量是不加$符號的 ``` # 截取字符串長度: ``` echo ${字符串變量:1:5} //截取第1個字符串到第5個的字符串值 ``` # 聲明調用數組: ``` 變量=(‘值1’‘值2’‘值3’) //聲明一個數組 ``` ``` echo ${變量[0]} echo ${變量[1]} //打印數組 ``` ``` echo ${變量[*]} echo ${變量[@]} //獲取數組元素 ``` ``` echo ${#變量[*]} echo ${#變量[@]} //獲取數組長度 ``` # 傳值: ``` 腳本 參數1 參數2 參數3 接受參數 $1 $2 $3 $# 傳遞到腳本的參數個數 $$ 腳本運行的當前進程ID號 $? 顯示最后命令的退出狀態。 D表示沒有錯誤,其他任何值表明有錯誤。 ``` # 重定向: ``` >輸出重定向 >輸入重定向 echo 新文件 > 要覆蓋的文件 //輸出重定向 ``` ``` 定時任務 /dev/null/2>&1 ``` # 判斷: ``` if[ 變量 == 值 ] //這個地方要有空格[ ]里 then echo "輸出的條件" fi ``` ``` 運算符 -eq等于 -ne 不等于 -gt大于 -lt小于 -ge大于等于 -le小于等于 邏輯運算符 !取反 -o 或 -a且 ``` ## **注意:如果if 用[[ ]] 雙引號的情況下,可以使用&& || 等運算符否則使用以上運算符** **判斷代碼案例:** ``` usename="liudehua" if [ $usename == "liudehua" ] then echo "hello word" fi ``` ![](https://img.kancloud.cn/7b/00/7b00346be8cb71f0d98505a4e44c47a1_736x232.png) ![](https://img.kancloud.cn/e6/5e/e65e6ab2fd232fbaa432cc5327e9ce9f_1372x780.png) ## **多條件判斷代碼案例:** ``` #!/bin/bash usename=$1 #外部傳值 if [ $usename -lt 60 ] # -lt是小于 then echo "不及格" elif [ $usename -gt 60 -a $usename -lt 80 ] #-gt大于 -a 是并且相當于&& # elif相當于elseif then echo '良好' else # then相當于{} echo "優秀" fi #fi相當于閉合if ``` # **判斷目錄或者文件是否存在** ``` -e //判斷目錄或者文件是否存在 ``` ``` -d //判斷目錄是否存在 ``` ``` -f //判斷文件是否存在 ``` ** 輸入文件是否存在不存在就創建代碼案例:** ``` [[ -e $1]] || mkdir $1 // 輸入文件是否存在不存在就創建 ``` # 運算符 ``` `expr $a + $b` // 單獨的運算符是計算不了的 要加 反引號`` expr + (+左右要有空格) ``` ## 代碼案例: ![](https://img.kancloud.cn/9f/03/9f034bfce481f87e1930249de5c08c0c_508x366.png) ![](https://img.kancloud.cn/b9/22/b9221cce0cd052682155b10ce577d15a_508x345.png) # 循環 ``` 語法: for i in do done ``` ``` for i in 1 2 3 4 5 do echo $i done ``` ## 第二種for循環語法: ``` for i in {0..10} do echo $i done ``` # while 循環語法: 一直循環下去 ``` while true //條件為true 相當于 while(1) do echo 'jjjj' //一直循環下去 打印jjj done ``` ## 第二種while語法: 運行.sh腳本后 ,read 變量 接收終端輸入的字符串 ``` while read name //read name 是接收輸入的字符串 在終端輸入的字符串 do echo $name done ``` 注意::ctrl+c 退出.sh腳本 # case流程語法 ``` 變量 case 變量 in A值) 如果等于A值執行 ;; //結束一條語句 esac //結束語法 ``` 代碼應用: ``` action=$1 //接收輸入的值 case $action in //case語法 start) //如果值等于start輸出這個的值 echo 'start' ;; stop) //如果值等于stop輸出這個的值 echo 'stop' ;; restart) //如果值等于restart輸出這個的值 echo 'restart' ;; default) //如果值等于default輸出這個的值 echo 'star|stop|restart' ;; esac ``` 執行.sh腳本 ![](https://img.kancloud.cn/1c/6f/1c6ff47def9a7c0e168b68e4115ac330_582x101.png) # 函數定義與使用 ``` 第一種定義方法: function 函數名稱(){ } 第二種定義方法: 函數名稱(){ } ``` ## 函數調用: 在函數定義之后調用,不能在函數定義之前調用 ``` 函數名 //調用 ``` 函數語法解釋: ``` #!/bin/bash function xiao(){ echo "第一個函數" } xiao # //調用函數 ``` ## 函數傳參數調用: ``` #!/bin/bash function xiao(){ echo `expr $1 + $2` //$1 $2接受參數 } xiao 100 200 # //傳遞參數 ``` # 文件引入: ``` . /全路徑 /全路徑/.sh //. 后面帶空格 ``` 第二種引入方法 ``` source /全路徑/.sh ``` ## 文件引入代碼語法: ``` #!/bin/bash . /root/test.sh ``` # 輸出帶顏色字體:
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看