bash變量
變量:一段有名稱的連續的內存空間;這段內存空間的名稱,稱爲變量名;在這段內存空間中存儲的數據,則稱爲變量值;shell
程序 = 指令 + 數據 數據:文件,存在值; 向內存空間(變量)中存儲數據的過程,稱爲賦值操做;賦值符號一般爲"="; 變量的類型: 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命令予以撤銷;