Ändern einer schreibgeschützten Variablen

Lösung 1

Eine als schreibgeschützt deklarierte Variable kann während des ausgehenden Prozesses nicht geändert werden.

Wenn die Variable jedoch in eine untergeordnete Shell exportiert wird, kann sie geändert werden.

 #! / bin / bash if ["$ PROC_PID"! = "$ PPID"]; exportiere dann PROC_PID = $$ var = "mype" echo "initial $ var" deklariere -r var exportiere var $ 0 & # child process else echo "vor $ var" var = "netty5" echo "nach $ var" fi 

Lösung 2

Indirekte Entwicklung nutzen.

 # Deklaration der Nur-Lese-Variablen $ readonly Z = "Y" $ echo $ ZY # Unterdrückungstest $ nicht gesetzt Z -l: nicht gesetzt: Z: nicht gesetzt: nur-Lese-Variable # Ersetzungstest $ Z = W -l: Z: nur-Lese-Variable # Deklaration einer indirekten Variablen $ Y = W $ echo "$ Y" W # Entwicklung einer Variablen mit Indirektion $ echo "$ {! Z}" W $ 
Vorherige Artikel Nächster Artikel

Top-Tipps