国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

協(xié)會(huì)網(wǎng)站制作百度網(wǎng)盤app官方下載

協(xié)會(huì)網(wǎng)站制作,百度網(wǎng)盤app官方下載,如何做國(guó)外的電商網(wǎng)站,哪個(gè)網(wǎng)站能在家做兼職目錄 一、函數(shù) 1、函數(shù)的基本格式 2、查看函數(shù)列表 3、刪除函數(shù) 4、函數(shù)的傳參數(shù) 5、函數(shù)返回值 實(shí)驗(yàn): 1.判斷輸入的ip地址正確與否 2. 判斷是否為管理員用戶登錄 6、函數(shù)變量的作用范圍 7、函數(shù)遞歸(重要、難點(diǎn)) 實(shí)驗(yàn)&#xff1…

目錄

一、函數(shù)

1、函數(shù)的基本格式

2、查看函數(shù)列表

3、刪除函數(shù)

4、函數(shù)的傳參數(shù)

5、函數(shù)返回值

實(shí)驗(yàn):

1.判斷輸入的ip地址正確與否

2. 判斷是否為管理員用戶登錄

6、函數(shù)變量的作用范圍

7、函數(shù)遞歸(重要、難點(diǎn))

實(shí)驗(yàn):

遞歸遍歷目錄

?編輯一鍵安裝nginx?

階乘

1.用for循環(huán)求階乘

2.用函數(shù)求階乘?編輯

附加:sed

二、數(shù)組

1、數(shù)組介紹

2、引言

3、shell數(shù)組的定義

4、定義數(shù)組格式

方法一:

方法二:

方法三:

實(shí)驗(yàn):

?簡(jiǎn)單隨機(jī)點(diǎn)名

方法一:

方法二:

?5、數(shù)組索引

6、數(shù)組定義方法

實(shí)驗(yàn):取最大值

7、冒泡排序法:

舉例:


一、函數(shù)

  • 將命令序列按格式寫在一起
  • 可以方便重復(fù)使用命令序列
  • 函數(shù)也是一種腳本的別名

使用函數(shù)

1、先進(jìn)性定義

2、再調(diào)用

1、函數(shù)的基本格式

[function] 函數(shù)名(){命令序列
[return x]                           #使用return或exit可以顯示的結(jié)束函數(shù) 
}或者
-------------------------------第二種使用較多---------------------------------------------------#也可以省略掉[function],它表示該函數(shù)的功能函數(shù)名() {                            #函數(shù)名后面()是沒有內(nèi)容的命令序列                            #我們執(zhí)行的命令內(nèi)容放在{}里面
}----------------------------------------------------------------------------------
[function] 函數(shù)名 {命令序列}
  • 函數(shù)定義完之后并不會(huì)自動(dòng)執(zhí)行,需要調(diào)用才行
  • 好處在于可以寫一段功能代碼作為函數(shù),有需要就直接調(diào)用定義的時(shí)候哪怕出現(xiàn)語法錯(cuò)誤也沒關(guān)系,不調(diào)用就不會(huì)報(bào)錯(cuò)
  • 當(dāng)然我們寫函數(shù)最終目的還是為了調(diào)用,為了實(shí)現(xiàn)某個(gè)功能塊。

舉例:

#!/bin/bash
h () {
echo "hello"
}niao () {
echo `h` `w`
}w () {
echo "world"
}nihao

?

最簡(jiǎn)單的例子

vim  func.sh#!/bin/bashhaha () {echo "hello"}haha
#這個(gè)是調(diào)用hellobash func.sh

123

如果在其他文件中調(diào)用這個(gè)文件

添加顏色

2、查看函數(shù)列表

declare  -F                  ##查看當(dāng)前已定義的函數(shù)名declare  -f                  ##查看當(dāng)前已定義的函數(shù)定義declare  -f  func_name      ##查看指定當(dāng)前已定義的函數(shù)名declare  -F  func_name      ##查看當(dāng)前已定義的函數(shù)名定義

3、刪除函數(shù)

刪除函數(shù): ? unset func_name

[root@localhost data]#func1 () { hostname;hostname -I; }
[root@localhost data]#func1
localhost.localdomain
20.0.0.100 192.168.122.1 
[root@localhost data]#unset func1
[root@localhost data]#func1
bash: func1: 未找到命令...

4、函數(shù)的傳參數(shù)

#!/bin/bashh () {
echo "第一個(gè)參數(shù)是:$1 $2 $3"}h $1 $2 $3       ##調(diào)用

調(diào)換位置

#!/bin/bashh () {
echo "第一個(gè)參數(shù)是:$1 $2 $3"}h $2 $1 $3       ##調(diào)用

