Промяна на променлива само за четене
Решение 1
Променливата, обявена само за четене, не може да бъде променяна по време на изходящия процес.
Но ако променливата се експортира в детска обвивка, тя може да бъде променена.
#! / bin / bash if ["$ PROC_PID"! = "$ PPID"]; след това експортирайте PROC_PID = $$ var = "mype" echo "първоначално $ var" обяви -r var износ var $ 0 & # child процес else echo "преди $ var" var = "netty5" echo "след $ var" fi
Разтвор 2
Използване на непрякото развитие.
# Декларация за променлива само за четене $ readonly Z = "Y" $ echo $ ZY # Тест за потискане $ unset Z -l: unset: Z: не може да се изключи: променлива само за промяната # Тест за замяна $ Z = W -l: Z: променлива само # Декларация за непряка променлива $ Y = W $ echo "$ Y" W # Развитие на променлива с indirection $ echo "$ {! Z}" W $