shell變量和數組知識講解

字號+ 編輯: 种花家 修訂: 科学鼠辈 來源: 利志分享 2023-09-05 我要說兩句(0)

360前技術總監曾哥講解shell命令當中有關變量和數組的基礎知識。

相關的代碼解釋在注釋中。

代碼如下:

#!/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


閲完此文,您的感想如何?
  • 有用

    0

  • 沒用

    0

  • 開心

    0

  • 憤怒

    0

  • 可憐

    0

1.如文章侵犯了您的版權,請發郵件通知本站,該文章將在24小時内刪除;
2.本站標注原創的文章,轉發時煩請注明來源;
3.交流群: 2702237 13835667

相關課文
  • 防止退出linux終耑退出之後導致的nohup進程強制退出

  • Linux系統下word文档轉成pdf的辦法

  • ubuntu和debian安裝nginx或者tengine報錯, 找不到pcre依賴庫的解決辦法

  • 常見的web中間件請求返回狀態碼

我要說說
網上賓友點評