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

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

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

評論