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

從小白到大神之路之學(xué)習(xí)運(yùn)維第55天--------shell腳本實(shí)例應(yīng)用

這篇具有很好參考價(jià)值的文章主要介紹了從小白到大神之路之學(xué)習(xí)運(yùn)維第55天--------shell腳本實(shí)例應(yīng)用。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

第三階段基礎(chǔ)

時(shí) ?間:2023年7月7日

參加人:全班人員

內(nèi) ?容:

shell實(shí)例

目錄

shell腳本應(yīng)用:

一、shell腳本

二、環(huán)境變量的基本使用

三、條件測(cè)試


shell腳本應(yīng)用:

一、shell腳本

1、shell腳本的作用shell解釋器的作用

1)shell腳本的作用

自動(dòng)化運(yùn)維使用

批量化重復(fù)操作使用腳本代替

2)shell解釋器的作用

Linux系統(tǒng)默認(rèn)使用的bash命令解釋器

負(fù)責(zé)接收用戶輸入的命令提交CPU判斷執(zhí)行

2、腳本的基本結(jié)構(gòu)和執(zhí)行長見的方式

1)腳本的結(jié)構(gòu)

vim test.sh

腳本后綴文件*.sh

#!/bin/bash

聲明

#E-mail:821409986@qq.com

腳本的描述和寫腳本的聯(lián)系方式

腳本執(zhí)行的命令

2)運(yùn)行腳本的方式

sh test.sh

使用sh命令運(yùn)行

./test.sh

在當(dāng)前位置運(yùn)行腳本

source ./test.sh

source命令運(yùn)行腳本

3、管道符和重定型基本輸入輸出

1)基本的輸入輸出

標(biāo)準(zhǔn)的輸入:接收或者讀取用戶輸入的數(shù)據(jù)<

標(biāo)準(zhǔn)的輸出:將數(shù)據(jù)顯示在屏幕或者文件中>,追加>>

錯(cuò)誤輸出:錯(cuò)誤輸出可以顯示在屏幕或者特定文件中,2>錯(cuò)誤輸出

混合輸出:不管是正確或者錯(cuò)誤都輸出到文件中,&>

2)管道符|

把前一個(gè)命令執(zhí)行的結(jié)果,變成后一個(gè)命令處理的對(duì)象

二、環(huán)境變量的基本使用

1、變量的類型

1)自定義變量

管理員手動(dòng)創(chuàng)建,根據(jù)需要自己定義

2)環(huán)境變量

維護(hù)系統(tǒng)使用

不需要管理員創(chuàng)建系統(tǒng)自動(dòng)創(chuàng)建

3)位置變量

命令行給腳本傳遞程序參數(shù)使用

4)預(yù)定義變量

bash預(yù)定義好的特殊變量

用戶不能修改

2、配置自定義變量

1)創(chuàng)建變量,變量名字是a變量值為1000,b為2000

a=1000 ???b=2000

2)查看變量值兩種方法

echo $a????expr $a

從小白到大神之路之學(xué)習(xí)運(yùn)維第55天--------shell腳本實(shí)例應(yīng)用,學(xué)習(xí),運(yùn)維,chrome

3、變量常見賦值的符號(hào)

1)雙引號(hào),允許通過$符號(hào)引用其他變量值

test="$ab $bb"

echo $test

2)單引號(hào),禁止引其他變量值

[root@huyang1 ~]# test='$ab $bb'

[root@huyang1 ~]# echo $test

$ab $bb

從小白到大神之路之學(xué)習(xí)運(yùn)維第55天--------shell腳本實(shí)例應(yīng)用,學(xué)習(xí),運(yùn)維,chrome

3)反撇,命令替換提取命令執(zhí)行的結(jié)果

[root@huyang1 ~]# aa=`netstat -anptu | grep 22`

[root@huyang1 ~]# echo $aa

從小白到大神之路之學(xué)習(xí)運(yùn)維第55天--------shell腳本實(shí)例應(yīng)用,學(xué)習(xí),運(yùn)維,chrome

4)read將輸入的內(nèi)容賦值給特定的變量名

[root@huyang1 ~]# read -p "請(qǐng)輸入特定的目錄:" insert

請(qǐng)輸入特定的目錄:/adcefg

[root@huyang1 ~]# echo $insert

/adcefg

從小白到大神之路之學(xué)習(xí)運(yùn)維第55天--------shell腳本實(shí)例應(yīng)用,學(xué)習(xí),運(yùn)維,chrome

5)定義全局環(huán)境變量子shell可以應(yīng)用

