Změna proměnné jen pro čtení
Řešení 1
Proměnná deklarovaná jako pouze pro čtení nemůže být během odchozího procesu změněna.
Pokud je však proměnná exportována v podřízeném prostředí, může být změněna.
#! / bin / bash pokud ["$ PROC_PID"! = "$ PPID"]; pak export PROC_PID = $$ var = "mype" echo "počáteční $ var" deklarovat -r var export var $ 0 & # child process else echo "před $ var" var = "netty5" echo "po $ var" fi
Řešení 2
Využití nepřímého rozvoje.
# Prohlášení pouze pro čtení Proměnná $ readonly Z = "Y" $ echo $ ZY # Potlačení testu $ unset Z -l: unset: Z: nelze nastavit: readonly variable # Náhradní test $ Z = W -l: Z: readonly variable # Prohlášení o nepřímé proměnné $ Y = W $ echo "$ Y" W # Vývoj proměnné s indirection $ echo "$ {! Z}" W $