Izmjena varijable samo za čitanje
Rješenje 1
Varijabla koja je deklarirana kao samo za čitanje ne može se mijenjati tijekom odlaznog procesa.
Ali ako je varijabla izvezena u podređenoj ljusci, može se promijeniti.
#! / bin / bash if ["$ PROC_PID"! = "$ PPID"]; zatim izvozite PROC_PID = $$ var = "mype" echo "inicijalni $ var" proglasi -r var export var $ 0 & # child proces drugi echo "prije $ var" var = "netty5" echo "nakon $ var" fi
Rješenje 2
Korištenje neizravnog razvoja.
# Deklaracija varijable samo za čitanje $ readonly Z = "Y" $ echo $ ZY # test potiskivanja $ unset Z -l: unset: Z: ne može se postaviti: readonly varijabla # test zamjene $ Z = W -l: Z # Deklaracija indirektne varijable $ Y = W $ echo "$ Y" W # Razvoj varijable s indirekcijom $ echo "$ {! Z}" W $