bash變量

bash 是一個爲GNU計劃編寫的Unix shell。

程序開發語言有兩種:

       1.解釋型語言:perl,python,ruby,bash等,由解釋器負責讀取一行執行一行,

       2.編譯型評議:c,c++,c# 等,由編譯器把整個程序轉換爲二進制格式,而後執行

變量: 內存空間,可用於存儲數據

bash變量:

      環境變量 : 作用域爲當前的shell進程和子進程。

      設置一個新的環境變量規則爲:export VARNAME=VALUE,環境變量有全局環境變量和本地環境變量,全局環境變量是指對所有登陸用戶都起作用的環境變量,文件在 /etc/profile ,/etc/profile.d/*.sh , /etc/bashrc ,如在編譯安裝mysql後,可以在/etc/profile文件中最後加入export PATH=/usr/local/mysql/bin:$PATH或用命令  echo "export PATH=/usr/local/mysql/bin:$PATH" >>/etc/profile 注:/usr/local/mysql/bin是指mysql的安裝路徑然後執行source /etc/profile 使變量生效,即可以使用mysqladmin命令來設置mysql密碼。查看當前環境變量:env 或export                          

     本地變量(局部變量): 只對當前shell進程有效:對其子shell及其它shell都無效;例

[root@localhost ~]# a=6
[root@localhost ~]# echo $a
6                                  ##變量引用:${VAR_NAME}  用$符加變量名。

      位置變量:$1,$2,…….,$1表示第一個參數,$2第二個參數,類推,$0: 執行腳本時的腳本路徑及名稱 basename $0  取得腳本的名稱,$#  位置參數的個數,seq 0  $#   表示從0到最後一個參數的列表,可以用於循環。

      特殊變量:

            $? :上一個命令的返回值:程序執行結果,如果返回0 代理正確執行,1-255 :錯誤執行,數值1,2,127 爲系統預留的返回值。

            $#    位置參數的個數  
            "$*"    所有的位置參數(作爲單個字符串) *  
            "$@"    所有的位置參數(每個都作爲獨立的字符串)  
            ${#*}    傳遞到腳本中的命令行參數的個數  
            ${#@}    傳遞到腳本中的命令行參數的個數  
            $?    返回值  
            $$    腳本的進程ID(PID)  
            $-    傳遞到腳本中的標誌(使用set)  
            $_    之前命令的最後一個參數  
            $!    運行在後臺的最後一個作業的進程ID(PID)  

* 必須被引用起來, 否則默認爲"$@".  

bash 的配置文件

   全局配置   /etc/profile ,  /etc/profile.d/*.sh ,  /etc/bashrc

   個人配置   用戶目錄下  ~/.bash_profile,  ~/.bashrc

      profile類的文件:    1.設定環境變量,如設置mysql的環境變量     2. 運行命令或腳本

      bashrc類的文件:    1.設定本地變量      2 定義命令別名  如 alias cls=clear  即可用cls起到clear的作用

     用戶登陸時,讀取配置文件的順序是    /etc/profile --> /etc/profile.d/*.sh --> ~/.bash_profile --> ~/.bashrc --> /etc/bashrc       用su命令更換用戶名是,讀取的配置文件爲  ~/.bashrc --> /etc/basrc --> /etc/profile.d/*.sh

shell  變量類型:事先確定數據的存儲格式和長度(數據表示範圍)

                 字符型:ASCII碼,128個基本字符,用一個字節表示,即8位

                  數值型:

                            整型   即整數,二進制表示,4位一個數字,兩個數字即8位

                            浮點型   近似值,帶有小數的,單精度,雙精度,

                  布爾型: 日期型,對象,一般編程不會用到

      shell中一般默認定義變量爲字符型,如果要用做數值計算,就要用到bc 命令,在命令行輸入bc命令就可以進行數值計算。運算符有+、-、*、/、%(取餘)、^(指數,即冪),bc默認是整型,如果要進行小數點以後的運算,即浮點運算,需要輸入命令scal=number,number即保留幾位小數。

     示例:

[root@localhost ~]# bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'. 
1+8+5
14
5^4
625
10%8
2
scale=2
3/7
.42
quit

如果要在shell中直接運用算術運行,可以有以下幾種方法

A=3  
B=6  
1、let 算術運算表達式  
   let C=$A+$B  
2、$[算術運算表達式]  
   C=$[$A+$B]  
3、$((算術運算表達式))  
   C=$(($A+$B))  
4、expr 算術運算表達式,表達式中各操作數及運算符之間要有空格,而且要使用命令引用  
   C=`expr $A + $B`

bash變量也可聲明,甚至可以指定類型:declare  
       declare -i VAR_NAME: 聲明一個整型變量  
       declare -x VAR_NAME: 聲明一個環境變量  
       declare -a VAR_NAME: 聲明一個數組

如果bash中變量沒有指定類型,默認爲字符號變量,查看所有變量,set 可以顯示出來。

   

                                                           


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