欧美激情aaaa_伊人久久久大香线蕉综合直播_日韩在线卡一卡二_亚洲成人人体

readonly

標(biāo)記shell變量或函數(shù)為只讀

語(yǔ)法

readonly [-aAf] [name[=value] ...]
readonly -p

主要用途

選項(xiàng)

-a:指向數(shù)組。
-A:指向關(guān)聯(lián)數(shù)組。
-f:指向函數(shù)。
-p:顯示全部只讀變量。
--:在它之后的選項(xiàng)無效。

參數(shù)

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ù)組定義時(shí)可以不加 `declare -a`
seasons=('spring' 'summer' 'autumn' 'winter')
# 為數(shù)組添加只讀屬性時(shí)可以不加 `-a` 選項(xiàng)
readonly seasons

declare -A man=(['age']=23 ['height']='190cm')
# 為關(guān)聯(lián)數(shù)組添加只讀屬性時(shí)可以不加 `-A` 選項(xiàng)
readonly man

function foo(){ echo 'bar'; }
# 為函數(shù)添加只讀屬性時(shí)必須加 `-f` 選項(xiàng)
readonly -f foo
# 顯示全部只讀變量,以下兩個(gè)命令的顯示結(jié)果一樣
readonly
readonly -p
# 顯示全部擁有只讀屬性的數(shù)組
readonly -a
# 顯示全部擁有只讀屬性的關(guān)聯(lián)數(shù)組
readonly -A
# 顯示全部擁有只讀屬性的函數(shù)
readonly -f

常見錯(cuò)誤

對(duì)于只讀變量而言,若用戶對(duì)其值進(jìn)行修改,則會(huì)立即報(bào)錯(cuò)。例如,使用該指令定義一個(gè)只讀變量"test",并且將其值初始化為"ok",輸入如下命令:

[root@localhost ~]# readonly test='ok'        #定義只讀變量并初始化 

那么當(dāng)用戶直接修改該只讀變量時(shí)就會(huì)報(bào)錯(cuò),如下所示:

[root@localhost ~]# test='my'                 #試圖修改只讀變量的值
-bash: test: readonly variable

當(dāng)用戶試圖修改只讀變量的值時(shí),會(huì)被提示該變量為只讀變量。

注意

  1. 該命令是bash內(nèi)建命令,相關(guān)的幫助信息請(qǐng)查看help命令。
  2. declare +r不能去除只讀屬性, unset不能刪除只讀變量。
主站蜘蛛池模板: 麻城市| 长春市| 夏邑县| 昂仁县| 建平县| 灵寿县| 桃园市| 高陵县| 舒城县| 黑龙江省| 崇文区| 屏山县| 二手房| 台中市| 仙桃市| 福建省| 嵩明县| 谷城县| 罗江县| 仪征市| 阜城县| 偏关县| 噶尔县| 犍为县| 泉州市| 郧西县| 清镇市| 黑龙江省| 湟中县| 高碑店市| 舟山市| 台山市| 吉木乃县| 南通市| 探索| 临清市| 安达市| 定西市| 双辽市| 晴隆县| 建湖县|