[root@huyang1 ~]# export a=100

[root@huyang1 ~]# echo $a

從小白到大神之路之學(xué)習(xí)運(yùn)維第55天--------shell腳本實(shí)例應(yīng)用,學(xué)習(xí),運(yùn)維,chrome

4、整數(shù)變量運(yùn)算符

1)創(chuàng)建的運(yùn)算符

+:加法???-:減法???\*:乘法

/:除法???%:求模(余)運(yùn)算

2)運(yùn)算基本的應(yīng)用

[root@huyang1 ~]# a=100

[root@huyang1 ~]# b=200

[root@huyang1 ~]# expr $a + $b

300

[root@huyang1 ~]#expr 1 + 1

[root@huyang1 ~]#echo ?$[1+1]

[root@huyang1 ~]#echo “scale=2;1.25*1.25”|bc

從小白到大神之路之學(xué)習(xí)運(yùn)維第55天--------shell腳本實(shí)例應(yīng)用,學(xué)習(xí),運(yùn)維,chrome

free

vim mom.sh

#!/bin/bash

mt=$(free | awk NR==2{print $2})

mu=$(free | awk NR==2{print $3})

muu=$(expr $mu \* 100 / $mt)

echo $muu

從小白到大神之路之學(xué)習(xí)運(yùn)維第55天--------shell腳本實(shí)例應(yīng)用,學(xué)習(xí),運(yùn)維,chrome

或者

echo "scale=2; $mu/$mt*100" |bc

? ? ? ? ? ? ? ? free ?| ?awk ?'NR==2{print ?int($3/$2*100)"%"}'

從小白到大神之路之學(xué)習(xí)運(yùn)維第55天--------shell腳本實(shí)例應(yīng)用,學(xué)習(xí),運(yùn)維,chrome

3)花括號(hào)的用于區(qū)分符號(hào)

[root@huyang1 ~]# echo ${ab}0.10.1

benet0.10.1

從小白到大神之路之學(xué)習(xí)運(yùn)維第55天--------shell腳本實(shí)例應(yīng)用,學(xué)習(xí),運(yùn)維,chrome

5、特殊變量

1)環(huán)境變量

系統(tǒng)創(chuàng)建

2)位置變量

提供9個(gè)位置$n(n代表1--9)??九列

從小白到大神之路之學(xué)習(xí)運(yùn)維第55天--------shell腳本實(shí)例應(yīng)用,學(xué)習(xí),運(yùn)維,chrome

3)預(yù)定義變量

$#:命令行中位置參數(shù)

$*:所有位置參數(shù)

$?:記錄的腳本執(zhí)行狀態(tài)0表示成功,非0表示錯(cuò)誤

$0:執(zhí)行腳本的進(jìn)程程序名字

[root@huyang1?~]# vim bak.sh

#!/bin/bash

mkdir /backup

tar zcf /backup/file_all-$(date +%F).tar.gz $* &>/dev/null

echo "共備份了$#個(gè)文件"

echo "成功執(zhí)行了$0腳本"

echo "備份的文件為:$*"

從小白到大神之路之學(xué)習(xí)運(yùn)維第55天--------shell腳本實(shí)例應(yīng)用,學(xué)習(xí),運(yùn)維,chrome

以下是一個(gè)實(shí)例腳本:

掛載光盤

#!/bin/bash

#用戶自動(dòng)構(gòu)建yum倉庫腳本

#掛載光盤

mount /dev/sr0?/mnt

#創(chuàng)建倉庫文件

cd ?/etc/yum.repos.d/

mkdir bak

mv *.repo bak

#創(chuàng)建yum文件

echo “[yum]

name=yum

baseurl=file:///mnt

enabled=1

gpgcheck=0” > local.repo

# ?清除重建緩存

?yum clean all && yum makecache fast

從小白到大神之路之學(xué)習(xí)運(yùn)維第55天--------shell腳本實(shí)例應(yīng)用,學(xué)習(xí),運(yùn)維,chrome

測(cè) 試:

從小白到大神之路之學(xué)習(xí)運(yùn)維第55天--------shell腳本實(shí)例應(yīng)用,學(xué)習(xí),運(yùn)維,chrome

掛載光盤提示信息重定向到黑洞

#!/bin/bash

#用戶自動(dòng)構(gòu)建yum倉庫腳本

echo ?“掛載光盤…..”

mount /dev/sr0?/mnt ?&> /dev/null

echo “創(chuàng)建倉庫文件…..”

cd ?/etc/yum.repos.d/

