14.2.7. Как сделать переменную доступной только для чтения

14.2.7. Как сделать переменную доступной только для чтения

Если переменной присваивается значение, то может потребоваться, чтобы это значение не изменялось. Для этого достаточно сделать переменную доступной только для чтения. Если пользователь попытается изменить значение, появится сообщение об ошибке, в котором указывается, что данная переменная предназначена только для чтения. В этом случае применяется следующий формат:

имя_переменной=значение readonly имя_переменной

В примере ниже установлена переменная tape_dev, которая указывает путь к одному из ленточных устройств системы. Затем она становится доступной только для чтения. При попытке изменить значение возникает сообщение об ошибке.

$ TAPE_DEV="/dev/rmt/0n"

$ echo ${TAPE_DEV}

/dev/rmt/0n

$ readonly TAPE_DEV

$ TAPE_DEV="/dev/rmt/1n"

sh: TAPE_DEV: read?only variable

Чтобы просмотреть все переменные, которые доступны только для чтения, примените команду readonly.

$ readonly

declare -r FILM="Crimson Tide"

declare -ri PPID="1"

declare -r TAPE_DEV="/dev/rmt/0n"

declare -ri UID="0"