嵌入式開發小白學習筆記(8)
1、test時shell程式中的乙個表示式,通常用在流程控制for、while、until、if等結構中,用test命令判斷檔案的存在與性質,變數的相互關係
語法:test《表示式》
如果《表示式》成立,test返回0,反之返回乙個非0值。
2、字串比較(比較的是長度)
(1)-z《字串》判斷字串長度是否等於0,若等於0則返回0。
(2)-n《字串》判斷字串長度是否大於0,若大於0則返回0。
(3)《字串1>=《字串2>判斷兩個字串是否相同,相同則為是返回0,等號兩邊要有空格判斷使用==.
(4)《字串1>!=《字串2>判斷兩個字串是否相同,不同則為是,返回0.
3、兩個數值的比較
邏輯操作,可以進行and/or,與其他條件聯合使用
檔案操作,例如檔案是否存在檔案的狀態等
4、數字比較(比較的是大小,符合條件返回0)
《數值表示式1> 《算符》 《數值表示式2>(算符兩邊要有空格)
(1)《字串》 -eq 《字串》判斷兩者是否相等,相等則為是,返回0.
(2)《字串》 -ne 《字串》判斷兩者是否不等,不等則為是,返回0
(3)《字串》 -lt 《字串》判斷前者是否小於後者,小於則為是,返回0
(4)《字串》 -le 《字串》判斷前者是否小於等於後者,小於等於則為是,返回0
(5)《字串》 -gt 《字串》判斷前者是否大於後者,大於則為是,返回0
(6)《字串》 -ge 《字串》判斷前者是否大於等於後者,大於或等於則為是,返回0
5、檔案操作
檔案測試表示式是為了測試檔案操作邏輯
(1)-e:物件是否存在,存在返回值為0.
(2)-d:物件存在且為目錄,則返回值為0.
(3)-f:物件存在且為檔案,則返回值為0.
(4)-l:物件存在且為符號連線,則返回值為0.
(5)-r:物件存在且可讀,則返回值為0.
(6)-s:物件存在且長度非0,則返回值為0
(7)-w:物件存在且可寫,則返回值為0.
(8)-x:物件存在且可執行,則返回值為0.
(9)!:測試條件的否定。(與上述的符號用空格隔開)
6、邏輯測試
常用於邏輯測試《表示式》有:
(1)!《表示式》:《表示式》不成立
(2)《表示式1> -a 《表示式2>:《表示式1>與《表示式2>同時成立
(3)《表示式》 -o 《表示式2>:《表示式1>或《表示式》成立
1、條件控制:if、case結構
(一)if條件語句
語法:if《判別令》;
then
then //else語句可以省略
(1)、=、-o兩邊也要有空格,=也可以用==(=作為賦值符號不可以寫成==)
(2)$answer ,n兩邊寫不寫引號無所謂
(3)
注意:(二)case條件語句判別令通常是test《表示式》,如果只寫表示式,則用中括號括起來(中括號兩邊要有空格)
如果《判別令》返回0(對於test命令來說,就是其後的表示式成立),則將執行then後的命令清單;反之,則執行else後的命令。
(1)case條件選擇為使用者提供了多個根據字串的值從多個選項中選項乙個項。
(2)語法
case《變數》in
《字串1>);;
…《字串n>);;
*);;
esac
在case表示式中也可以使用shell的萬用字元("",「?」,「」)通常「」作為case命令的最後表示式以便在前面找不到任何相應的匹配項時,執行"其他命令"的命令
2、迴圈控制:for、while、until等結構
(一)for迴圈語句
(1)語法
for 《迴圈變數》 [in 《迴圈變數取值集》]
do 《命令清單》
done
(2)注意:
如果for語句的後半部分被省略,則預設的《迴圈變數取值集》就是命令列引數集
如果命令清單有多餘的命令,系統會依次執行。
(1)在shell中,條件判斷語句可以使用if條件語句和case條件語句,case語句的選項比較多。
(2)shell語句中的分號
分號是多個個語句之間的分隔符,當只有乙個語句的時候,末尾無需分號,最後乙個語句後面也無需分號。
嵌入式系統開發小白學習筆記(10)
函式嵌入式系統開發小白學習筆記 1 格式 expr expression 命令讀入expression引數,計算它的值,然後加將結果寫入標準輸出 2 引數應用規則 1 用空格隔開每個項 2 用 反斜槓 放在shell特定字元前面 對包含空格和其他特殊字元的字串要用引號括起來 3 計算字串長度 4 增...
嵌入式系統開發學習筆記(5)
嵌入式系統開發學習筆記 4 1 myhead 標頭檔案 2 總控makefile 進入各個功能子目錄執行make命令,並將所有的.o檔案生成可執行檔案 3 scripts 指令碼檔案 4 功能目錄makefile 將功能目錄下所有的.c檔案編譯成.o檔案 5 指令碼目錄makefile 定義其他ma...
嵌入式系統開發流程
如果在乙個嵌入式系統中使用 linux技術開發 根據應用需求的不同有不同的配置開發方法,但是,一般情況下都需要經過如下的過程 配置開發主機,配置minicom,一般的引數為波特率115200 baud s,資料位8位,停止位為1,9,無奇偶校驗,軟體硬體流控設為無。在windows下的超級終端的配置...