readonly [-aAf] [name[=value] ...] or readonly -p
-A 表示后面的name變量都是關聯數組
-a 表示后面的name變量都是index數組
-f 表示后面的name都是函數
不帶任何name,或者-p,打印所有只讀name,包括變量、函數。
-aA 同時出現,-A優先。
如果-aAf 和名字不一致,會返回非0。
name后帶value和不帶value的區別是,帶value表示在定義時就聲明只讀;不帶value表示先定義后,后聲明。對變量聲明,既可以在定義變量時聲明,也可以在變量定義后再聲明。
對於函數,只能先定義后聲明。
取消只讀????
help readonly
1 readonly: readonly [-aAf] [name[=value] ...] or readonly -p 2 Mark shell variables as unchangeable. 3 4 Mark each NAME as read-only; the values of these NAMEs may not be 5 changed by subsequent assignment. If VALUE is supplied, assign VALUE 6 before marking as read-only. 7 8 Options: 9 -a refer to indexed array variables 10 -A refer to associative array variables 11 -f refer to shell functions 12 -p display a list of all readonly variables and functions 13 14 An argument of `--' disables further option processing. 15 16 Exit Status: 17 Returns success unless an invalid option is given or NAME is invalid.
例子
# 聲明只讀變量。
readonly var=value
# 聲明只讀數組
readonly -a array=(val1 val2 val3)
# 聲明只讀函數
readonly -f f1