您好,登錄后才能下訂單哦!
本篇文章為大家展示了shell編程中如何分析bash變量,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。
導(dǎo)讀 | shell編程--bash變量介紹 ,變量是計(jì)算機(jī)內(nèi)存的單元,其中存放的值可以改變。當(dāng) Shell 腳本需要保存一些信息時(shí),如一個(gè)文件名或一個(gè)數(shù)字,就把它存放在一個(gè)變量中。 |
bash變量類(lèi)型
本地變量
本地變量的作用域?yàn)檎麄€(gè)bash進(jìn)程。局部變量屬于本地變量。在bash中聲明變量的周期隨著該進(jìn)程的周期而存在。 定義本地變量:set VARNAME=Jerry 引用變量:${VARNAME},括號(hào)可省略 局部變量的聲明:local VARNAME=VALUE
環(huán)境變量
環(huán)境變量的作用域?yàn)楫?dāng)前shell進(jìn)程及其子進(jìn)程聲明:export VARNAME=VALUE或者VARNAME=VALUE; export VARNAME腳本在執(zhí)行時(shí)會(huì)啟動(dòng)一個(gè)子shell進(jìn)程命令行中啟動(dòng)的腳本會(huì)繼承當(dāng)前shell的環(huán)境變量系統(tǒng)自動(dòng)執(zhí)行的腳本(非命令行啟動(dòng))就需要自我定義需要各環(huán)境變量
位置變量
$1, $2, ...shift: 對(duì)參數(shù)進(jìn)行輪換,默認(rèn)輪換一個(gè)參數(shù)#!/bin/bash#echo $1shiftecho $1shiftecho $1shift./filetest.sh /etc/fstab /etc/inittab $1:/etc/fstab $2:/etc/inittab
特殊變量
$?: 上一個(gè)命令執(zhí)行狀態(tài)的返回值 程序執(zhí)行,可能有兩類(lèi)返回值: 程序執(zhí)行結(jié)果 程序狀態(tài)返回代碼(0-255) 0: 正確執(zhí)行 1-255: 錯(cuò)誤執(zhí)行。1、2、127系統(tǒng)預(yù)留$#: 參數(shù)的個(gè)數(shù)$*: 參數(shù)列表$@: 參數(shù)列表
變量的撤銷(xiāo)及查看
撤銷(xiāo)變量
unset VARNAME
查看變量
set: 查看當(dāng)前shell中的變量(包括環(huán)境變量和本地變量) printenv、env、export: 查看當(dāng)前shell中的環(huán)境變量
變量命名規(guī)則
1、變量與變量?jī)?nèi)容以一個(gè)等號(hào)"="來(lái)連接,如下所示: MyName=Dabric 2、等號(hào)兩邊不能直接接空格符,如下錯(cuò)誤: MyName= Dabric 或 Myname=Dab ric 3、變量名稱(chēng)只能是英文字母與數(shù)字,但是開(kāi)頭字符不能時(shí)數(shù)字; 4、變量?jī)?nèi)容若有空格符可使用雙引號(hào)或單引號(hào)將變量?jī)?nèi)容結(jié)合起來(lái),但雙引號(hào)內(nèi)的特殊字符如$等,可以保有原本的特性,如下所示: var="lang is $LANG" 則echo $var 可得 lang is en_US.UTF-8 單引號(hào)內(nèi)的特殊字符則僅為一般字符(純文本),如下所示: var='lang is $LANG' 則echo $var 可得 lang is $LANG 總之在bash中: "":弱引用,可以實(shí)現(xiàn)變量替換 '':強(qiáng)引用,不完成變量替換 5、可以使用跳脫字符"\"將特殊字符(如[ENTER], $, \, 空格符, '等)變成一般字符,如: MyName=Dab\ ric 6、在一串指令的執(zhí)行中,還需要藉由其他額外的指令所提供的信息時(shí),可以使用反引號(hào)"`COMMAND`"或"$(COMMAND)"。例如想要取得核心版本的設(shè)定: version=$(uname -r) echo $version如何進(jìn)入到您目前核心的模塊目錄: # cd /lib/modules/`uname -r`/kernel # cd /lib/moudles/$(uname -r)/kernel 7、若改變量為擴(kuò)增變量?jī)?nèi)容時(shí),則可用"$變量名稱(chēng)"或${變量}累加內(nèi)容,如下所示: PATH="$PATH":/home/bin 或 PATH=${PATH}:/home/bin 8、若該變量需要在其他子程序執(zhí)行,則需要以export來(lái)使變量變成環(huán)境變量: # export PATH 9、通常大寫(xiě)字符為系統(tǒng)默認(rèn)變量,自行設(shè)定變量可以使用小寫(xiě)字符,方便判斷; 10、取消變量的方法為使用unset:"unset 變量名稱(chēng)"例如取消MyName的設(shè)定: # unset MyName 變量可以在bash配置文件(~/.bashrc)中直接指定,保證每次登錄shell該變量都存在
上述內(nèi)容就是shell編程中如何分析bash變量,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。