Определение тела функции bash с использованием скобок вместо фигурных скобок
Этот скрипт демонстрирует определение функции bash со скобками в скобках. Скобка имеет приятный эффект создания переменных среды, созданных в функции "местный"Я думаю, потому что тело функции выполняется как под-оболочка. Выход:
A=something
A=
B=something
B=something
Вопрос в том, допустим ли этот синтаксис для определения функции.
#!/bin/bash
foo() (
export A=something
echo A=$A
)
bar() {
export B=something
echo B=$B
}
foo
echo A=$A
bar
echo B=$B