Bourne Shell 入門

Shell變量及其相關命令

 

 

shell變量

兩種類型:shell環境變量(shell environment variable) 、用戶自定義變量(user-defined variable);

shell環境變量,定製shell運行環境並保證shell命令的正確執行。實現方式,它們的拷貝被傳遞給每個作爲shell的子進程運行的命令。初始化,在登錄過程中執行/etc/.profile文件時進行,該文件由系統管理員設置,用於爲系統上所有的用戶建立一個公共環境,另外用戶自己也有自己的啓動文件~/.profile。

CDPATH EDITOR ENV HOME MAIL MAILCHECK PATH PPID PS1 PS2 PWD TERM  #都是可寫的

# 只讀環境變量: 處理 命令行參數 又稱 位置參數 命令行傳遞給shell腳本的參數

# 有一些只讀shell變量用來跟蹤當前進程的pid、最近後臺進程pid,以及最後一條命令的退出狀態等

$0             # 程序名

$1 - $9     # 第1個~第9個命令行參數的值

$*            # 所有命令行參數的值

$@          # 同上;如果它被包含在引號中,如“$@”,則每個參數也各自包含在引號中

$#           # 命令行參數的總數

$$           # 當前進程pid

$?           # 最後一條命令的退出狀態

$!           # 最近後臺進程(在後臺運行的最後一個進程) pid

讀寫shell變量

注意: = 前後沒空格;($)引用變量的當前值;

$ name=John                  # 1

$ echo $name

John

$ name=John Doe         # 2.1.1 space,後面的當作命令執行

Doe: not found

$ name=”John Doe” # 2.1.2 double quote resolve

$ echo $name

John Doe

$ name=John*              # 2.2.1 shell metacharacter,後面的當作shell元字符

$ echo $name

John.Bates.letter John.Johhsen.memo John.email

$ echo “$name”       # 2.2.2 double quote resolve

John*

$ echo “The name $name sounds familiar!” # 2.2.3 double quote 只要在雙引號裏,對$做特殊處理,特殊字符替換爲普通字符

The name John* sounds familiar!

$ echo /$name               # 3.1

$name            

$ echo ‘$name’        # 3.2

  $name

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