mkdir bak

mv *.repo bak

#創(chuàng)建yun文件

echo “[yum]

name=yum

baseurl=file:///mnt

enabled=1

gpgcheck=0” > local.repo

echo ?“清除重建緩存…..”

?yum clean all ???&> /dev/null ?&& yum makecache fast ??&> /dev/null

echo ?“yum創(chuàng)建成功….”

從小白到大神之路之學(xué)習(xí)運(yùn)維第55天--------shell腳本實(shí)例應(yīng)用,學(xué)習(xí),運(yùn)維,chrome

測(cè) 試:

從小白到大神之路之學(xué)習(xí)運(yùn)維第55天--------shell腳本實(shí)例應(yīng)用,學(xué)習(xí),運(yùn)維,chrome

批量處理統(tǒng)一文件內(nèi)容---非交互

vim??pass.txt

123456

useradd user1

passwd ?--stdin ?user1 < pass.txt

或者

echo ?“123456” | passwd ?--stdin ?user1

從小白到大神之路之學(xué)習(xí)運(yùn)維第55天--------shell腳本實(shí)例應(yīng)用,學(xué)習(xí),運(yùn)維,chrome

cd ?/boot | ls –l

cd ?/boot ; ?ls –l

從小白到大神之路之學(xué)習(xí)運(yùn)維第55天--------shell腳本實(shí)例應(yīng)用,學(xué)習(xí),運(yùn)維,chrome

強(qiáng)制接收

cat first.sh

awk ?{print ?$2}’first.sh

awk ?{print $2}’first.sh

awk ?{print $2,$1,$3}’first.sh

從小白到大神之路之學(xué)習(xí)運(yùn)維第55天--------shell腳本實(shí)例應(yīng)用,學(xué)習(xí),運(yùn)維,chrome

df

df ?|grep ?“/$”| awk ‘{print ?$5}’

df ?|grep ?“/$”| awk ‘{print ?$5}’| awk –F ‘%’ ‘{print $1}’

從小白到大神之路之學(xué)習(xí)運(yùn)維第55天--------shell腳本實(shí)例應(yīng)用,學(xué)習(xí),運(yùn)維,chrome

#x=18

#expr ?3 + $x

從小白到大神之路之學(xué)習(xí)運(yùn)維第55天--------shell腳本實(shí)例應(yīng)用,學(xué)習(xí),運(yùn)維,chrome

變量輸出

name=zhangsan

echo $name

echo ${name}

echo $namenihao

echo ${name}nihao

從小白到大神之路之學(xué)習(xí)運(yùn)維第55天--------shell腳本實(shí)例應(yīng)用,學(xué)習(xí),運(yùn)維,chrome

read ?-p “請(qǐng)輸入你的名字:” name

echo ?$name

從小白到大神之路之學(xué)習(xí)運(yùn)維第55天--------shell腳本實(shí)例應(yīng)用,學(xué)習(xí),運(yùn)維,chrome

變量,掛載光盤測(cè)試

#!/bin/bash

#用戶自動(dòng)構(gòu)建yum倉庫腳本

read ?-p “輸入你的掛載點(diǎn)位置:” x

echo ?“掛載光盤…..”

mkdir $x

mount /dev/sr0??$x &> /dev/null

echo “創(chuàng)建倉庫文件…..”

cd ?/etc/yum.repos.d/

mkdir bak

mv *.repo bak

#創(chuàng)建yun文件

echo “[yum]

name=yum

baseurl=file://$x

enabled=1

gpgcheck=0” > local.repo

echo ?“清除重建緩存…..”

?yum clean all ???&> /dev/null ?&& yum makecache fast ??&> /dev/null

echo ?“yum創(chuàng)建成功….”

從小白到大神之路之學(xué)習(xí)運(yùn)維第55天--------shell腳本實(shí)例應(yīng)用,學(xué)習(xí),運(yùn)維,chrome

測(cè) 試:

從小白到大神之路之學(xué)習(xí)運(yùn)維第55天--------shell腳本實(shí)例應(yīng)用,學(xué)習(xí),運(yùn)維,chrome

交互界面

?#!/bin/bash

echo “huyang1….

kernel….”

read –p “l(fā)ocalhost login:”user

if [ ?$user ??= “root”]

then

echo “歡迎登陸”

else

???????echo “拜拜”

fi

從小白到大神之路之學(xué)習(xí)運(yùn)維第55天--------shell腳本實(shí)例應(yīng)用,學(xué)習(xí),運(yùn)維,chrome

