歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> SHELL編程

shell變量的使用

shell環境中變量有三種類型:

a、  環境變量;可以在shell腳本中直接利用“$環境變量名稱”的形式引用。

b、  用戶自定義變量;不需要事先定義,通常情況下,使用變量的時候直接對變量賦初值。變量名稱=變量初始值(注意:變量名稱的要求——首字符必須是字母,可以用下劃線,但是不能有標點符號和空格,不能使用shell裡的關鍵字)

c、  系統全局變量;代表了特定含義,不能被用戶修改。一般來說,主要的全局變量包括以下幾個:

$#:執行shell腳本時,命令行參數個數,不包括腳本本身。

$?:執行上一條shell命令的返回值(退出狀態,大部分命令執行成功返回0,失敗返回1,不過也有一些其他命令返回其他值標識其他錯誤)。

$0:shell腳本程序自身的名稱。同時,$1代表shell命令行中第一個參數,$2代表第二個參數,$3代表第三個參數,以此類推。

$*:傳遞給腳本或函數的所有參數。

$$:當前shell進程ID,就是當前腳本所在的進程ID。

要在腳本中使用變量則是利用“$變量名稱”的方法。

Eg.創建一個腳本計算兩數之和

值得注意的一點:在使用expr進行運算時,運算符兩邊要記得加空格。

結果是:

一開始出錯如下:

原因:這個腳本文件需要除了腳本本身以外的參數,運行腳本的時候沒有輸入參數。

 

$* 和 $@的區別:

$* 和 $@ 都表示傳遞給函數或腳本的所有參數,不被雙引號(" ")包含時,都以"$1" "$2" … "$n" 的形式輸出所有參數。 但是當它們被雙引號(" ")包含時,"$*" 會將所有的參數作為一個整體,以"$1 $2 … $n"的形式輸出所有參數;"$@" 會將各個參數分開,以"$1" "$2" … "$n" 的形式輸出所有參數。

Eg.

Copyright © Linux教程網 All Rights Reserved