Shell編程——函數(shù)數(shù)組以及腳本調(diào)試(4)-創(chuàng)新互聯(lián)

Shell函數(shù)

將命令序列按格式寫在一起
可方便重復(fù)使用命令序列

Shell函數(shù)定義

調(diào)用函數(shù)的方法
 函數(shù)名 [參數(shù)1] [參數(shù)2]

實(shí)例1

兩個(gè)數(shù)字求和
通過sum(){}定義函數(shù)
#!/bin/bash
sum(){
 s=`expr $1 + $2 `
 return $s
}
sum 2 3
echo $?

Shell編程——函數(shù)數(shù)組以及腳本調(diào)試(4)

創(chuàng)新互聯(lián)2013年開創(chuàng)至今,先為忻州等服務(wù)建站,忻州等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為忻州企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
#!/bin/bash
sum(){
 s=`expr $1 + $2 `
 echo $s
}
res=`expr $(sum 2 3) \* 2`
echo $?,$res

Shell編程——函數(shù)數(shù)組以及腳本調(diào)試(4)

自定義函數(shù)

#!/bin/bash
#自定義函數(shù)
service_index(){
  echo "servicectl <servername> <start|stop|status|reload|restart>"
  return 1
}

service_version(){
  grep "CentOS.*release 7." /etc/centos-release > /dev/null && echo "centos7"
  grep "CentOS.*release 6." /etc/centos-release > /dev/null && echo "centos6"
  grep "CentOS.*release 5." /etc/centos-release > /dev/null && echo "centos5"
}
#調(diào)用前面兩個(gè)函數(shù)
servicectl(){
  [[ -z $1 || -z $2 ]] && service_index
  [ $(service_version) = "centos7" ] && systemctl $2 ${1}.service || service $1 $2
}
[root@localhost ~]# source demo02.sh
[root@localhost ~]# servicectl httpd start

shell數(shù)組

應(yīng)用場(chǎng)景包括

 獲取數(shù)組長(zhǎng)度
 獲取元素長(zhǎng)度
 遍歷元素
 元素切片
 元素替換
 元素刪除
 ...

數(shù)組定義方法

 方法一
數(shù)組名=(value0 value1 value2...)
 方法二
數(shù)組名=([0]=value [1]=value [2]=value...)
 方法三
列表名=”value0 value1 value2 ...”
數(shù)組名=($列表名)
 方法四
數(shù)組名[0]=”value”

數(shù)組包括的數(shù)據(jù)類型

 數(shù)值類型
 字符類型
   使用“”或‘’定義
獲取數(shù)組長(zhǎng)度
 ${數(shù)組名[@或/或*]}
 #讀取某下標(biāo)賦值
 ${數(shù)組名[下標(biāo)]}
數(shù)組遍歷

實(shí)例1

在數(shù)組中自加一輸出結(jié)果
#!/bin/bash
num=(11 22 33 44 55)
for ((i=0;i<${#num[*]};i++))
do
  let num[i]++
  echo ${num[i]}
done
[root@localhost ~]# source demo03.sh 
12
23
34
45
56

Shell腳本調(diào)試

echo命令
bash命令
 語法
  sh [-nvx] 腳本名
 常用選項(xiàng)
  -n:不執(zhí)行腳本,僅檢查語法。沒有語法問題不顯示任何內(nèi)容,有問題提示報(bào)錯(cuò)
  -v:執(zhí)行腳本時(shí),先顯示腳本內(nèi)容,然后執(zhí)行腳本。存在錯(cuò)誤時(shí),給出錯(cuò)誤提示
  -x:將執(zhí)行的腳本內(nèi)容輸出到屏幕上
set命令
  set -x:開啟調(diào)節(jié)模式
  set +x:關(guān)閉調(diào)節(jié)模式

謝謝閱讀?。。?/h3>

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

當(dāng)前題目:Shell編程——函數(shù)數(shù)組以及腳本調(diào)試(4)-創(chuàng)新互聯(lián)
標(biāo)題來源:http://www.muchs.cn/article32/cdjppc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站網(wǎng)站制作、移動(dòng)網(wǎng)站建設(shè)、ChatGPT、品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁(yè)設(shè)計(jì)公司