Chcę wiedzieć, jak usunąć wszystkie zmienne zdefiniowane w wierszu polecenia bez zamykania terminala?
na przykład, jeśli ustawię zmienną w wierszu polecenia jako:
$ a=1
teraz chcę usunąć zmienną $a
(i wiele innych zmiennych zdefiniowanych w podobny sposób) bez zamykania terminala. Mógłbym użyć, unset
ale będzie gorączkowy, jeśli nie będzie dużych. zmiennych
$var
z var=$(declare -p +F);
przepływa następnie, że jako argument do funkcji, która robi echo "${2%%=*}".
to odpowiedź ma kilka problemów z ogrom - ale to powinno działać, jeśli środowisko nie jest ogromna.
exec "$0"
może - ale trudno powiedzieć, co rozumiesz przez globalny .