typeset
создаст локальную переменную (которая не «течет»). Это полезно в функциях, но я также видел, что он используется на верхнем уровне сценария оболочки.
a=0
function x {
typeset a=1
}
x
echo $a
function y {
a=2
}
y
echo $a
напечатает
0
2
Вы также можете использовать typeset
для создания массивов и целых чисел.
[EDIT] Добавлено ключевое слово function
, потому что оно требуется для некоторых оболочек. Удалите его, если он нарушает вашу оболочку, но он должен работать с большинством версий.