Shell變量概述
跟許多程序設(shè)計(jì)語言一樣,你可以在 bash 中創(chuàng)建變量。
Bash 中沒有數(shù)據(jù)類型,bash 中的變量可以保存一個(gè)數(shù)字、一個(gè)字符、一個(gè)字符串等等。同時(shí)無需提前聲明變量,給變量賦值會直接創(chuàng)建變量。
變量命名原則
命名只能使用英文字母,數(shù)字和下劃線,首個(gè)字符不能以數(shù)字開頭。
中間不能有空格,可以使用下劃線(_)。
不能使用標(biāo)點(diǎn)符號。
不能使用 bash 里的關(guān)鍵字(可用 help 命令查看保留關(guān)鍵字)。
聲明變量
訪問變量的語法形式為:${var} 和 $var 。
變量名外面的花括號是可選的,加不加都行,加花括號是為了幫助解釋器識別變量的邊界,所以推薦加花括號。
word="hello"
echo ${word}
# Output: hello
只讀變量
使用 readonly 命令可以將變量定義為只讀變量,只讀變量的值不能被改變。
rword="hello"
echo ${rword}
readonly rword
# rword="bye" # 如果放開注釋,執(zhí)行時(shí)會報(bào)錯(cuò)
刪除變量
使用 unset 命令可以刪除變量。變量被刪除后不能再次使用。unset 命令不能刪除只讀變量。
dword="hello" # 聲明變量
echo ${dword} # 輸出變量值
變量類型
局部變量 - 局部變量是僅在某個(gè)腳本內(nèi)部有效的變量。它們不能被其他的程序和腳本訪問。
環(huán)境變量 - 環(huán)境變量是對當(dāng)前 shell 會話內(nèi)所有的程序或腳本都可見的變量。創(chuàng)建它們跟創(chuàng)建局部變量類似,但使用的是 export 關(guān)鍵字,shell 腳本也可以定義環(huán)境變量。
常見的環(huán)境變量:
變量 描述
$HOME 當(dāng)前用戶的用戶目錄
$PATH 用分號分隔的目錄列表,shell 會到這些目錄中查找命令
$PWD 當(dāng)前工作目錄
$RANDOM 0 到 32767 之間的整數(shù)
$UID 數(shù)值類型,當(dāng)前用戶的用戶 ID
$PS1 主要系統(tǒng)輸入提示符
$PS2 次要系統(tǒng)輸入提示符
示例-- Shell腳本
#!/usr/bin/env bash
################### 聲明變量 ###################
name="world"
echo "hello ${name}"
# Output: hello world
################### 輸出變量 ###################
folder=$(pwd)
echo "current path: ${folder}"
################### 只讀變量 ###################
readonly rword
################### 刪除變量 ###################
dword="hello" # 聲明變量
echo ${dword} # 輸出變量值
unset dword # 刪除變量
echo ${dword}
# Output: (空)
################### 系統(tǒng)變量 ###################
echo "UID:$UID"
echo LOGNAME:$LOGNAME
echo User:$USER
echo HOME:$HOME
echo PATH:$PATH
echo HOSTNAME:$HOSTNAME
echo SHELL:$SHELL
echo LANG:$LANG
################### 自定義變量 ###################
days=10
user="admin"
echo "$user logged in $days days age"
days=5
user="root"
# Output:
# admin logged in 10 days age
# root logged in 5 days age
################### 從變量讀取列表 ###################
colors="Red Yellow Blue"
for color in $colors
do
echo " $color"
done
審核編輯:湯梓紅
-
變量
+關(guān)注
關(guān)注
0文章
609瀏覽量
28288 -
Shell
+關(guān)注
關(guān)注
1文章
361瀏覽量
23234 -
腳本
+關(guān)注
關(guān)注
1文章
384瀏覽量
14793
原文標(biāo)題:「Shell腳本」Shell腳本程序開發(fā)——變量(二)
文章出處:【微信號:嵌入式加油站,微信公眾號:嵌入式加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論