相關的代碼解釋在注釋中。
代碼如下:
#!/bin/bash # # shell定義變量是 變量名="xxx" 這樣定義 # 注意,變量名和等號之間不能有空格,這可能和你熟悉的所有編程語言都不一樣。 # 1.首個字符必須爲字母(a-z,A-Z)。 # 中間不能有空格,可以使用下劃線(_)。 # 不能使用標點符號。 # 不能使用bash裡的關鍵字(可用help命令查看保留關鍵字)。 # 使用變量 test="ceshi" # 使用變量,加上美元符號$ echo $test # 或者 如下 echo ${test} # 除了顯式地直接賦值,還可以用語句給變量賦值,如: echo `ls /etc` # 字符串 # 字符串可以用單引號,也可以用雙引號,也可以不用引號。單雙引號的區別跟PHP類似。 # 字符串拼接:直接用空格或者不加空格直接貼後面也行 teststr="zengzhihai" addteststr1="hello $teststr" addteststr2="hello$teststr" echo $addteststr1 echo $addteststr2 # 獲取字符串長度 echo ${#teststr} # 截取字符串 ${str:n:m} 提取字符串從n開始,截取m個 echo ${teststr:1:5} # 查找字符串 expr index str search 是否能夠查找到search字符串 echo `expr index $teststr zhi` echo `expr index $teststr mm` # 設置了teststr 下面不能再重新定義,也不能刪除 readonly teststr # 刪除teststr (這裡對readonly的設置的不能刪除) unset teststr echo $teststr # 定義數組:用括號來表示數組,數組元素用"空格"符號分割開。定義數組的一般形式爲:數組名=(值1 值2 ... 值n) # bash支持一維數組(不支持多維數組),並且沒有限定數組的大小 # 定義數組 testarr=("value1" "value22" "value333") # 直接echo 默認輸出第一個數組的值 echo $testarr #遍歷數組 for v in ${testarr[@]}; do echo $v; done # 讀取數組元素之的格式:${數組名[下標]} # 列印所有元素 echo ${array_name[@]} echo ${testarr[@]} # 獲取數組元素的個數,下面是兩種方式 length=${#testarr[@]} echo $length length1=${#testarr[*]} echo $length1 # 獲取單個元素個數的長度 ${#arr[n]} lengthnn=${#testarr[2]} echo $lengthnn # 數組的模式替換 ${數組名[@或*]/模式/新值} tmparr=${testarr[@]/value/my} echo $tmparr