Linux Shell中的變量分為“系統變量”和“用戶自定義變量”,可以通過set命令查看系統變量
- 系統變量
$HOME 查看當前用戶的家目錄
$PWD 查看當前所在目錄位置
$SHELL 查看當前執行shell的程序
$USER 查看當前的用戶名稱
1、定義變量
1.1、語法
[readonly|export] 變量=值
其中,readonly是聲明該變量為只讀,而export則是把變量升級為全局變量,可供其它變量使用
1.2、變量定義規則
- 變量名稱可以由字母、數字和下劃線組成,但是不能以數字開頭
- 等號兩側不能有空格
- 變量名稱一般習慣為大寫
- 雙引號和單引號有區別,雙引號僅將空格脫意,單引號會將所有特殊字符脫意
1.3、銷燬變量語法
unset 變量
1.4、使用變量語法
$變量名稱 或 ${變量名稱}
1.5、案例-設置變量name為iamasb,並執行打印
2、設置環境變量
2.1、基本語法
2.2、案例-修改/etc/profile,定義PHP_HOME環境變量
- 往/etc/profile追加
export PHP_HOME=/usr/local/php
export PATH=$PATH:$PHP_HOME/bin
- 使配置文件生效
source /etc/profile
- 驗證
備註:服務器已經通過源碼安裝php,其所在目錄在/usr/local/php
3、預定義變量
3.1、基本語法
4、變量的進階使用
4.1、講
命令的返回值賦給變量- 通過反引號
A=`ls -al`
- 通過$()
A=$(ls -al)
4.2、shell文件獲取變量
- 基本語法
4.3、案例1
- 通過傳遞參數1和參數2,計算兩者的結果並打印
- 依次打印參數總數和所有參數
4.4、注意事項
$*和$@都表示傳遞給函數或腳本的所有參數。當兩者在對待雙引號時存在差異。
- 不被雙引號""包含時,都以$1 $2 …$n的形式輸出所有參數
- 被雙引號""包含時,“$*”會將所有的參數作為一個整體,以“$1 $2 …$n”的形式輸出所有參數;“$@”會將各個參數分開,以“$1” “$2”…”$n”的形式輸出所有參數
閱讀更多 iamasb 的文章