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

一些常見(jiàn)的PCB原型設(shè)計(jì)和裝配神話解析
一些與眾不同的PCB布線經(jīng)驗(yàn)規(guī)則
STM32中遇到的問(wèn)題--關(guān)于串口的一些常見(jiàn)問(wèn)題

基本語(yǔ)句編程的一些規(guī)則和建議
NEON編程中的一些常見(jiàn)優(yōu)化技巧
shell命令和linux命令一樣嗎
分享一些常見(jiàn)的電路

評(píng)論