Shell腳本,就是利用Shell的命令解釋的功能,對(duì)一個(gè)純文本的文件進(jìn)行解析,然后執(zhí)行這些功能,也可以說Shell腳本就是一系列命令的集合。
Shell可以直接使用在win/Unix/Linux上面,并且可以調(diào)用大量系統(tǒng)內(nèi)部的功能來解釋執(zhí)行程序,如果熟練掌握Shell腳本,可以讓我們操作計(jì)算機(jī)變得更加輕松,也會(huì)節(jié)省很多時(shí)間。
一、Shell應(yīng)用場景
01Shell能做什么
將一些復(fù)雜的命令簡單化(平時(shí)我們提交一次github代碼可能需要很多步驟,但是可以用Shell簡化成一步)
可以寫一些腳本自動(dòng)實(shí)現(xiàn)一個(gè)工程中自動(dòng)更換最新的sdk(庫)
自動(dòng)打包、編譯、發(fā)布等功能
清理磁盤中空文件夾
總之一切有規(guī)律的活腳本都可以嘗試一下
02Shell不能做什么
需要精密的運(yùn)算的時(shí)候
需要語言效率很高的時(shí)候
需要一些網(wǎng)絡(luò)操作的時(shí)候
總之Shell就是可以快速開發(fā)一個(gè)腳本簡化開發(fā)流程,并不可以用來替代高級(jí)語言
03
Shell的工作原理
Shell可以被稱作是腳本語言,因?yàn)樗旧硎遣恍枰幾g的,而是通過解釋器解釋之后再編譯執(zhí)行,和傳統(tǒng)語言相比多了解釋的過程所以效率會(huì)略差于傳統(tǒng)的直接編譯的語言。
1.3.1 最簡單的腳本:

只需要打開文本編輯工具,編輯成以上的樣子,然后保存成test.sh
1.3.2 運(yùn)行該腳本:


“效果圖1”
這樣我們便寫出來了第一個(gè)最簡單的腳本,下面我們可以嘗試著寫一些復(fù)雜的腳本。
1.3.3 Shell中的變量

這里面需要注意的就是,“=”前后不能有空格,命名規(guī)則就和其它語言一樣了。
1.3.4 訪問變量

當(dāng)想要訪問變量的時(shí)候,需要使用$,否則輸出的將是純文本內(nèi)容,如下圖所示。

“效果圖2”
Shell中的四則運(yùn)算

例子程序

這里面需要注意的就是,定義變量的時(shí)候“=”前后是不能有空格的,但是進(jìn)行四則運(yùn)算的時(shí)候運(yùn)算符號(hào)前后一定要有空格,乘法的時(shí)候需要進(jìn)行轉(zhuǎn)義。

效果圖3
其它運(yùn)算符 =、==、!=、!、-o、-a

例子程序


效果圖4
關(guān)系運(yùn)算符

例子程序



效果圖5
字符串運(yùn)算符


字符串


效果圖6
數(shù)組


效果圖7
輸出程序:echo


效果圖8
printf
同c語言,就不過多介紹了
判斷語句
if
if-else
if-elseIf
case


效果圖9
test命令


for循環(huán)


效果10
while循環(huán)

以上是while循環(huán)的兩種用法,第一種是比較常規(guī)的,執(zhí)行循環(huán),然后每次都把控制的數(shù)加1,就可以讓while循環(huán)有退出的條件了。
第二種是用戶從鍵盤數(shù)據(jù),然后把用戶輸入的文字輸出出來。
跳出循環(huán)

函數(shù)

定義一個(gè)沒有返回值的函數(shù),然后調(diào)用該函數(shù)

定義一個(gè)有返回值的函數(shù),調(diào)用該函數(shù),輸出結(jié)果

效果圖11

定義了一個(gè)需要傳遞參數(shù)的函數(shù)

效果圖12
重定向
寫一個(gè)自動(dòng)輸入命令的腳本
自動(dòng)提交github倉庫的腳本
效果圖13
以上便是我對(duì)shell知識(shí)的總結(jié)
-
Shell
+關(guān)注
關(guān)注
1文章
373瀏覽量
25032 -
腳本
+關(guān)注
關(guān)注
1文章
405瀏覽量
28993
原文標(biāo)題:15分鐘學(xué)會(huì)shell腳本,最簡明的教程在這里
文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
【RT-Thread學(xué)習(xí)筆記】結(jié)合案例學(xué)習(xí)調(diào)試shell腳本
嵌入式和物聯(lián)網(wǎng)的shell腳本學(xué)習(xí)指南之shell腳本入門免費(fèi)下載
109個(gè)實(shí)用shell腳本分享
shell腳本基礎(chǔ)知識(shí)
Linux Shell腳本經(jīng)典案例分享
shell并行調(diào)用腳本
Shell腳本檢查工具ShellCheck介紹
Linux從零到精通:最簡單的Shell腳本入門教程

shell腳本最簡明的教程
評(píng)論