国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

shell編程之循環(huán)語句與函數(shù)

這篇具有很好參考價(jià)值的文章主要介紹了shell編程之循環(huán)語句與函數(shù)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一.shell函數(shù)

1.作用

(1)將命令序列按格式寫在一起

(2)可方便重復(fù)使用命令序列

2.使用函數(shù)的優(yōu)勢(shì)

(1)使用函數(shù)可以避免代碼沖突

(2)將大的工程可以分割為若干小的功能模塊,代碼的可讀性更強(qiáng)

3.shell函數(shù)定義

3.1方式1:

[function] 函數(shù)名 () {

命令系列

[return x]————————使用return或exit可以顯示地結(jié)束函數(shù)

}

3.2方式2:

函數(shù)名 () {

命令系列

}

4.調(diào)用函數(shù)的方法

函數(shù)名 [參數(shù)1] [參數(shù)2]

5.函數(shù)返回值

5.1 return

退出函數(shù)并返回一個(gè)退出值,作用于函數(shù)內(nèi)部,函數(shù)返回值的范圍:0~255之間(0就是成功,只要返回值非0也都認(rèn)為失敗,在shell中的返回碼可以自定義,因此可以讓成功也可以讓失敗。

function abc {

read -p "輸入一個(gè)數(shù)字:" a
a=$(($a*2))
return 0
}
abc————————————————必須加函數(shù)名,用來調(diào)用
echo $a

shell編程之循環(huán)語句與函數(shù)

5.2 exit

終止函數(shù)運(yùn)行,exit0,函數(shù)執(zhí)行exit語句,整個(gè)腳本將立刻停止,并把指定的退出狀態(tài)碼返回給調(diào)用者。

function abc {

read -p "輸入一個(gè)數(shù)字:" a
a=$(($a*2))
exit 0
}
abc
echo $a

shell編程之循環(huán)語句與函數(shù)

6.1-100奇偶求和相加

第一種:

oushu () {
sum1=0
for i in `seq 2 2 100`
 do
 sum1=$(($i+$sum1))
done
}
oushu
 echo $sum1
jishu () {
sum2=0
for o in `seq 1 2 100`
 do
 sum2=$(($o+$sum2))
done
}
jishu
 echo $sum2
total=$(($sum1+$sum2))
echo $total 

shell編程之循環(huán)語句與函數(shù)

第二種:

jishu () {
sum1=0
for ((i=1;i<=100;i+=2))
do
sum1=$(($sum1+$i))
done
}
jishu
echo $sum1

oushu () {
sum2=0
for ((j=2;j<=100;j+=2))
do
sum2=$(($sum2+$j))
done
}
oushu
echo $sum2

total=$(($sum1+$sum2))
echo $total

shell編程之循環(huán)語句與函數(shù)

二.函數(shù)傳參

1.含義

在shell中,調(diào)用函數(shù)時(shí)可以向其傳遞參數(shù)

在函數(shù)體內(nèi)部,通過$n的形式來獲取參數(shù)的值

2.函數(shù)傳參的方式

方式一:

sum1 () {
 sum=$[$1 + $2]
 echo $sum
}

read -p "請(qǐng)輸入第一個(gè)數(shù):" first
read -p "請(qǐng)輸入第二個(gè)數(shù):" second
sum1 $first $second

[root@test1 opt]# chmod 777 cc.sh

[root@test1 opt]# ./cc.sh

shell編程之循環(huán)語句與函數(shù)

方式二:

sum1 () {
 sum=$[$1 + $2]
 echo $sum
}
sum1 $1 $2

shell編程之循環(huán)語句與函數(shù)

三.函數(shù)變量的作用范圍

1.函數(shù)變量的作用范圍

(1)函數(shù)在Shell腳本中僅在當(dāng)前Shell環(huán)境中有效

(2)Shell腳本中變量默認(rèn)全局有效

(3)將變量限定在函數(shù)內(nèi)部使用local命令

2.調(diào)用函數(shù)

加了local只能在函數(shù)內(nèi)部生效,如果函數(shù)外重新定義,值會(huì)被更改,

調(diào)用函數(shù):第一步內(nèi)部沒定義傳外部的9,第二步內(nèi)部重新定義全局變量為8不受外部影響,第三步第一次已經(jīng)傳參進(jìn)去打印。

2.1示例:

bash -x + 腳本名稱 ——查看詳細(xì)過程

shell編程之循環(huán)語句與函數(shù)
shell編程之循環(huán)語句與函數(shù)

abc () {
echo "inside $i"————————————#定義了外部9
let i++
local i
i=8
echo "inside $i"

}
i=9
abc
echo "outside $i"

shell編程之循環(huán)語句與函數(shù)

3.遞歸

3.1含義

函數(shù)調(diào)用自己本身的函數(shù)

3.2遞歸示例

/etc,展示/etc 目錄下的所有內(nèi)容

mulu () {
for i in `ls $1`
do
 if [ -d "$1/$i" ] #是否為目錄
  then
   echo "$1$i"
   muli "$1/$i"#不是目錄的話要打印文件,調(diào)用查看目錄下是否還有東西
 else
  echo "$i"  #$2 為空,不傳參,只輸入文件名
fi
done
}
mulu $1

shell編程之循環(huán)語句與函數(shù)

shell編程之循環(huán)語句與函數(shù)

4.階乘

4.1階乘的含義

階乘指從1乘以2乘以3乘以4一直乘到所要求的數(shù)。

例如所要求的數(shù)是4。則階乘式是1x2x3x4,得到的積是24,24就是4的階乘。 例如所要求的數(shù)是6.則階乘式足1x2x3*…6,得到的積是720,720就是6的階乘。例如所要求的數(shù)是n,則階乘式是1x2x3*…*n,設(shè)得到的積是x,x就是n的階難。

總:輸入一個(gè)數(shù)一直乘到自己,1不算,每一次自己減一再作為參數(shù)乘以自己到1不乘。

4.2階乘示例

jiecheng () {
if [ $1 -eq 1 ]
 then
  echo 1
else
 local number=$(($1-1))
 local result=$(jiecheng $number) #自己乘自己每次的
結(jié)果減1
 echo "$(($1*$result))"
fi
}
read -p "輸入一個(gè)數(shù)求階乘: " num
result=`jiecheng $num`
echo $result

shell編程之循環(huán)語句與函數(shù)

5.函數(shù)庫

vim hsk.sh
jiafa () {
result=$(($1+$2))
echo $result
}

jianfa () {
result=$(($1-$2))
echo $result
}

chengfa () {
result=$(($1*$2))
echo $result
}

chufa () {
if [ $2 -ne 0 ]
 then
result=$(($1/$2))
echo $result

else
 echo "$2不能是0!"
fi

調(diào)用數(shù)據(jù)庫

vim dy.sh
. /opt/hsk.sh
read -p "請(qǐng)輸入第一個(gè)數(shù):" first
read -p "請(qǐng)輸入第二個(gè)數(shù):" second
a=`jiafa $first $second`
b=`jianfa $first $second`
c=`chengfa $first $second`
d=`chufa $first $second`

echo $a
echo $b
echo $c
echo $d

shell編程之循環(huán)語句與函數(shù)

6.拓展

函數(shù)能夠接受一個(gè)參數(shù),參數(shù)為用戶名; 判斷一個(gè)用戶是否存在 如果存在,就返回此用戶的shell 和 UID ;并返回正常狀態(tài)值; 如果不存在,就說此用戶不存在;并返回錯(cuò)誤狀態(tài)值。
shell編程之循環(huán)語句與函數(shù)
shell編程之循環(huán)語句與函數(shù)

shell編程之循環(huán)語句與函數(shù)

shell編程之循環(huán)語句與函數(shù)文章來源地址http://www.zghlxwxcb.cn/news/detail-470946.html

到了這里,關(guān)于shell編程之循環(huán)語句與函數(shù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【Linux】shell編程4(break語句、continue、exit、shell的函數(shù)、返回值return)

    【Linux】shell編程4(break語句、continue、exit、shell的函數(shù)、返回值return)

    break語句用于從for、while、until或select循環(huán)中退出、停止循環(huán)的執(zhí)行。 語法: n代表嵌套循環(huán)的層級(jí),如果指定了n,break將退出n級(jí)嵌套循環(huán)。 如果沒有指定n或n小于 1,則退出狀態(tài)碼為0,否則退出狀態(tài)碼為n。 一句話總結(jié):跳出當(dāng)前循環(huán) continue語句用于跳過循環(huán)體中剩余的命令

    2024年02月04日
    瀏覽(23)
  • Java 學(xué)習(xí)路線:基礎(chǔ)知識(shí)、數(shù)據(jù)類型、條件語句、函數(shù)、循環(huán)、異常處理、數(shù)據(jù)結(jié)構(gòu)、面向?qū)ο缶幊獭?、文件?API

    Java 是一種由 Sun Microsystems 于 1995 年首次發(fā)布的編程語言和計(jì)算平臺(tái)。Java 是一種通用的、基于類的、面向?qū)ο蟮木幊陶Z言,旨在減少實(shí)現(xiàn)依賴性。它是一個(gè)應(yīng)用程序開發(fā)的計(jì)算平臺(tái)。Java 快速、安全、可靠,因此在筆記本電腦、數(shù)據(jù)中心、游戲機(jī)、科學(xué)超級(jí)計(jì)算機(jī)、手機(jī)等領(lǐng)

    2024年03月24日
    瀏覽(39)
  • shell腳本之循環(huán)語句

    shell腳本之循環(huán)語句

    將某代碼段重復(fù)運(yùn)行多次,通常有進(jìn)入循環(huán)的條件和退出循環(huán)的條件 一般知道循環(huán)次數(shù)使用for循環(huán) 不知道循環(huán)次數(shù),知道停止條件時(shí)一般使用while break跳出單個(gè)循環(huán)后面加數(shù)字2則代表跳出兩層循環(huán) continue終止某次循環(huán)中的命令,但是不會(huì)完全終止命令

    2024年02月12日
    瀏覽(23)
  • Shell腳本while循環(huán)語句應(yīng)用

    記錄 :433 場(chǎng)景 :Shell腳本while循環(huán)語句應(yīng)用。Shell腳本while循環(huán)語句應(yīng)用。while do done、while : do done、while true do done。 版本 :CentOS Linux release 7.9.2009。 1.while常用格式 1.1格式一:while do done 1.2格式二:無限循環(huán)(while : do done) 1.3格式三:無限循環(huán)(while true do done) 2.使用while遍歷數(shù)組

    2024年02月06日
    瀏覽(16)
  • Shell腳本攻略:循環(huán)語句for

    Shell腳本攻略:循環(huán)語句for

    目錄 一、理論 1.for循環(huán) 2.echo命令 二、實(shí)驗(yàn) 1.實(shí)驗(yàn)一 2.實(shí)驗(yàn)二 3.實(shí)驗(yàn)三 4.實(shí)驗(yàn)四 5.實(shí)驗(yàn)五 6.實(shí)驗(yàn)六 7.實(shí)驗(yàn)七 8.實(shí)驗(yàn)八 9.實(shí)驗(yàn)九 (1)for循環(huán)的常見用法 ? ? ? ① 帶列表的for循環(huán) 帶列表的for循環(huán)用于執(zhí)行一定次數(shù)的循環(huán),其語法結(jié)構(gòu)如下: for 變量名 in 取值列表 do ? 命令序列

    2024年02月06日
    瀏覽(43)
  • 【玩轉(zhuǎn)Linux操作】一文帶你明白Shell的判斷,循環(huán)語句

    【玩轉(zhuǎn)Linux操作】一文帶你明白Shell的判斷,循環(huán)語句

    ??專欄【玩轉(zhuǎn)Linux操作】 ??喜歡的詩句:更喜岷山千里雪 三軍過后盡開顏。 ??音樂分享【如愿】 大一同學(xué)小吉,歡迎并且感謝大家指出我的問題?? 注意寫空格 if … then 形式 類似于C/C++里面的 if-else 語句 ??示例 ??示例 ??示例 類似于C/C++的 switch 語句 ??示例 注意寫空

    2024年02月13日
    瀏覽(27)
  • 【Linux】Shell腳本之流程控制語句 if判斷、for循環(huán)、while循環(huán)、case循環(huán)判斷 + 實(shí)戰(zhàn)詳解[?建議收藏??!?]

    【Linux】Shell腳本之流程控制語句 if判斷、for循環(huán)、while循環(huán)、case循環(huán)判斷 + 實(shí)戰(zhàn)詳解[?建議收藏!!?]

    ????? 博主簡(jiǎn)介 ????云計(jì)算領(lǐng)域優(yōu)質(zhì)創(chuàng)作者 ????華為云開發(fā)者社區(qū)專家博主 ????阿里云開發(fā)者社區(qū)專家博主 ?? 交流社區(qū): 運(yùn)維交流社區(qū) 歡迎大家的加入! ?? 希望大家多多支持,我們一起進(jìn)步!?? ??如果文章對(duì)你有幫助的話,歡迎 點(diǎn)贊 ???? 評(píng)論 ?? 收藏

    2024年02月13日
    瀏覽(35)
  • 【Shell編程之條件語句】

    【Shell編程之條件語句】

    測(cè)試表達(dá)式是否成立,若成立返回0,否則返回其他數(shù)值 2.1、常用的測(cè)試操作符 命令 解釋 -d 測(cè)試是否為目錄(Directory) -e 測(cè)試目錄或文件是否存在(Exist) -f 測(cè)試是否為文件(File) -r 測(cè)試當(dāng)前用戶是否有權(quán)限讀取 (Read) -w 測(cè)試當(dāng)前用戶是否有權(quán)限寫入 (Write) -x 測(cè)試當(dāng)前用戶是否有權(quán)

    2023年04月27日
    瀏覽(26)
  • Shell編程之條件語句

    Shell編程之條件語句

    在簡(jiǎn)單的Shell腳本程序中,各語句將 按先后順序依次執(zhí)行 ,從而實(shí)現(xiàn)批處理的自動(dòng)化過程。然而,單一的順序結(jié)構(gòu)使得腳本過于機(jī)械化,不夠智能,難以處理更加靈活的系統(tǒng)任務(wù)。 本章主要講了 條件測(cè)試,包括文件測(cè)試、整數(shù)值比較、字符串比較和邏輯測(cè)試 。以及如何使用

    2024年02月01日
    瀏覽(18)
  • 【Linux】Shell編程之條件語句

    【Linux】Shell編程之條件語句

    提示:文章寫完后,目錄可以自動(dòng)生成,如何生成可參考右邊的幫助文檔 test命令 測(cè)試表達(dá)式是否成立,若成立返回0,否則返回其他數(shù)值 常用的測(cè)試操作符 -d :測(cè)試是否為目錄 (Directory) -e:測(cè)試目錄或文件是否存在(Exist) -f:測(cè)試是否為文件 (File) -r:測(cè)試當(dāng)前用戶是否有權(quán)

    2024年02月03日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包