readonly

标记shell变量或函数为只读

语法

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

主要用途

  • 定义一到多个变量并设置只读属性。

  • 为已定义的一到多个变量设置只读属性。

  • 显示全部包含只读属性的变量。

  • 为已定义的一到多个函数设置只读属性。

  • 显示全部包含只读属性的函数。

选项

-a:指向数组。
-A:指向关联数组。
-f:指向函数。
-p:显示全部只读变量。
--:在它之后的选项无效。

参数

返回值

readonly返回true除非你提供了非法选项或非法名称。

例子

常见错误

对于只读变量而言,若用户对其值进行修改,则会立即报错。例如,使用该指令定义一个只读变量"test",并且将其值初始化为"ok",输入如下命令:

那么当用户直接修改该只读变量时就会报错,如下所示:

当用户试图修改只读变量的值时,会被提示该变量为只读变量。

注意

  1. 该命令是bash内建命令,相关的帮助信息请查看help命令。

  2. declare +r不能去除只读属性, unset不能删除只读变量。

Last updated

Was this helpful?