(Linux bash 4.1.2) У меня есть функция bash, вызывающая другую функцию.Функция низкого уровня хочет, чтобы для отладки была установлена опция -xv, но я не хочу, чтобы она связывалась со значениями x и v в родительской функции.Т.е. я хочу, чтобы дочерняя функция нажала -xv, а затем вернула предыдущую настройку по возвращении.Например:
function outer(){ echo starting; inner; echo done; }
function inner(){
set -xv
echo inside
set +xv
}
outer
Это работает, если настройка во внешнем является значением по умолчанию;в противном случае он вызывает + xv в остальной части внешнего кода.Я могу представить какой-то очень грязный скрипт, который анализирует BASHOPTS, но кажется, что должен быть лучший способ?