5、函數(shù)返回值

實(shí)驗(yàn):

1.判斷輸入的ip地址正確與否

使用原則:

1、函數(shù)一結(jié)束就取返回值,因?yàn)??變量只返回執(zhí)行的最后一條命令的退出狀態(tài)碼
2、退出狀態(tài)碼必須是0~255,超出時(shí)值將為除以256取余return        ###只能用在函數(shù)中
###return      從函數(shù)中返回,用最后狀態(tài)命令決定返回值
###return 0    無錯(cuò)誤返回
###return 1    有錯(cuò)誤返回exit 100      ##exit退出整個(gè)腳本

?

2. 判斷是否為管理員用戶登錄

6、函數(shù)變量的作用范圍

函數(shù)在Shell腳本中僅在當(dāng)前Shell環(huán)境中有效
Shell腳本中變量默認(rèn)全局有效
將變量限定在函數(shù)內(nèi)部使用local命令

7、函數(shù)遞歸(重要、難點(diǎn))

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

可以寫病毒

[root@localhost ~]#func () { echo $i;echo "run fast";let i++; func; }func

for炸彈

:(){ :|:& };:                         //:就是一個(gè)字符 可以寫成單詞
bomb() { bomb | bomb & }; bomb

執(zhí)行bomb以后會(huì)死機(jī),除非重啟,在沒有其他辦法。

實(shí)驗(yàn):

遞歸遍歷目錄

一鍵安裝nginx?

階乘

0和1的階乘都為1

自然數(shù)n的階乘寫作n!

1.用for循環(huán)求階乘

2.用函數(shù)求階乘

附加:sed

sed? -i? ?“s/舊/新/g”? ?文件名      ###  -i   選項(xiàng)是真的改#sed -i "s/root/admin/g"  passwd
#當(dāng)面文件夾下的passwd里的root改為admin

sed  -i.bak  "s/admin/root/g" passwd    ### -i.bak 是做備份,.bak只是后綴名,可以任意寫

sed "2a/hahahahaha"  passwd        ### a是插入的意思,2a是在第二行后面插入

sed

  • i? ? :在前面插
  • a? ?:在后面插
  • c? ?:整行替換

二、數(shù)組

1、數(shù)組介紹

數(shù)組和變量:

  • 數(shù)組:儲(chǔ)存多個(gè)元素的連續(xù)的內(nèi)存空間,相當(dāng)于多個(gè)變量的集合
  • 變量:存儲(chǔ)單個(gè)元素的內(nèi)存空間

2、引言

將全班學(xué)生定義成一個(gè)變量,無法使用普通變量。

  • 普通數(shù)組

  • 關(guān)聯(lián)數(shù)組

變量和數(shù)組

  • 變量:存儲(chǔ)單個(gè)元素的內(nèi)存空間

  • 數(shù)組:存儲(chǔ)多個(gè)元素的連續(xù)的內(nèi)存空間,相當(dāng)于多個(gè)變量的集合

數(shù)組名和索引

  • 索引的編號(hào)從0開始,屬于數(shù)值索引

  • 索引可支持使用自定義的格式,而不僅是數(shù)值格式,即為關(guān)聯(lián)索引,bash 4.0版本之后開始支持

  • bash的數(shù)組支持稀疏格式(索引不連續(xù))

3、shell數(shù)組的定義

數(shù)組中可以存放多個(gè)值,Bash Shell 只支持一維數(shù)組(不支持多維數(shù)組)

數(shù)組元素的下標(biāo)由 0 開始

Shell 數(shù)組用括號(hào)來表示,元素用"空格"符號(hào)分割開

在shell語句中,使用、遍歷數(shù)組的時(shí)候,數(shù)組格式要寫成 ${arr[@]} 或 ${arr[*]}

4、定義數(shù)組格式

方法一:

數(shù)組名=(value1 value2 ... valuen)
[root@localhost lyh]#a=(1 2 3 4 5)
[root@localhost lyh]#echo ${a[@]}
1 2 3 4 5
[root@localhost lyh]#echo ${a[*]}
1 2 3 4 5

方法二:

數(shù)組名=([0]=value0 [1]=value0 [2]=value0 ...)
[root@localhost lyh]#b=([0]=1 [1]=2 [2]=3 [3]=4 [4]=5)
[root@localhost lyh]#echo ${b[@]}
1 2 3 4 5

方法三:

數(shù)組名[0]="value"
數(shù)組名[1]="value"
數(shù)組名[2]="value"[root@localhost lyh]#c[0]=1
[root@localhost lyh]#c[1]=2
[root@localhost lyh]#c[2]=3
[root@localhost lyh]#c[3]=4
[root@localhost lyh]#echo ${c[@]}
1 2 3 4

