加入星計(jì)劃,您可以享受以下權(quán)益:

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

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

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

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

1、變量名的定義

變量名定義需要注意以下幾點(diǎn):

變量名由數(shù)字、字母、下劃線組成;

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

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

2、變量的賦值

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

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

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

3、變量的使用

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

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

1)變量值無空格

var=value

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

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

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

2)變量值有空格

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

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

首先建立一個(gè)test.txt文件,輸入內(nèi)容為“my test!!”:

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

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

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

var0=123;

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

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

看執(zhí)行結(jié)果:

可以看出var1的值直接當(dāng)做字符串輸出,而var2的值,經(jīng)過解析變量中的變量var0之后進(jìn)行才輸出。

4、變量的修改

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

5、變量的刪除

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

6、將變量設(shè)置為只讀變量

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

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

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風(fēng)險(xiǎn)等級 參考價(jià)格 更多信息
ASE-25.000MHZ-L-C-T 1 Abracon Corporation CMOS Output Clock Oscillator, 25MHz Nom, ROHS COMPLIANT, SMD, 4 PIN

ECAD模型

下載ECAD模型
$1.46 查看
CM315D32768EZFT 1 Citizen Finedevice Co Ltd Parallel - Fundamental Quartz Crystal, 0.032768MHz Nom, SMD, 2 PIN

ECAD模型

下載ECAD模型
暫無數(shù)據(jù) 查看
NC7WZU04P6X 1 Rochester Electronics LLC LVC/LCX/Z SERIES, DUAL 1-INPUT INVERT GATE, PDSO6, 1.25 MM, EIAJ, SC-88, SC-70, 6 PIN
$0.22 查看
飛凌嵌入式

飛凌嵌入式

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

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

查看更多

相關(guān)推薦

電子產(chǎn)業(yè)圖譜