shell程式設計--bash變數介紹 ,變數是計算機記憶體的單元,其中存放的值可以改變。當 shell 指令碼需要儲存一些資訊時,如乙個檔名或乙個數字,就把它存放在乙個變數中。
bash變數型別
本地變數的作用域為整個bash程序。區域性變數屬於本地變數。在bash中宣告變數的週期隨著該程序的週期而存在。
定義本地變數:set varname=jerry
引用變數:$,括號可省略
區域性變數的宣告:local varname=value
環境變數的作用域為當前shell程序及其子程序
宣告:export varname=value或者varname=value; export varname
指令碼在執行時會啟動乙個子shell程序
命令列中啟動的指令碼會繼承當前shell的環境變數
系統自動執行的指令碼(非命令列啟動)就需要自我定義需要各環境變數
$1, $2, ...
shift: 對引數進行輪換,預設輪換乙個引數
#!/bin/bash
#echo $1
shift
echo $1
shift
echo $1
shift
./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=$:/home/bin
8、若該變數需要在其他子程式執行,則需要以export來使變數變成環境變數:
# export path
9、通常大寫字元為系統預設變數,自行設定變數可以使用小寫字元,方便判斷;
10、取消變數的方法為使用unset:"unset 變數名稱"例如取消myname的設定:
# unset myname
變數可以在bash配置檔案(~/.bashrc)中直接指定,保證每次登入shell該變數都存在
shell程式設計 bash變數介紹
shell程式設計 bash變數介紹 變數是計算機記憶體的單元,其中存放的值可以改變。當 shell 指令碼需要儲存一些資訊時,如乙個檔名或乙個數字,就把它存放在乙個變數中。bash變數型別 本地變數的作用域為整個bash程序。區域性變數屬於本地變數。在bash中宣告變數的週期隨著該程序的週期而存在...
shell程式設計 bash變數介紹
shell程式設計 bash變數介紹 變數是計算機記憶體的單元,其中存放的值可以改變。當 shell 指令碼需要儲存一些資訊時,如乙個檔名或乙個數字,就把它存放在乙個變數中。bash變數型別 本地變數的作用域為整個bash程序。區域性變數屬於本地變數。在bash中宣告變數的週期隨著該程序的週期而存在...
Shell程式設計(bash變數)
bash變數 一 使用者自定義變數 二 環境變數 三 位置引數變數 四 預定義變數 一使用者自定義變數 變數呼叫 echo 變數名 變數刪除 unset 變數名 二環境變數 環境變數是全域性變數 使用者自定義變數是區域性變數 對系統生效的環境變數名和變數作用是固定的 設定環境變數 export 變數...