Есть ли способ инициализировать глобальную переменную в bash и присвоить ей значение в функции, а затем использовать ее вне области функции?bash: переменная область внешней функции
пример функции:
globla_var=""
_DBINFO()
{
curl -su $AUTH https://<balla bla >/databases | jq -c 'map(select(.plan.name != "Sandbox")) | .[] | {id, name}'| \
while read db
do
idb=$(echo "$db" | jq -r '.id')
name=$(echo "$db" | jq -r '.name')
if [[ $name = '<bla>' ]]; then
$global_var_her = $(<bla value>)
fi
done
}
затем использовать его вне функции:
echo $global_var
результат
$0: line 16: =<bla bla>: command not found
Я попытался с помощью заявить:
declare -r global_var
же результаты
На самом деле, переменные в функции являются глобальными по умолчанию; локальные переменные должны быть явно объявлены с использованием 'local' или' declare' builtins. – chepner