加入星計劃,您可以享受以下權益:

  • 創(chuàng)作內容快速變現
  • 行業(yè)影響力擴散
  • 作品版權保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
    • 1、變量名的定義
    • 2、變量的賦值
    • 3、變量的使用
    • 4、變量的修改
    • 5、變量的刪除
    • 6、將變量設置為只讀變量
  • 推薦器件
  • 相關推薦
  • 電子產業(yè)圖譜
申請入駐 產業(yè)圖譜

飛凌嵌入式ElfBoard ELF 1板卡-shell腳本編寫之變量

08/29 13:06
1575
閱讀需 4 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

變量是任何一種編程語言都必不可少的組成部分,變量用來存放各種數據。腳本語言在定義變量時通常不需要指明類型,直接賦值就可以,Shell變量也遵循這個規(guī)則。每一個變量的值都是以字符串的形式存儲。

1、變量名的定義

變量名定義需要注意以下幾點:

變量名由數字、字母、下劃線組成;

必須以字母或者下劃線開頭;

不能使用Shell里的關鍵字(如,$,#,?等,通過help命令可以查看保留關鍵字)。

2、變量的賦值

賦值“=”左右不能有空格。

變量值可以加單引號、雙引號、或者不加引號, 如果變量值包含了空格、或tab等空白符號,那么就必須使用引號包圍起來。其中加單引號的變量值,輸出時,直接將變量值當做一串字符串輸出,不關心變量值中是否存在變量和命令。而加雙引號的變量值,輸出時會先解析里面的變量和命令,按照解析后的結果進行輸出。

變量值可以是一個命令執(zhí)行的結果,使用反引號和$()的方式,可以將命令執(zhí)行結果賦值給變量。

3、變量的使用

使用一個定義過的變量,只要在變量名前面加美元符號$即可,變量名可以使用{ }包圍起來,也可不使用{ }。

舉例說明(為了方便,我們直接在shell環(huán)境終端進行舉例演示變量的使用,不再寫入腳本,其與在腳本中使用方法一致)。

1)變量值無空格

var=value

使用echo輸出變量var,echo $var或者echo ${var},如圖:

也可以加上單引號或者雙引號:

var='value'或var="value":

2)變量值有空格

var='value 0'或var="value 0":

3)將命令執(zhí)行結果賦值給變量

首先建立一個test.txt文件,輸入內容為“my test!!”:

使用反引號方式包括命令“cat test.txt”,將test.txt中內容賦予變量var:

使用$()方式賦值給var:

4)變量中引用變量或者命令的情況

var0=123;

使用單引號定義var1的值:var1='var0 =${var0}';

使用雙引號定義var1的值:var2="var0 =${var0}";

看執(zhí)行結果:

可以看出var1的值直接當做字符串輸出,而var2的值,經過解析變量中的變量var0之后進行才輸出。

4、變量的修改

變量的修改就比較簡單了,直接給定義后的變量二次賦值就可以了。

5、變量的刪除

刪除一個定義過得變量,使用unset命令。

6、將變量設置為只讀變量

也可以將變量設置為只讀模式,不允許修改,使用readonly命令。設置為只讀變量后,不能用unset刪除變量。如果還是用該變量,需要重啟新的終端操作。

可以看到使用readonly命令之后,在此修改var變量,沒有修改成功。

推薦器件

更多器件
器件型號 數量 器件廠商 器件描述 數據手冊 ECAD模型 風險等級 參考價格 更多信息
NRF52840-QIAA-R7 1 Nordic Semiconductor Telecom Circuit, 1-Func, PBGA73, AQFN-73
$7.48 查看
CM7V-T1A-LOW-ESR-32.768KHZ-7PF-20-TA-QC 1 Micro Crystal AG Parallel - Fundamental Quartz Crystal,

ECAD模型

下載ECAD模型
$3.02 查看
AT27C512R-45JU-T 1 Microchip Technology Inc OTP ROM, 64KX8, 45ns, CMOS, PQCC32

ECAD模型

下載ECAD模型
$2.23 查看
飛凌嵌入式

飛凌嵌入式

保定飛凌嵌入式技術有限公司,創(chuàng)建于2006年,是一家專注嵌入式核心控制系統研發(fā)、設計和生產的高新技術企業(yè),是國內較早專業(yè)從事嵌入式技術的企業(yè)之一。 經過十幾年的發(fā)展與積累,公司擁有業(yè)內優(yōu)秀的軟硬件研發(fā)團隊,在北京及保定建立兩大研發(fā)基地,在蘇州、深圳設有華東、華南技術服務中心,并在北美、歐洲以及亞太等其他國家和地區(qū)擁有國際業(yè)務網絡。公司研發(fā)的智能設備核心平臺廣泛應用于物聯網、工控、軌道交通、醫(yī)療、電力、商業(yè)電子、智能家居、安防、機器人、環(huán)境監(jiān)測等諸多領域。

保定飛凌嵌入式技術有限公司,創(chuàng)建于2006年,是一家專注嵌入式核心控制系統研發(fā)、設計和生產的高新技術企業(yè),是國內較早專業(yè)從事嵌入式技術的企業(yè)之一。 經過十幾年的發(fā)展與積累,公司擁有業(yè)內優(yōu)秀的軟硬件研發(fā)團隊,在北京及保定建立兩大研發(fā)基地,在蘇州、深圳設有華東、華南技術服務中心,并在北美、歐洲以及亞太等其他國家和地區(qū)擁有國際業(yè)務網絡。公司研發(fā)的智能設備核心平臺廣泛應用于物聯網、工控、軌道交通、醫(yī)療、電力、商業(yè)電子、智能家居、安防、機器人、環(huán)境監(jiān)測等諸多領域。收起

查看更多

相關推薦

電子產業(yè)圖譜