Shell變量概述
跟許多程序設(shè)計(jì)語言一樣,你可以在 bash 中創(chuàng)建變量。
Bash 中沒有數(shù)據(jù)類型,bash 中的變量可以保存一個(gè)數(shù)字、一個(gè)字符、一個(gè)字符串等等。同時(shí)無需提前聲明變量,給變量賦值會(huì)直接創(chuàng)建變量。
變量命名原則
命名只能使用英文字母,數(shù)字和下劃線,首個(gè)字符不能以數(shù)字開頭。
中間不能有空格,可以使用下劃線(_)。
不能使用標(biāo)點(diǎn)符號(hào)。
不能使用 bash 里的關(guān)鍵字(可用 help 命令查看保留關(guān)鍵字)。
聲明變量
訪問變量的語法形式為:${var} 和 $var 。
變量名外面的花括號(hào)是可選的,加不加都行,加花括號(hào)是為了幫助解釋器識(shí)別變量的邊界,所以推薦加花括號(hào)。
word="hello"
echo ${word}
# Output: hello
只讀變量
使用 readonly 命令可以將變量定義為只讀變量,只讀變量的值不能被改變。
rword="hello"
echo ${rword}
readonly rword
# rword="bye" # 如果放開注釋,執(zhí)行時(shí)會(huì)報(bào)錯(cuò)
刪除變量
使用 unset 命令可以刪除變量。變量被刪除后不能再次使用。unset 命令不能刪除只讀變量。
dword="hello" # 聲明變量
echo ${dword} # 輸出變量值
變量類型
局部變量 - 局部變量是僅在某個(gè)腳本內(nèi)部有效的變量。它們不能被其他的程序和腳本訪問。
環(huán)境變量 - 環(huán)境變量是對(duì)當(dāng)前 shell 會(huì)話內(nèi)所有的程序或腳本都可見的變量。創(chuàng)建它們跟創(chuàng)建局部變量類似,但使用的是 export 關(guān)鍵字,shell 腳本也可以定義環(huán)境變量。
常見的環(huán)境變量:
變量 描述
$HOME 當(dāng)前用戶的用戶目錄
$PATH 用分號(hào)分隔的目錄列表,shell 會(huì)到這些目錄中查找命令
$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文章
613瀏覽量
28578 -
Shell
+關(guān)注
關(guān)注
1文章
368瀏覽量
23547 -
腳本
+關(guān)注
關(guān)注
1文章
395瀏覽量
15053
原文標(biāo)題:「Shell腳本」Shell腳本程序開發(fā)——變量(二)
文章出處:【微信號(hào):嵌入式加油站,微信公眾號(hào):嵌入式加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評(píng)論請先 登錄
相關(guān)推薦
如何在bash shell腳本中使用變量

shell腳本編寫之本地腳本的編寫和執(zhí)行
Linux Shell系列教程之Shell變量
shell腳本最簡明的教程

Linux中shell腳本執(zhí)的4種方式

shell腳本基礎(chǔ)知識(shí)
Bash腳本中特殊變量$0是什么?
分享249個(gè)拿來即用的shell腳本

shell腳本基本命令
shell并行調(diào)用腳本
Linux從零到精通:最簡單的Shell腳本入門教程

評(píng)論