2007年10月10日 星期三

Shell 的變數

在 bash 運作期間,會維護一組變數,這類的變數含有 bash 運作時所需的重要的資訊。大多的變數,在 bash 啟動時就會設定好,但是使用者可隨時手動改變這些變數,藉此改變 shell 的一些行為。
bang@linuxdiary:~$ echo $PS1
${debian_chroot:+($debian_chroot)}\u@\h:\w\$

以變數 PS1 (Prompt String 1)為例,其值為一個代表命令提示字元的字串。由上例可知使用 echo 命令可顯是變數內容,方法是變數前加一個 $ 號。
在 $PS1 中 u,h,w 都是普通的字元,因為前面的「\」(meta chatacter) 她的意義為
  • \ u:username,使用者名稱
  • \h:hostname,主機名稱
  • \w:working directory 目前工作目錄
環境變數 (environment variables)
專屬某個 shell 的一組變數,使該行程能得知使用者喜好與系統組態。所有 sub-sheel,指令稿和程式可自動繼承這些變數。

shell 變數
只能在目前的 shell 或 script 中存取。

常用的變數的指令

  • env:顯示所有環境變數
  • export:設定環境變數
  • set:顯示所有變數
  • unset:取消變數
常用的變數(每個 distribution 會略有不同)
  • PATH:搜尋執行檔的路徑
  • SHELL:目前所使用的shell
  • HOSTNAME:主機名稱
  • USERNAME:使用者名稱
  • LOGNAME:登入的帳戶名稱
  • HOME:使用者家目錄
  • LANG:系統預設語系
  • HISTSIZE:指令歷程容量大小
  • MAIL:使用者存放郵件的目錄

沒有留言: