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

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # :-: **變量1-規范-環境變量-普通變量** [TOC] # **一、shell腳本基本知識** ## **1.基礎** ### 1)腳本解釋器: 第一行寫明解釋器,井號在第一行則為解釋器,不同的語言用不同的解釋器 `#!/bin/bash` ### 2)腳本注釋: 在非第一行用井號進行注釋,可開新行,也可以在該行命令后面,不要用中文 ### 3)腳本執行: ``` bash test.sh #文件無執行權限都可以執行,推薦方式 ./test.sh #使用路徑執行,文件需要有執行權限 source test.sh #不啟用子進程執行腳本,source和 .作用相同 ``` > 前兩種都會啟用子進程,子進程的變量不會傳遞到主進程, ## **2.shell腳本規范** 腳本第一行指定腳本解釋器 開頭增加版本及版權信息 腳本中盡量不要使用中文 腳本以.sh為擴展名 腳本應存放在固定的路徑里 成對的符合盡量一次性寫出來,再退格插入內容 中括號兩端至少要有一個空格 對流程控制語句,應一次性寫完格式再添加內容 通過縮進讓代碼更易讀 ## **3.引號的用法** * 雙引號 常規字符串的定義用雙引號. * 單引號 所見及所得的引用使用單引號. * 反引號 命令的引用使用反引號. > 所有引號為英文狀態符號,等號前后不要有空格 # **二、shell環境變量** 系統用export內置命令導出的變量,存在于/etc/profile,/etc/bashrc和用戶家目錄下的.bash\_profile,.bashrc中,要自定義環境變量,要將命令寫入上述文件中 環境變量均采用大寫字母形式,使用export定義,如export OLDGIRL=1 定時任務crond比較特殊,最好在腳本中重新定義要用的環境變量 ## **1. 環境變量查看** ### 1. 查看所有變量 | 命令名 | 作用 | | --- | --- | |set|輸出所有的變量,包括全局變量和局部變量| |env|只顯示全局變量| |declare|輸出所有的變量、函數、整數、已導出的變量| |set -o| 顯示bash shell的所有參數配置信息| ### 2. 查看指定變量的值 ``` echo $PWD /home/root printf $PWD /home/root ``` ### 3. 取消設置的變量 `unset USER` ## **2. 定義環境變量** ### 1. 三種方法 ``` export NAME=oldboy declare -x NAME=oldboy NAME=oldboy ;export NAME ``` ### 2. 環境變量永久生效 * 用戶配置下生效 ``` /root/.bashrc #推薦 /root/.basrc\_profile ``` * 全局配置下生效 ``` /etc/profile /etc/bashrc #推薦 /etc/profile.d/ ``` > 若要在登錄后初始化或顯示加載內容,則把腳本文件放到/etc/profile.d/下即可 ### 3. 環境變量生效順序 * 登錄方式: /etc/profile-->/etc/profile.d/-->$HOME/.bash\_profile-->/$HOME/.bashrc-->/etc/bashrc * 非登錄方式: /$HOME/.bashrc-->/etc/bashrc. > 因此需要再非登錄shell下也可以讀到設置的環境變量是,需要將環境變量寫入最后兩個文件中 ## **3. 其他** ### 1) 設置登錄后shell提示語 ``` /etc/motd #寫字符串提示語 /etc/profile.d/oldboy.sh #登錄后執行腳本,腳本里面為提示語 ``` ### 2) java環境下自定義環境變量 ``` export JAVA\_HOME=/application/jdk export CLASSPATH=$CLASSPATH:$JAVA\_HOME/lib:$JAVA\_HOME/jre/lib export PATH=$JAVA\_HOME/bin:$JAVA\_HOME/jre/bin:$PATH:HOME/bin export RESIN\_HOME=/application/resin ``` > 通常放置在/etc/profile中,并在java腳本中再次定義上述變量 ### 3) 常見系統環境變量 |變量|用途| | --- | --- | |$HOME|用戶登錄時進入的目錄 |$UID|當前用戶的uid| |$PWD|當前工作目錄的決定路徑| |$SHELL|當前shell| |$USER|當前用戶| # **三、普通變量** 本地變量只在當前shell生存期中有意義,腳本中啟動另一個進程或退出,值都將無效 ## **1. 變量定義要求** 變量名由字母、數字、下劃線主從,不能以數字開頭,變量定義可以使用單引號、雙引號、反引號,也可以不用引號 ``` a='laowang' a="laowang" a=`pwd` a=pwd ``` ### **2. 變量定義和輸出經驗小結** * 若變量內容為連續的數字或字符串,賦值時,可以不加引號 * 變量的內容很多,或者不是連續字符串時,加雙引號 * 希望原樣輸出變量中的內容時,加單引號 * 賦值的命令要用反引號或括號擴起來,如a=`ls`或者a=$(ls) * 變量名定義要規范,要見名知意,推薦駝峰語法 * 輸出變量時,變量名前加$符號 * 變量名后接其他字符時,用大括號單獨括變量,{金庸}新著
                  <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>

                              哎呀哎呀视频在线观看