實(shí)驗(yàn):

?簡(jiǎn)單隨機(jī)點(diǎn)名
方法一:

方法二:

?5、數(shù)組索引

數(shù)組名和索引

  • 索引的編號(hào)從0開始,屬于數(shù)值索引
  • 索引可支持使用自定義的格式,而不僅是數(shù)值格式,即為關(guān)聯(lián)索引,bash? 4.0版本之后開始支持
  • bash的數(shù)組支持稀疏格式(索引不連續(xù))

索引分為兩種:普通索引和關(guān)聯(lián)索引

普通索引:上面解釋了

關(guān)聯(lián)索引:①下表可以是文字:稱為關(guān)聯(lián)索引? 鍵值對(duì)的關(guān)系

? ? ? ? ? ? ? ? ? 下表可以不連續(xù),稱為稀疏格式

?注意:關(guān)聯(lián)數(shù)組和普通數(shù)組都要先聲明,普通可以聲明也可以不用聲明

? ? ? ? ? ? 但是關(guān)聯(lián)數(shù)組必須要先聲明

定義關(guān)聯(lián)數(shù)組一定要聲明,不聲明就沒有效果

[root@localhost data]#declare -A 數(shù)組名? ? ??-A 聲明關(guān)聯(lián)數(shù)組
[root@localhost data]#declare -a? 數(shù)組名?? ? -a? 聲明普通數(shù)組,?

不是變量是數(shù)組

只能把這個(gè)刪了重新聲明,不聲明就會(huì)混亂

6、數(shù)組定義方法

