<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、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                [TOC] ## 變量 ### 創建變量 ``` a=z # 變量 a 賦值為字符串 z b="a string" # 包含空格,就必須放在引號里面 c="a string and $b" # 變量值可以引用其他變量的值 d="\t\ta string\n" # 變量值可以使用轉義字符 e=$(ls -l foo.txt) # 變量值可以是命令的執行結果 e=`ls -l foo.tx` # 變量值可以是命令的執行結果(使用反引號) f=$((5 * 7)) # 變量值可以是數學運算的結果 ``` ### 讀取變量 如果變量不存在,Bash **不會報錯**,而會輸出空字符 2. 如果變量的值本身也是變量,可以使用`${!parameter}`的語法 ``` ${!parameter} ``` 3. 設置默認值 ``` ${a:=b} ``` 4. 切斷 ``` ${parameter:offset} 從第offset之后開始 a="123456" ,echo ${a:2},3456 ${parameter:offset:length} length 設置長度為6 ``` 5. 變量長度 ``` ${#parameter} ``` 6. 打印數組 ``` ${!name[@]} |${!name[*]} 打印索引 ${name[@]} | ${!name[*]} 打印元素 ``` 7.過濾前綴 ``` ${parameter#word} ${parameter##word} ``` 不打印匹配的world #### ${param:?}讀取變量為空報錯 ``` rm -rf ${a:?錯誤提示語句(a不存在)}/ ``` 默認 `${a}`為空不報錯,某些場景下非常不安全,使用 `${a:?}`如果變量不存在就會報錯. ### 刪除變量 ``` // 方式一:unset 也是把值變為 空字符 unset NAME //方式二(推薦): $ foo='' $ foo= ``` ### export 導出變量 子 Shell 默認讀取不到父 Shell 定義的變量,可使用 export ``` NAME=foo export NAME //or export NAME=foo ``` ## 特殊變量 ### $? 上個命令的退出狀態 `$?`為上一個命令的退出碼,用來判斷上一個命令是否執行成功。返回值是`0`,表示上一個命令執行成功;如果是非零,上一個命令執行失敗 ### $$ 當前Shell進程ID `$$`為當前 Shell 的進程 ID ``` $ echo $$ 10662 ``` 這個特殊變量可以用來命名臨時文件。 ``` LOGFILE=/tmp/output_log.$$ ``` ### $n n為1,2,3... 傳遞給腳本或函數的參數 ### $# 參數個數 ### $_ 上一個命令的最后一個參數 ``` $ grep dictionary /usr/share/dict/words dictionary $ echo $_ /usr/share/dict/words ``` ### $! 最近一個后臺執行的異步命令的進程 ID ``` $ firefox & [1] 11064 $ echo $! 11064 ``` ### $0 當前腳本的文件名 ``` $ echo $0 bash ``` ### $* 和 $@ 所有參數 ## declare 命令 ``` declare OPTION VARIABLE=value OPTION -a:聲明數組變量。 -f:輸出所有函數定義。 -F:輸出所有函數名。 -i:聲明整數變量,可直接運算 result=val1*val2。 -l:聲明變量為小寫字母。 -p:查看變量信息。 -r:聲明只讀變量。 -u:聲明變量為大寫字母。 -x:該變量輸出為環境變量 ``` 如 ``` declare -i ab=123 echo ${ab} // 123 ab="abc" echo ${ab} // 由于只能為整型,賦值字符串變為0 ``` ## readonly 命令 同 `declare -r` ## let 命令 ``` $ let foo=1+2 $ echo $foo 3 $ let "v1 = 1" "v2 = v1++" $ echo $v1,$v2 2,1 ```
                  <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>

                              哎呀哎呀视频在线观看