Зміна змінної лише для читання
Рішення 1
Змінна, що оголошується як тільки для читання, не може бути змінена під час вихідного процесу.
Але якщо змінна експортується в дитячу оболонку, вона може бути змінена.
#! / bin / bash if ["$ PROC_PID"! = "$ PPID"]; потім експортувати PROC_PID = $$ var = "mype" echo "initial $ var" оголосити -r var export вар $ 0 & # дочірній процес else echo "до $ var" var = "netty5" echo "після $ var"
Рішення 2
Використання непрямого розвитку.
# Декларація про зміну тільки для читання $ readonly Z = "Y" $ echo $ ZY # Тест придушення $ unset Z -l: unset: Z: не може вимкнути: змінна тільки для читання # Тест заміни $ Z = W -l: Z: змінна тільки для читання # Декларація непрямої змінної $ Y = W $ echo "$ Y" W # Розвиток змінної з непрямим $ echo "$ {! Z}" W $