Зміна змінної лише для читання

Рішення 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 $ 
Попередня Стаття Наступна Стаття

Кращі Поради