測(cè) 試:

從小白到大神之路之學(xué)習(xí)運(yùn)維第55天--------shell腳本實(shí)例應(yīng)用,學(xué)習(xí),運(yùn)維,chrome

三、條件測(cè)試

1、test判斷

1)判斷結(jié)果類型

真/假

2)判斷語法

test -d /boot && echo "YES"

測(cè)試boot是目錄顯示YES

[ -d /boot ] && echo "yes"

測(cè)試boot是目錄顯示YES

從小白到大神之路之學(xué)習(xí)運(yùn)維第55天--------shell腳本實(shí)例應(yīng)用,學(xué)習(xí),運(yùn)維,chrome

3)常見的測(cè)試選項(xiàng)

-d測(cè)試目錄

-f測(cè)試文件

-w測(cè)試寫權(quán)限

-r測(cè)試權(quán)限

-x測(cè)試執(zhí)行權(quán)限

-e測(cè)試文件目錄是否存在

[root@huyang1?~]# vim cd.sh

#!/bin/bash

[ -d /cd ] || mkdir /cd

[ -d /cd/Packages ] || mount /dev/cdrom /cd &> /dev/null

從小白到大神之路之學(xué)習(xí)運(yùn)維第55天--------shell腳本實(shí)例應(yīng)用,學(xué)習(xí),運(yùn)維,chrome

2、比較運(yùn)算符

1)常見的比較運(yùn)算符

gt大于?????????lt小于

ge大于等于?????le小于等于

eq等于?????????ne不等于

[root@huyang1?~]# vim num.sh

#!/bin/bash

read -p "請(qǐng)輸入一個(gè)數(shù)字:" num

[ $(expr $num % 2) -eq 0 ] && echo "$num 是偶數(shù)" || echo "$num 是基數(shù)"

從小白到大神之路之學(xué)習(xí)運(yùn)維第55天--------shell腳本實(shí)例應(yīng)用,學(xué)習(xí),運(yùn)維,chrome

測(cè) 試:

從小白到大神之路之學(xué)習(xí)運(yùn)維第55天--------shell腳本實(shí)例應(yīng)用,學(xué)習(xí),運(yùn)維,chrome

2)比較運(yùn)算符的基本使用

[ 10 -gt 5 ] && echo "YES"

10大于5顯示為yes

abc=`history | wc -l`

[ $abc -gt 100 ] && echo "yes"

提取history命令行數(shù),和100比較大于100顯示yes

從小白到大神之路之學(xué)習(xí)運(yùn)維第55天--------shell腳本實(shí)例應(yīng)用,學(xué)習(xí),運(yùn)維,chrome

3、字符串比較

1)字符串比較運(yùn)算符

=:字符串內(nèi)容是否相同

!=:字符串內(nèi)容是否不同

-z:檢查字符串是否為空

2)字符串比較的應(yīng)用,字符串需要使用雙引號(hào)

[ "aaa" = "aaa" ] && echo "yes"

判斷aaa字符全是否等于aaa字符

[ $LANG != "en.US" ] && ?echo "不支持中文!!"

LANG變量不等于en.US顯示不支持中文

從小白到大神之路之學(xué)習(xí)運(yùn)維第55天--------shell腳本實(shí)例應(yīng)用,學(xué)習(xí),運(yùn)維,chrome

4、邏輯測(cè)試

邏輯測(cè)試的常見運(yùn)算符

&&:而且或者用-a表示,兩個(gè)結(jié)果為真顯示

||:或,或者使用-o表示,兩個(gè)判斷結(jié)果只需要滿足一個(gè)條件顯示為真

!:否,兩個(gè)判斷結(jié)果不成立為真

#!/bin/bash

read -p "輸入考試成績:" num

[ $num -ge 60 -a $num -le 100 ] && echo "考試及格" ?

或者

[ $num -ge 0?] && [ $num -le 59?] && echo "考試及格"

從小白到大神之路之學(xué)習(xí)運(yùn)維第55天--------shell腳本實(shí)例應(yīng)用,學(xué)習(xí),運(yùn)維,chrome

測(cè)試:

從小白到大神之路之學(xué)習(xí)運(yùn)維第55天--------shell腳本實(shí)例應(yīng)用,學(xué)習(xí),運(yùn)維,chrome

?文章來源地址http://www.zghlxwxcb.cn/news/detail-544301.html

到了這里,關(guān)于從小白到大神之路之學(xué)習(xí)運(yùn)維第55天--------shell腳本實(shí)例應(yīng)用的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(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)文章

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包