Если я хочу сохранить выходные данные из функции f Я могу сделать result=$(f)
, но это не сработает, если f изменяет глобальную переменную, так как f выполняется в подоболочке.Как вернуть значение из функции, которая изменяет глобальную переменную?
Ниже приведен пример, который иллюстрирует эту проблему:
x=0
f()
{
x=1
echo "f"
}
result=$(f)
В конце результат является «е», но х (все еще) 0. Есть ли способ вызова ф так что он имеет побочный эффект и, чтобы сохранить результат в переменной?
установить вторую переменную – Kevin
вы можете уточнить по делу и что не будет работать? – LiMar
@LiMar ОК, я добавил пример. –