shell變量

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,並執行打印

shell變量

2、設置環境變量

2.1、基本語法

shell變量

2.2、案例-修改/etc/profile,定義PHP_HOME環境變量

  • 往/etc/profile追加

export PHP_HOME=/usr/local/php

export PATH=$PATH:$PHP_HOME/bin

  • 使配置文件生效

source /etc/profile

  • 驗證
shell變量

備註:服務器已經通過源碼安裝php,其所在目錄在/usr/local/php

3、預定義變量

3.1、基本語法

shell變量

4、變量的進階使用

4.1、

命令的返回值賦給變量

  • 通過反引號

A=`ls -al`

  • 通過$()

A=$(ls -al)


4.2、shell文件獲取變量

  • 基本語法
shell變量

4.3、案例1

  • 通過傳遞參數1和參數2,計算兩者的結果並打印
shell變量


  • 依次打印參數總數和所有參數
shell變量


4.4、注意事項

$*和$@都表示傳遞給函數或腳本的所有參數。當兩者在對待雙引號時存在差異。

  • 不被雙引號""包含時,都以$1 $2 …$n的形式輸出所有參數
  • 被雙引號""包含時,“$*”會將所有的參數作為一個整體,以“$1 $2 …$n”的形式輸出所有參數;“$@”會將各個參數分開,以“$1” “$2”…”$n”的形式輸出所有參數


分享到:


相關文章: