【发布时间】:2019-08-24 02:48:37
【问题描述】:
(Linux bash 4.1.2) 我有一个 bash 函数调用另一个函数。低级函数希望设置 -xv 以进行调试,但我不希望它与父函数中 x 和 v 的值混淆。 IE。我希望子函数推送-xv,然后在返回时恢复以前的设置。例如:
function outer(){ echo starting; inner; echo done; }
function inner(){
set -xv
echo inside
set +xv
}
outer
如果外部设置为默认设置,则此方法有效;否则它将强制 +xv 在外部代码的其余部分中。我可以想象一些非常混乱的脚本来解析 BASHOPTS,但似乎应该有更好的方法?
【问题讨论】: