W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎勵
標(biāo)記shell變量或函數(shù)為只讀
readonly [-aAf] [name[=value] ...]
readonly -p
-a:指向數(shù)組。
-A:指向關(guān)聯(lián)數(shù)組。
-f:指向函數(shù)。
-p:顯示全部只讀變量。
--:在它之后的選項(xiàng)無效。
name(可選):變量名或函數(shù)名
value(可選):變量的值
readonly返回true除非你提供了非法選項(xiàng)或非法名稱。
# 定義變量并增加只讀屬性
readonly var1=13 var2
readonly -a arr1=(1 2 3 4 5) arr2=('z' 'x' 'c')
# 必須有 '-A' 選項(xiàng)
readonly -A dict1=(['key1']='value1')
# 先定義變量、函數(shù),然后再為它們添加只讀屬性
max=3
readonly max
# 數(shù)組定義時可以不加 `declare -a`
seasons=('spring' 'summer' 'autumn' 'winter')
# 為數(shù)組添加只讀屬性時可以不加 `-a` 選項(xiàng)
readonly seasons
declare -A man=(['age']=23 ['height']='190cm')
# 為關(guān)聯(lián)數(shù)組添加只讀屬性時可以不加 `-A` 選項(xiàng)
readonly man
function foo(){ echo 'bar'; }
# 為函數(shù)添加只讀屬性時必須加 `-f` 選項(xiàng)
readonly -f foo
# 顯示全部只讀變量,以下兩個命令的顯示結(jié)果一樣
readonly
readonly -p
# 顯示全部擁有只讀屬性的數(shù)組
readonly -a
# 顯示全部擁有只讀屬性的關(guān)聯(lián)數(shù)組
readonly -A
# 顯示全部擁有只讀屬性的函數(shù)
readonly -f
對于只讀變量而言,若用戶對其值進(jìn)行修改,則會立即報(bào)錯。例如,使用該指令定義一個只讀變量"test",并且將其值初始化為"ok",輸入如下命令:
[root@localhost ~]# readonly test='ok' #定義只讀變量并初始化
那么當(dāng)用戶直接修改該只讀變量時就會報(bào)錯,如下所示:
[root@localhost ~]# test='my' #試圖修改只讀變量的值
-bash: test: readonly variable
當(dāng)用戶試圖修改只讀變量的值時,會被提示該變量為只讀變量。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: