0322 嵌入式學習筆記(10)

2021-10-22 20:42:34 字數 2293 閱讀 7667

expr命令

格式:expr expression(命令讀入expression引數,計算它的值,然後將結果寫入標準輸出)

引數應用規則:

1、用空格隔開每個項

2、用反斜槓\放在shell特定的字元前

對包含空格和其他特殊字元的字串要用引號括起來

3、計算字串長度

expr length 「this is a lest」

144、增量計數

說明:expr在迴圈中用於增量計算。先將變數初始化為0,然後迴圈值加1,反引號的用法是命令替代

while迴圈語句

while《判別令》

do《命令清單》

done

當《判別令》返回0時(對於test命令,就是其後的表示式成立),則執行do後的命令清單,然後在重做迴圈;否則退出迴圈

while控制常與shift命令結合使用

eg:編寫乙個shell指令碼exist,用於判別其後用引數方式指定的一系列檔案是否存在

#!/bin/bash

#filename exist

while test -n 「$1」

doif test -e $1

then echo 「$1 exist」

else echo 「$1 not exist」

fishift

done

使用while語句建立乙個計算1到5的平方的shell

#!/bin/bash

let i=0

let t=1

while [ $i -le 5 ]

dolet t=t+i*i

let i=i+1

done

echo 「total= $t」

使用while語句建立乙個輸入exit退出的shell程式

#!/bin/bash

echo 「this example is for test while … do」

echo 「if you input [exit] then quit the system」

echo -n 「please input」

read exit

while [ $exit = 「exit」 ]

doecho 「the system is quitting」

shutdown -h now

done

until迴圈語句until控制流於while控制流用法類似,但作用相反

until《判別令》

do《命令清單》

done

當《判別令》返回非0值時,執行do後的命令清單,然後檢查迴圈條件;當《判別令》返回0值時。退出迴圈

break和continue

有時需要基於某些準則退出迴圈或跳過迴圈shell提供了兩個命令實次功能

break 跳出整個迴圈 continue跳出本次迴圈

here

在shell中還可以利用所謂的」here文字「功能,即可在指令碼檔案中嵌入一段文件,作為指令碼中所使用的命令的標準輸入。

《命令》<函式

所有函式在使用前必須定義。這意味著必須將函式定義在指令碼開始的部分,直到shell直譯器首次發現他時,才可以使用

#!/bin/bash

time()」}

向函式傳遞引數向函式傳遞引數和向普通指令碼傳遞引數是一樣的,也是用$1,$2,$3

從函式中返回

當呼叫完函式,那麼主程式可能需要得到函式的返回值。在函式中得到函式的返回值可以使用以下方法

1、在函式末尾加return,從函式中返回,用最後的命令狀態決定返回值

2、返回數值,如0或1格式return 0或者return 1

刪除。用demo.sh刪除一次test.sh最後一行

嵌入式學習筆記

嵌入式系統定義 技術角度以應用為中心,以計算機技術為基礎,軟硬體可裁剪,應用系統對功能,可靠性,成本,體積,功耗,和應用環境有特殊要求的專用計算機系統系統角度 設計完成複雜功能的硬體和軟體並使其緊密契合在一起的計算機系統 實時在規定的時間內,完成規定的動作 紅帽linux 基本命令 ls 檢視當前目...

嵌入式學習筆記

1 3 買了兩本書鳥哥的 鳥哥的linux私房菜基礎學習篇 第三版 和偉山東的 嵌入式linux應用開發完全手 冊 暫時看不懂 4 看了王剛的 linux系統移植 第二版 實現了windows和linux虛擬機器的檔案的共享 2014 11 02 主機可以ping通虛擬機器,虛擬機器ping不通主機...

嵌入式學習筆記1

1.終端 ubuntu自帶終端terminal 終端提示符 fs ubuntu 使用者名稱 主機名 目錄 whoami hostname pwd 普通使用者提示符 超級使用者提示符 root 2.常用命令提示符 ls 列出資料夾內容 ls ls ls 資料夾名 ls home fs 61018 ls...