1. 程式人生 > >bash變量的介紹

bash變量的介紹

bash變量

bash變量
變量:一段有名稱的連續的內存空間;這段內存空間的名稱,稱為變量名;在這段內存空間中存儲的數據,則稱為變量值;

程序 = 指令 + 數據

數據:文件,存在值;

向內存空間(變量)中存儲數據的過程,稱為賦值操作;賦值符號通常為"=";

變量的類型:
    123 -- 整型:01111011
            -- 字符型:ASCII:3字節
            -- 字符型:UTF-8:9字節

變量:
    強變量:使用之前必須事先予以聲明;必須聲明變量類型;
    弱變量:在使用之前無需聲明,無需指明變量類型;(bash變量)

變量的賦值方法:
    VARNAME=VALUE

    其含義:將某數值(VALUE)通過賦值操作(=)存儲於特定的內存空間中(VARNAME);

    bash中變量名稱的命名規範:
        1.變量名只能以"_"或"字母"為起始字符,後面的其他字符可以是任意字母,數字或下劃線;
        2.變量名中的字母是大小寫敏感的;
        3.命名的書寫格式:
            全大寫:HISTSIZE
            全小寫:myvar
            駝峰式:MyNewVariable
            連接式:My_New_Var
        4.變量名要能做到見名知意;
        5.變量名不能與已知變量或bash的內置變量重復;

bash中的變量的分類:
    根據變量的作用範圍來劃分:
        全局變量(環境變量):作用範圍為整個shell進程,包括其子shell;
        本地變量:作用範圍為當前登錄時打開的shell進程,不包括其子shell;
        局部變量:作用範圍僅僅只是當前程序段,一般用於函數;

    根據變量的聲明方式來劃分:
        bash內置變量:
            普通的內置變量:HISTSIZE,...
            位置參數變量:$0, $1, $2, ...
            特殊變量:$?, $#, $*, $@, $$, ...
                $?:展開為最近一次執行的命令的狀態返回值(退出狀態碼);用以表示最近一次執行的命令是否成功執行;
                $#:不包括$0在內的其余的位置參數的個數,以十進制數字表示;
                $*:從$1開始展開為位置參數。當使用雙引號引用展開的結果時,它展開為特殊變量IFS的第一個字符分隔的值;
                $@:從$1開始展開為位置參數。當使用雙引號引用展開的結果時,它展開為一個單獨的字符串;
                $$:展開為當前shell的進程標識符;
        自定義變量:

    變量的使用:
        1.變量的聲明和賦值:
            1) 聲明全局變量(環境變量):
                export VARNAME
                export VARNAME=VALUE

                declare命令:
                    declare - Set variable values and attributes.
                    格式:declare [-aAfFgilrtux] [-p] [name[=value] ...]
                        常用的選項:
                            -a:聲明索引數組(如果支持)
                            -A:聲明關聯數組(如果支持)
                            -i:聲明整型變量
                            -l:聲明變量並將變量值中的字母轉換為小寫字母;
                            -u:聲明變量並將變量值中的字母轉換為大寫字母;
                            -r:聲明只讀變量;該變量僅能進行一次賦值操作;
                            -x:聲明變量並將其導出為全局變量;

                declare -x VARNAME[=VALUE]

            2) 聲明本地變量:
                VARNAME=VALUE

            3) 聲明局部變量:
                local VARNAME[=VALUE]

        2.查看環境變量:
            set命令:
                查看和改變shell屬性的值及查看shell變量的變量名和變量值;

            export命令:
                查看變量名稱,也可以為變量賦值;

            env命令:

        3.查看變量的值:
            echo ${VARNAME}

        4.撤銷變量的賦值及變量聲明
            unset VARNAME

有關於保存變量的shell配置文件:
    通用配置文件:
        /etc/bashrc
        /etc/profile
        /etc/profile.d/*

    私人配置文件:
        ~/.bashrc
        ~/.bash_profile

註意:
    1.一般情況下,變量都是隨用隨聲明,除非有必要,否則不建議修改配置文件的內容;
    2.聲明的變量在使用完以後,最好使用unset命令予以撤銷;

bash變量的介紹