方法一(一次賦值全部元素):
數(shù)組名=(value0 valuel value2 ...)
a=(10 20 30 40 50)方法二(只賦值特定元素):
數(shù)組名=([0]=value[1]=value[2]=value ··)
b=([0]=10[1]=20[21=30)方法三:
列表名="value0 valuel value2..."
數(shù)組名=(S列表名)
[root@localhost data]#b="12345 6"
[root@localhost data]#c=$b
[root@localhost data]#echo ${c[*]}
123456方法四(一次只賦值一個(gè)元素):   追加  修改
數(shù)組名[0]="value"
數(shù)組名[1]="value"
數(shù)組名[2]="value"方法五:read-a  交互式
[root@localhost datal#touch{1..10}.txt
[root@localhost datal#file=(*.txt)    //當(dāng)前文件夾下的,所有txt結(jié)尾的文件
[root@localhost datal#echo $file
10.txt

實(shí)驗(yàn):

取最大值

取最小值:?

隨機(jī)數(shù)

?

7、冒泡排序法:

數(shù)組排序算法:冒泡排序
類似氣泡上涌的動(dòng)作,會(huì)將數(shù)據(jù)在數(shù)組中從小到大或者從大到小不斷的向前移動(dòng)。

基本思想:
冒泡排序的基本思想是對(duì)比相鄰的兩個(gè)元素值,如果滿足條件就交換元素值,把較小的元素移動(dòng)到數(shù)組前面,把大的元素移動(dòng)到數(shù)組后面(也就是交換兩個(gè)元素的位置),這樣較小的元素就像氣泡一樣從底部上升到頂部。

算法思路:
冒泡算法由雙層循環(huán)實(shí)現(xiàn),其中外部循環(huán)用于控制排序輪數(shù),一般為要排序的數(shù)組長(zhǎng)度減1次,因?yàn)樽詈笠淮窝h(huán)只剩下一個(gè)數(shù)組元素,不需要對(duì)比,同時(shí)數(shù)組已經(jīng)完成排序了。而內(nèi)部循環(huán)主要用于對(duì)比數(shù)組中每個(gè)相鄰元素的大小,以確定是否交換位置,對(duì)比和交換次數(shù)隨排序輪數(shù)而減少。

score=(77 13 91 56 88)兩兩對(duì)比,第1個(gè)和第2個(gè)比,小的值到前面,大的值到后面。
以此類推。第2個(gè)和第3個(gè)比,第3個(gè)和第4個(gè)比,第4個(gè)和第5個(gè)比------------第一輪------------
77 13 91 56 88 第一次對(duì)比 數(shù)組長(zhǎng)度-1 第一輪比較往后值, 最大值為91 
13 77 91 56 88 第二次對(duì)比 
13 77 91 56 88 第三次對(duì)比 
13 77 56 91 88 第四次對(duì)比 
13 77 56 88 91
------------第二輪------------
13 77 56 88 91 第一次對(duì)比 數(shù)組長(zhǎng)度-1第二輪比較往后,第二大的數(shù)字88 
13 77 56 88 91 第二次對(duì)比 
13 56 77 88 91 第三次對(duì)比 
13 56 77 88 91
------------第三輪-----------
13 56 77 88 91 第一次對(duì)比 數(shù)組長(zhǎng)度-1第三輪比較往后,第三大的數(shù)字77 
13 56 77 88 91 第二次對(duì)比 
13 56 77 88 91
------------第四輪-----------
13 56 77 88 91 第一次對(duì)比 數(shù)組長(zhǎng)度-1第四輪比較往后,第四大的數(shù)字56 
13 56 77 88 91

舉例:

#!/bin/bash
array=(98 76 24 100 35 3)
echo "old_array:${array[*]}"
lt=${#array[*]}
#定義比較輪數(shù),比較輪數(shù)為數(shù)組長(zhǎng)度-1,從1開始
for ((i=1;i<$lt;i++))
do#確定比較元素的位置,比較相鄰兩個(gè)元素,較大的數(shù)往后放,比較次數(shù)隨比較輪數(shù)而
減少for ((j=0;j<$lt-i;j++))do#定義第一個(gè)元素的值first=${array[$j]}#定義第二個(gè)元素的值k=$[$j+1]second=${array[$k]}#如果第一個(gè)元素比第二個(gè)元素大,就互換if [ $first -gt $second ];then#把第一個(gè)元素的值保存到臨時(shí)變量中temp=$first#把第二個(gè)元素值賦給第一個(gè)元素array[$j]=$second#把臨時(shí)變量賦給第二個(gè)元素array[$k]=$tempfidone
done
echo "new_array:${array[@]}"

http://aloenet.com.cn/news/44470.html

相關(guān)文章:

  • 太原網(wǎng)站推廣服務(wù)seo推廣seo技術(shù)培訓(xùn)
  • wordpress 騰訊云成都外貿(mào)seo
  • 網(wǎng)站建設(shè)公司起名百度廣告聯(lián)盟怎么賺錢
  • 聊城做網(wǎng)站最好的網(wǎng)絡(luò)公司哪里有永久免費(fèi)建站
  • 網(wǎng)站建設(shè)進(jìn)什么分錄百度賬號(hào)一鍵登錄
  • 政府網(wǎng)站建設(shè)意見權(quán)威發(fā)布
  • 深圳高端網(wǎng)站制作公司線上推廣如何引流
  • 網(wǎng)站制作建設(shè)怎么收費(fèi)百度問一問付費(fèi)咨詢
  • 云購網(wǎng)站開發(fā)百度建站云南服務(wù)中心
  • 有關(guān)做生態(tài)環(huán)境的官方網(wǎng)站小程序推廣引流
  • 網(wǎng)站用哪種語言簡(jiǎn)述提升關(guān)鍵詞排名的方法
  • 班級(jí)網(wǎng)站模板銷售找客戶的app
  • wordpress模板網(wǎng)站優(yōu)化大師免費(fèi)安裝下載
  • 網(wǎng)站建設(shè)費(fèi)做什么科目如何免費(fèi)發(fā)布廣告
  • 建設(shè)銀行信用卡網(wǎng)站登錄seo優(yōu)化方向
  • 企業(yè)頭像logo設(shè)計(jì)免費(fèi)seo免費(fèi)入門教程
  • wordpress文章采集插件信陽搜索引擎優(yōu)化
  • 做中英文網(wǎng)站的合肥網(wǎng)站seo整站優(yōu)化
  • 做外貿(mào)英文網(wǎng)站網(wǎng)站推廣seo優(yōu)化
  • 24小時(shí)二手表網(wǎng)站小紅書搜索關(guān)鍵詞排名
  • 小型網(wǎng)絡(luò)公司是干嘛的深圳谷歌seo推廣
  • 網(wǎng)站開發(fā)需要的編程軟件杭州百度快速排名提升
  • dw網(wǎng)站制作效果怎么做html網(wǎng)頁制作模板
  • 企業(yè)網(wǎng)站色彩搭配手機(jī)怎么制作網(wǎng)站
  • 公司建站多少錢電腦優(yōu)化用什么軟件好
  • 自己做的網(wǎng)站如何在百度搜到自助建站官網(wǎng)
  • 移動(dòng)網(wǎng)站開發(fā)教程下載重慶seo報(bào)價(jià)
  • 怎么打開自己做的網(wǎng)站視頻剪輯培訓(xùn)
  • 網(wǎng)站 做實(shí)名認(rèn)證嗎域名注冊(cè)阿里云
  • 如何做cad圖紙模板下載網(wǎng)站軟文代寫多少錢一篇