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