bash環境(變量與bash配置文件)

一:名詞理解

編譯型:源程序(文本文件)  預處理  編譯  彙編  鏈接

    靜態語言

解釋型:源程序(文本文件)  解析器讀取並執行

    動態語言

編譯器:

解釋器:

       解釋:

            詞法分析

            語法分析

            語義分析


條件判斷:選擇分支

循環:


對象式編程:

過程式編程:

         順序執行

         選擇執行

         循環執行


解釋器:提供了編程環境

腳本:使用bash提供控制機智,將期望執行的命令羅列於文本文件中

      bash沒有庫,整個程序幾乎都要依賴於命令


二、變量

1、bash變量類別

本地變量:只對當前shell進程有效,對其它shell進程無效,包括當前shell的子進程

     變量賦值:向變量的存儲空間保存數據   VAR_NAME=VALUE

     變量引用:${VAR_NAME} 

           “”:弱引用,裏面的變量會被替換

            '':強引用,裏面的所有字符都是字面量,直接輸出

環境變量:對當前shell進程有效及其子shell有效,對其他shell無效

    定義:export VAR_NAME=VALUE

    導出:export VAR_NAME 

    撤銷變量: unset VAR_NAME 

    只讀變量: readonly VAR_NAME  

          用戶可自定義,bash有許多內置的環境變量

局部變量:對shell腳本中某代碼片段有效,通常用於函數本地:

    定義: local VAR_NAME=VALUE

位置參數變量:$1,$2,$3、、、${10}

特殊變量:$?,


查看當前shell進程中的所有變量:set

查看當前shell進程中的所有環境變量:export,printenv,env


變量命令:

    1、不能使用程序中的關鍵字(保留字)如,if,case,for

    2、只能使用數字,字母和下劃線,且不能以數字開頭

    3、要見名知義


2、變量類型

        a.存儲機制

        b.存儲空間

        c.參與的運算方式

            (二進制)數字的存儲,                18:00010010

            文本的存儲,  ASCII:128常用字符       18:1,8

         1:8bits   8:8bits   18:16bits

   變量類型:

        數值型:

            精確數值:整數

            近似數值:浮點型

                          單精度浮點

                          雙精度浮點

         字符型:

             char

             string

         布爾型:true,false

bash是弱字符型語言,一切皆字符

類型轉換:顯示轉換,隱式轉換    


三、bash的配置文件   

profile類:爲交互式登錄的用戶提供配置

      全局:   

           /etc/profile

          /etc/profile.d/*.sh

      用戶:~/.bash_profile

用途:

     1、設定環境變量

     2、運行命令或腳本

bashrc類:爲非交互式用戶提供配置

     全局:/etc/bashrc

     用戶:~/.bashrc

用途:

     1、設定本地變量

     2、定義命令別名


登錄類型

    交互式:直接通過終端輸入帳號和密碼登錄,使用su - USERNAME

    非交互式:su USERNAME

             圖形界面下打開的終端

             執行腳本


如何使通過編輯配置文件修改的配置生效?

1、退出並重新登錄

2、讓bash重讀此配置文件

    . FILENAME       注意,多次重讀配置文件可能會產生重複賦值    

    source FILENAME


系統開機讀取bash配置文件順序

交互登錄的用戶:

          /etc/profile  /etc/profile.d/*.sh ~/.bash_profile ~/.bashrc /etc/bashrc

非交互式登錄的用戶:

          ~/.bashrc /etc/bashrc  /etc/proile.d/*.sh 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章