4

Как я могу объявить переменные, которые являются локальными для функций? Регулярно объявленные переменные экспортируются в глобальную область видимости. Пример:

$ cat t.sh
function locals_test() 
{
  x="bar"
}

$ echo $x

$ locals_test 
$ echo $x
bar

1 ответ1

6

Используйте local:

local x=bar

Тогда x будет локальным для функции. Например, чтобы объявить массивы или числа, local принимает те же параметры, что и declare . Выходными данными будут две пустые строки:

#!/bin/bash
function locals_test() 
{
  local x=bar
}

echo $x
locals_test
echo $x

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .