Uczę się skryptów powłoki i utknąłem w tych małych eksperymentalnych skryptach powłoki:
1 #!/usr/bin/env bash
2 A=1
3 (A=2;echo "A is $A in $SHLVL")
4 echo "A is $A in $SHLVL"
5 exit 0
Bez wątpienia $ A w wierszu 3 i wierszu 4 różnią się od siebie, co można wytłumaczyć, ponieważ dzieje się tak, ponieważ proces nadrzędny nie może odczytać zmiennych utworzonych w procesie potomnym, czyli podpowłoce. Jednak $ SHLVL w linii 3 i linii 4 są takie same, co myślałem, że $ A w linii 3 powinien być większy niż $ A w linii 4 o 1. Czy polecenia w linii 3 nie były wykonywane w podpowłoce? Nie wiem, gdzie źle zinterpretowałem.
Dzięki za pomoc.