Shell學習(3) shell變數(二)

2021-06-20 08:59:24 字數 1243 閱讀 6118

本文講解shell自定義變數的使用。

變數名稱可包含字母(a-z,a-z),數字(0-9)和下劃線「_」。開頭字元只能是字母或下劃線。

正確的變數命名:name,_name,na_me,na_me,name_1,__

錯誤的變數命名:1name,na?me

shell中變數定義格式:variable_name=variable_value

需要注意的是,在編寫其他語言時,我們常利用空格排版,比如定義變數時寫成:variable_name = variable_value。等號兩側的空格雖提高了可閱讀性,但在shell中這是不允許的。

定義變數的例子:

上例中,前三個定義是正確的。最後乙個定義出現錯誤。因為空格導致系統認為v是乙個命令,而事實上並無v命令,於是產生如圖示錯誤。

使用特殊符號「$」引用變數。

編寫指令碼:

#

# shell-variable defining and accessing

#seq="a b c"

num=101

echo $seq

echo $num

echo "i am $user"

執行結果:

本例中,seq和num是使用者變數,user是系統變數。

使用readonly命令可以指定乙個變數為唯讀變數。

例子:

num=1

readonly num

echo $num

#num=2

如果不注釋掉「num=2」一句,將報錯:num: readonly variable

使用unset命令可以刪除已定義的變數。

格式:unset variable_name

例子:

num=1

echo $num

unset num

#echo $num

如果不注釋掉「echo $num",該語句將不會輸出任何東西。

注意的是,不能使用unset刪除唯讀變數,否則會產生錯誤: cannot unset: readonly variable

Shell學習 2 Shell變數

在shell中,變數的定義很簡單。shell變數 定義變數 var ddiicey 需要注意的是,與平時我所編寫的高階語言 c c python 等不同,變數名和 之間不能有空格。變數名的命名與其他語言一樣都遵循如下規則 下面給出了shell中一些合法以及非法的變數名示例 合法的變數名 runoob...

3 shell程式設計之運算子與條件判斷

運算子 1 表示式 或 表示式 2 expr m n 注意 expr運算子間要有空格 3 expr m n 4 expr 乘 除 取餘 1 計算 2 3 4的值 vim demo.sh bin bash 第一種方式 result1 2 3 4 echo result1 result1 第二種方式 推...

Shell 學習7 Shell 特殊變數

前面已經講到,變數名只能包含數字 字母和下劃線,因為某些包含其他字元的變數有特殊含義,這樣的變數被稱為特殊變數。例如,表示當前shell程序的id,即pid,看下面的 echo 執行結果 29949特殊變數列表 0 當前指令碼的檔名 n 傳遞給指令碼或函式的引數。n 是乙個數字,表示第幾個引數。例如...