<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>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # 第一行:幻數 - #!/bin/sh(是Bash的軟鏈接) - #!/bin/bash(推薦) 內核會根據它來確定使用什么解釋器來執行它,不寫不規范。 如果沒有設置Linux默認解釋器是什么就用什么來解釋 # 環境變量 ## 一般定義 在/etc/profile(全局變量下) >export 變量=值 注意:export意味著所有終端都生效,是真正的全局。 為了規范和避免未知錯誤,最好加上。 如果不加就是在當前終端或者當前腳本中生效,關閉終端或執行完腳本失效。 ## 激活變量 >source /etc/profile >. /etc/profile **注意**:環境變量文件是無法用sh激活的,只有用.和source 經典題: echo "user=`whoami`"> a.sh sh a.sh && echo $user **這道題就是用sh激活環境變量,是絕對不行的** 應該是:source a.sh && echo $user 而且如果永久使用user=`whoami`前要加export ## 在Shell腳本中定義 ``` a=192.168.1.1 b="192.168.1.1" c='192.168.1.1' echo "a=$a" echo "b=$b" echo "c=${c}" ``` 特性: 單引號定義變量:所見即所得 >c='192.168.1.1' ## 特殊變量和環境變量 - $0 獲取當前執行腳本的文件名,可以包括腳本路徑 - dirname,basename。配合$0使用 - $n 獲取腳本的第n個參數值 - $# 獲取腳本總共傳了幾個參數 - $? 查看上個語句返回值,默認返回值如下 - 0:正確 2:權限拒絕 1-125:執行失敗(腳本問題) 127:命令輸入錯誤 >=128:執行中取消 - exit 1 指定腳本返回值 - shift 把第n+1參數變為第n個參數,第一個參數消失。場景:使用過的參數就刪除(一次性筷子) - $@ //獲取當前腳本的所有傳參的參數當成字符串:不合并他們為完整字符串 - $* //獲取當前腳本的所有傳參的參數當成字符串:把他們合并成完整字符串 - $$ //當前shell進程號 ### 簡單使用 >sh jiaoben.sh "我是第一個參數" "我是 第二個參數" 我是第三個參數 ``` echo "$0" dirname $0 basename $0 echo "$1" echo "$3" echo "$#" echo "$3" echo "$$" for i in "$*";do echo $i;done for i in "$@";do echo $i;done ``` ### 升級使用 >sh pidjiaoben.sh ``` ``` ## 比較參數 - expr 適合校驗文件擴展名:`if expr "$1" : ".*\.pub"; then` - expr 還可以檢驗是不是整數、分數 - -eq - -lt - -gt - -a 并且:\[ -n "內容" -a "內容"="內容" \] - -o 或者 - -n 為空:\[ -n "內容" \] && {執行內容} - -z 為整數 ``` expr "test.pub" : ".*\.pub" && echo 1 || echo 0 ``` ## 變量替換(備胎功能) >result=${test:=hello} 如果test沒有定義值則result顯示hello,并且把hello賦值給result >result=${test:-hello} 如果test沒有定義值則result顯示hello,不把hello賦值給result test如果在之前被定義過則顯示定義結果(test=abc;result=${test:-hello};顯示為abc) 但如果在之后才定義test=abc則不行,顯示結果還是hello 在腳本中刪除文件/文件夾一定要使用它 ``` ``` ## 取消定義變量 >unset result ## 清屏
                  <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>

                              哎呀哎呀视频在线观看