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

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                >[success] # 變量作用域 ~~~ 1.跟其他編程語言一樣變量也存在作用域 2.Shell 變量的作用域可以分為三種: 2.1.有的變量只能在函數內部使用,這叫做局部變量(local variable); 2.2.有的變量可以在當前 Shell 進程中使用,這叫做全局變量(global variable); 2.3.而有的變量還可以在子進程中使用,這叫做環境變量(environment variable)。 ~~~ >[danger] ##### 局部變量 ~~~ 要想變量的作用域僅限于函數內部,可以在定義時加上local命令,此時該變量就成了局部變量。請看下面的代碼: #!/bin/bash #定義函數 function func(){ local a=99 } #調用函數 func #輸出函數內部的變量 echo $a 輸出結果為空,表明變量 a 在函數外部無效,是一個局部變量。 ~~~ >[danger] ##### Shell 全局變量 ~~~ 1.在 Shell 中定義的變量,默認就是全局變量。 2.開一個 Shell 窗口,定義一個變量 a 并賦值為 99,然后打印,這時在同一個 Shell 窗口中是可正確打印變量 a 的值的。然后再打開一個新的 Shell 窗口,同樣打印變量 a 的值,但結果卻為空,這說明全局變量 a 僅僅在定義它 的第一個 Shell 進程中有效,對新的 Shell 進程沒有影響 3.打開一個 Shell 窗口就創建了一個 Shell 進程,打開多個 Shell 窗口就創建了多個 Shell 進程,每個 Shell 進程都 是獨立的,擁有不同的進程 ID ~~~ >[danger] ##### Shell 環境變量 ~~~ 1.自定義環境變量,'export 變量名=變量值',使用export命令將全局變量導出,那么它就在所有的子進程中也有效了, 環境變量被創建時所處的 Shell 進程稱為父進程,如果在父進程中再創建一個新的進程來執行 Shell 命令,那么這個 新的進程被稱作 Shell 子進程。當 Shell 子進程產生時,它會繼承父進程的環境變量為自己所用,所以說環境變量可 從父進程傳給子進程 2.創建 Shell 子進程最簡單的方式是運行 bash 命令 3.注意這里說的是子進程,而不是像'Shell 全局變量' 中說的那樣新開窗口,而是使用base命令 4.通過 export 導出的環境變量只對當前 Shell 進程以及所有的子進程有效,如果最頂層的父進程被關閉了, 那么環境變量也就隨之消失了,其它的進程也就無法使用了,所以說環境變量也是臨時的 ~~~ ~~~ [c.biancheng.net]$ a=22 #定義一個全局變量 [c.biancheng.net]$ echo $a #在當前Shell中輸出a,成功 22 [c.biancheng.net]$ bash #進入Shell子進程 [c.biancheng.net]$ echo $a #在子進程中輸出a,失敗 [c.biancheng.net]$ exit #退出Shell子進程,返回上一級Shell exit [c.biancheng.net]$ export a #將a導出為環境變量 [c.biancheng.net]$ bash #重新進入Shell子進程 [c.biancheng.net]$ echo $a #在子進程中再次輸出a,成功 22 [c.biancheng.net]$ exit #退出Shell子進程 exit [c.biancheng.net]$ exit #退出父進程,結束整個Shell會話 ~~~ >[danger] ##### 查看環境變量 ~~~ 1.'env' 2.輸出常見的環境變量 echo $HOSTNAME echo $SHELL echo $HISTSIZE echo $SSH_CLIENT echo $USER ~~~ * 常用環境變量 ![](https://img.kancloud.cn/be/2a/be2a29c8bf7e4d35f6da3e347a862312_597x169.png) | 變量名 | 含義 | 示例 | | --- | --- | --- | | HOSTNAME | 主機名 | HOSTNAME=localhost | | SHELL | 當前的shell | SHELL=/bin/bash | | HISTSIZE | 歷史命令條數 | HISTSIZE=1000 | | SSH\_CLIENT | 當前操作環境如果是用SSH連接的話,這里會記錄客戶端IP | SSH\_CLIENT=192.168.1.100 57596 22 | | USER | 當前登錄的用戶 | USER=root | >[info] ## 參考 [# Shell變量的作用域:全局變量、環境變量和局部變量](http://www.beylze.cn/shell/703.html)
                  <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>

                              哎呀哎呀视频在线观看