定義變數時,變數名不加美元符號,如:your_name="runoob.com"
注意,變數名和等號之間不能有空格,變數名的命名須遵循如下規則:
使用乙個定義過的變數,只要在變數名前面加美元符號即可,如:
your_name="qinjx"
echo $your_name
echo $
使用 readonly 命令可以將變數定義為唯讀變數,唯讀變數的值不能被改變。
下面的例子嘗試更改唯讀變數,結果報錯:
#!/bin/bash
myurl=""
readonly myurl
myurl=""
執行指令碼,結果如下:/bin/sh: name: this variable is read only.
執行shell時,會同時存在三種變數:
單引號字串的限制:
雙引號的優點:
your_name="runoob"
# 使用雙引號拼接
greeting="hello, "$your_name" !"
greeting_1="hello, $ !"
echo $greeting $greeting_1
# 使用單引號拼接
greeting_2='hello, '$your_name' !'
greeting_3='hello, $ !'
echo $greeting_2 $greeting_3
string="abcd"echo $ #輸出 4
以下例項從字串第2個字元開始擷取4個字元:
string="runoob is a great site"
echo $ # 輸出 unoo
查詢字元i或o的位置(哪個字母先出現就計算哪個):
string="runoob is a great site"
echo `expr index "$string" io` # 輸出 4
bash支援一維陣列(不支援多維陣列),並且沒有限定陣列的大小。陣列元素的下標由 0 開始編號。獲取陣列中的元素要利用下標,下標可以是整數或算術表示式,其值應大於或等於 0。
在 shell 中,用括號來表示陣列,陣列元素用"空格"符號分割開。定義陣列的一般形式為:
陣列名=(值1 值2 ... 值n)
例如:
array_name=(value0 value1 value2 value3)
或者
array_name=(
value0
value1
value2
value3
)
還可以單獨定義陣列的各個分量:
array_name[0]=value0
array_name[1]=value1
array_name[n]=valuen
可以不使用連續的下標,而且下標的範圍沒有限制。
讀取陣列元素值的一般格式是:
$
例如:
valuen=$
使用 @ 符號可以獲取陣列中的所有元素,例如:
echo $
獲取陣列長度的方法與獲取字串長度的方法相同,例如:
# 取得陣列元素的個數
length=$# 或者
length=$
# 取得陣列單個元素的長度
lengthn=$
以 # 開頭的行就是注釋,會被直譯器忽略。
多行注釋還可以使用以下格式:
::<<'
注釋內容...
注釋內容...
注釋內容...
':<注釋內容...
注釋內容...
注釋內容...
!
shell學習1 shell的簡單介紹
在linux unix作業系統中存在多種多型別的shell,而多數linux unix系統預設使用shell為bash。所謂shell,是一種直譯器,也是一種指令碼語言,在每個shell指令碼中都包含乙個或者多個命令。在電腦科學中,shell是指為使用者提供使用介面的軟體 命令直譯器 它接收來自使用...
Linux Shell筆記1 shell程式設計基礎
shell語言是解釋型非強型別語言.linux shell不區分變數的型別,一切都是字串型別,變數名不能是數字開頭.變數長度沒有限制,變數可以進行比較操作和整數操作.整數操作取決於字串的值是否是數字.變數的引用需要用 且 varname一般和 等效,但是注意有時變數可能會出現混淆的情況,此時應該用第...
shell指令碼學習1 shell介紹及變數
shell是什麼 根絕維基百科的定義。shell,一種殼層與命令列介面,是unix作業系統下傳統的使用者和計算機的互動介面,使用者直接輸入命令來執行各種各樣的任務。shell指令碼 英語 shell script 又稱shell命令稿 程式化指令碼,是一種電腦程式使用的文字檔案,內容由一連串的she...