一、shell字串
字串是shell程式設計中最常用最有用的資料型別(除了數字和字串,也沒啥其它型別好用了),字串可以用單引號,也可以用雙引號,也可以不用引號。單雙引號的區別跟php類似。
str='this is a string'
單引號字串的限制:
your_name=『qinjx』
str="hello, i know your are \"$your_name\"! \n"
雙引號的優點:
your_name="qinjx"greeting="hello, "$your_name" !"
greeting_1="hello, $ !"
echo $greeting $greeting_1
string="abcd"echo $ #輸出 4
string="alibaba is a great company"echo $ #輸出liba
string="alibaba is a great company"
echo `expr index "$string" is`
二、shell陣列
linux shell在程式設計方面比windows批處理強大很多,無論是在迴圈、運算。
bash支援一維陣列(不支援多維陣列),並且沒有限定陣列的大小。類似與c語言,陣列元素的下標由0開始編號。獲取陣列中的元素要利用下標,下標可以是整數或算術表示式,其值應大於或等於0。在shell中,用括號來表示陣列,陣列元素用「空格」符號分割開。定義陣列的一般形式為:
陣列名=(值1 值2 ... 值n)
例如:
_name
=(value0 value1 value2 value3)
array_name=(value0 value1 value2 value3)
或者
array_name=(value0
value1
value2
value3
)
還可以單獨定義陣列的各個分量:
array_name[0]=value0array_name[1]=value1
array_name[n]=valuen
可以不使用連續的下標,而且下標的範圍沒有限制。讀取陣列元素值的一般格式是: $
例如:
valuen=$
使用@符號可以獲取陣列中的所有元素,例如:
echo $
獲取陣列長度的方法與獲取字串長度的方法相同,例如:
# 取得陣列元素的個數length=$
# 或者
length=$
# 取得陣列單個元素的長度
lengthn=$
Linux Shell指令碼基礎
shell指令碼在處理自動迴圈或大的任務方面可節省大量時間,且功能強大。任何指令碼都可能有注釋,加注釋需要此行的第乙個字元為 直譯器對此行不予解釋。指令碼不是複雜的程式,它是按行解釋的。指令碼第一行總是以 bin sh開始,這段指令碼通知shell使用系統上的 bourne shell直譯器。指令碼...
Linux shell指令碼基礎
ls 列出目錄下的清單 cat 連線顯示檔案內容 less more 分頁顯示檔案內容,建議使用less,相比於more更方便 head 顯示檔案頭部,可指定行數,預設顯示10行 tail 顯示檔案尾部,可指定行數,預設顯示10行 file 顯示檔案型別 wc 檢視檔案或統計資訊 find 查詢檔案...
linux shell指令碼基礎 3
6.函式 function name 注意 必須在呼叫乙個函式之前先對它進行定義,不存在前向宣告 當乙個函式被呼叫時,指令碼程式的位置引數 1,2等 會被替換為函式的引數。這也是讀取傳遞給函式的引數的辦法。當函式執行完畢後,這些引數會恢復為它們先前的值。可以通過return命令讓函式返回數字值 注意...