shell script對于硬件嵌入式行業(yè)從業(yè)者來說應(yīng)該是一個常用的工具,它是程序化腳本,是一種自動化管理linux的好工具了,所以對于嵌入式開發(fā)的工程師來說也是一個非常實(shí)用的工具。
并且在硬件行業(yè)中,很多電路板硬件測試的自動化工站也是使用的shell script語言進(jìn)行編寫,使得測試的自動化程度大大提高。
Shell script如字面意思上一樣,shell表示“殼”,是命令行與系統(tǒng)溝通的一個工具接口,而script就代表腳本的意思。
在使用過程中shell script不同于一般的編程語言需要進(jìn)行編譯或者解析,它可以直接執(zhí)行(前提是所寫的指令是能夠在命令行中執(zhí)行的),非常方便,這個有點(diǎn)像上個世紀(jì)的批處理文件(.bat),能夠一次執(zhí)行多個指令。
Shell script的編寫和平常的程序語言有很多相似的地方,它也有循環(huán),判斷,條件等等的語法邏輯,并且在執(zhí)行順序上也是從上到下,從左到右的邏輯順序。
以下是常見的一些shell script規(guī)則
a, 指令,選項(xiàng)和參數(shù)之間的多個空格會被忽略(多個空格只當(dāng)作一個空格),空白的行也是被忽略
被忽略表情包
b, 如果輸入讀取到enter的按鈕字符,就會嘗試開始執(zhí)行指令
c, 和python一樣,#也是它的注釋符號
d, 如果出現(xiàn)了“-”的符號,一般表示某種方法,后面會接參數(shù)
再來看一個簡單的shell script的demo
vim: 是系統(tǒng)用于文本查看,編輯的命令
cat: 對文件內(nèi)容進(jìn)行輸出打印
這里的#!bin/bash,表示的是這個腳本使用的shell名稱類型(不同的shell類型語法用途會有所不同),這里使用的是bash(某一種命令處理器,一般情況下默認(rèn)的就是選bash);PATH指定的腳本的路徑,使得不用寫絕對路徑,這里是跳轉(zhuǎn)到~/bin文件夾;echo類似是print的作用,可以打印輸出字符串;exit 0表示退出腳本,如果想額外判斷指令是否執(zhí)行成功,則可以使用$?這個變量來進(jìn)行觀察,它變?yōu)?則表示執(zhí)行成功。
上面是一個非常簡單的程序例子,程序腳本中只有輸出沒有輸入,如果想再其中加入輸入的話就需要使用read指令:
read -p xxx 變量,執(zhí)行之后就會要求輸入一個值給變量。
常用的邏輯語法:
判斷基本語法樣式:
if [條件判斷式]; then
elif [條件判斷式]; then
else
循環(huán)基本語法樣式:
for 變量名 in 取值列表
do
命令序列
done
在編寫完shell script之后,就是要考慮如何將這個保存的.sh文件變成一個可執(zhí)行的腳本了,這個需要進(jìn)行一些操作,不然就無法執(zhí)行這個.sh文件。
使用時先cd進(jìn)入.sh的文件夾,然后使用指令:chomd +x shell.sh,這樣之后就可以得到一個可執(zhí)行的.sh文件,在終端可直接執(zhí)行。
當(dāng)然,shell script的內(nèi)容還是很多很雜的,這里主要是簡單介紹下,有空后面會繼續(xù)更新。
-
嵌入式
+關(guān)注
關(guān)注
5082文章
19104瀏覽量
304815 -
硬件
+關(guān)注
關(guān)注
11文章
3312瀏覽量
66200 -
Shell
+關(guān)注
關(guān)注
1文章
365瀏覽量
23356
發(fā)布評論請先 登錄
相關(guān)推薦
評論