第十周-day43-Shell編程基礎(chǔ)

第十周-day43-Shell編程基礎(chǔ).png

格式

#!/bin/bash
#磁椒!幻數(shù) 指定腳本用的命令解釋器
執(zhí)行腳本
sh
sh +x

1走越、為什么要學(xué)習(xí)shell編程?

Linux系統(tǒng)中會大量的使用Shell贩耐,工作中我們也需要自動化實現(xiàn)業(yè)務(wù)弧腥,例如:自動備份、監(jiān)控潮太、自動安裝服務(wù)
Shell編程是Linux運維人員必須要會編程語言管搪。最簡單的編程語言。
編程也是運維人員必須具備的本領(lǐng):
Shell铡买、python是運維人員必須具備的本領(lǐng)

2更鲁、什么是Shell?

shell就是一個解釋器(翻譯官),命令行的命令以及腳本都會通過shell解釋奇钞,傳給操作系統(tǒng)澡为,處理后在輸出給用戶。

3景埃、Shell的分類

/bin/sh媒至、/bin/bash顶别、/usr/bin/sh、/usr/bin/bash

4拒啰、CentOS7默認(rèn)腳本是Shell

[root@zhang ~]# echo $SHELL
/bin/bash

5驯绎、什么是Shell腳本?

程序谋旦、命令放入文件里執(zhí)行剩失,這個文件稱之為Shell腳本文件。
工作中最多的編程寫腳本册着,存放在文件里拴孤。

二、變量

1.變量

方便腳本里面進(jìn)行重復(fù)使用

命名規(guī)則
    看見變量名稱  識別變量作用
    不能以數(shù)字開頭

變量分類
    局部變量(普通變量)
    IP=10.0.0.200
    time=2019-01-01

全局變量(環(huán)境變量)
    系統(tǒng)創(chuàng)建
        在整個系統(tǒng)中生效
    大部分地方意思一樣
    一般是大寫

特殊變量
        \$?  數(shù)字  \$#  \$*

2.局部變量(普通變量)

image.png

3.引號系列

image.png

4.特殊變量

5.局部變量和全局變量區(qū)別:

[root@m01 /server/scripts]# LIDAO=996
[root@m01 /server/scripts]# 
[root@m01 /server/scripts]# echo $LIDAO
996
[root@m01 /server/scripts]# cat show.sh 
#!/bin/bash
echo $LIDAO
[root@m01 ~]# sh show.sh  \\執(zhí)行腳本為空

[root@m01 ~]# 
[09:17 root@m01 ~]#  export LIDAONB  \\添加全局變量
[09:22 root@m01 ~]# echo $LIDAONB
666
[09:22 root@m01 ~]# sh show.sh 
666

6.局部變量和全局變量區(qū)別

https://www.processon.com/view/link/5a0e4380e4b06c8e10923353

image.png

7.awk的 -v 參數(shù)

[09:49 root@m01 ~]# x=10
[09:49 root@m01 ~]# y=99
[09:49 root@m01 ~]# echo $x
10
[09:49 root@m01 ~]# echo $y
99
[09:49 root@m01 ~]# awk 'BEGIN{print $x/$y}'
awk: cmd. line:1: fatal: division by zero attempted
[09:49 root@m01 ~]# awk -vn1=10 -vn2=99 'BEGIN{print n1/n2}'
0.10101
[09:51 root@m01 ~]# awk -vn1=$x -vn2=$y 'BEGIN{print n1/n2}'
0.10101
[09:51 root@m01 ~]# awk -vx=10 -vy=99 'BEGIN{print x/y}'
0.10101
[09:53 root@m01 ~]# 

8.利用shell編譯小型計算器

[10:18 root@m01 ~]# vim show.sh 
#!/bin/bash
. /etc/profile
x=$1
y=$2

echo $1\+$2= ;awk -vx=$x -vy=$y 'BEGIN{print x+y}'
echo $1\-$2= ;awk -vx=$x -vy=$y 'BEGIN{print x-y}'
echo $1\*$2= ;awk -vx=$x -vy=$y 'BEGIN{print x*y}'
echo $1\/$2= ;awk -vx=$x -vy=$y 'BEGIN{print x/y}'

[10:19 root@m01 ~]# sh show.sh 5 6
5+6=
11
5-6=
-1
5*6=
30
5/6=
0.833333

知識有限暫不支持小數(shù)運算



9.特殊變量中簡單判斷參數(shù)個數(shù):

10.判斷目錄存不存在指蚜,不存在就創(chuàng)建

三乞巧、判斷語句

if判斷句語法:單分支: 如果。摊鸡。绽媒。那么就
if [ 表達(dá)式 ]
then命令
else
exit 退出
fi 果如

1.if語句格式:

if [ 表達(dá)式 ]
    then命令
    exit 退出
fi

2.對比兩個數(shù)值大小


3.檢查定時任務(wù)是否運行中

避免過濾的時候 過濾掉grep命令自己

四、循環(huán)語句

for語句

五免猾、擴(kuò)展:

read命令

http://man.linuxde.net/read

從鍵盤讀取變量的值是辕,通常用在shell腳本中與用戶進(jìn)行交互的場合。該命令可以一次讀取多個變量的值猎提,變量和輸入的值都需要使用空格隔開获三。在read命令后面,如果沒有指定變量名锨苏,讀取的數(shù)據(jù)將被自動賦值給特定的變量REPLY

-p:指定讀取值時的提示符疙教;
-t:指定讀取值時等待的時間(秒)。
截取自簡書好友—依舊

總結(jié):

1.變量 特殊變量 $# $* $1 $0
2.判斷與循環(huán)
服務(wù)腳本
任務(wù):

批量添加用戶設(shè)置隨機(jī)密碼 for循環(huán)實現(xiàn)
批量修改文件名字 for/rename
touch /oldboy/oldboy.txt 批量.txt修改為.jpg

未完待續(xù)....

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末伞租,一起剝皮案震驚了整個濱河市贞谓,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌葵诈,老刑警劉巖裸弦,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異作喘,居然都是意外死亡理疙,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進(jìn)店門泞坦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來窖贤,“玉大人,你說我怎么就攤上這事≡呶啵” “怎么了择吊?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長槽奕。 經(jīng)常有香客問我,道長房轿,這世上最難降的妖魔是什么粤攒? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮囱持,結(jié)果婚禮上夯接,老公的妹妹穿的比我還像新娘。我一直安慰自己纷妆,他們只是感情好盔几,可當(dāng)我...
    茶點故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著掩幢,像睡著了一般逊拍。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上际邻,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天芯丧,我揣著相機(jī)與錄音,去河邊找鬼世曾。 笑死缨恒,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的轮听。 我是一名探鬼主播骗露,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼血巍!你這毒婦竟也來了萧锉?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤藻茂,失蹤者是張志新(化名)和其女友劉穎驹暑,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體辨赐,經(jīng)...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡优俘,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了掀序。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片帆焕。...
    茶點故事閱讀 38,039評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出叶雹,到底是詐尸還是另有隱情财饥,我是刑警寧澤,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布折晦,位于F島的核電站钥星,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏满着。R本人自食惡果不足惜谦炒,卻給世界環(huán)境...
    茶點故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望风喇。 院中可真熱鬧宁改,春花似錦、人聲如沸魂莫。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽耙考。三九已至谜喊,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間倦始,已是汗流浹背锅论。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留楣号,地道東北人最易。 一個月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像炫狱,于是被迫代替她去往敵國和親藻懒。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,786評論 2 345