我们可以将“bash:local:只能在函数中使用”错误降级为警告吗?

我们可以将“bash:local:只能在函数中使用”错误降级为警告吗?

现在local在顶级 shell 上使用失败:

/tmp/tmp.TvdqDYLG9T$ local x=1
bash: local: can only be used in a function

/tmp/tmp.TvdqDYLG9T$ echo $x


/tmp/tmp.TvdqDYLG9T$

我希望它工作的理由是我想通过将代码片段复制/粘贴到 shell 控制台并在那里尝试来测试我的 bash 函数。但我不能,因为local.我必须先粘贴到记事本,删除local然后粘贴到控制台。

有没有更好的办法?

答案1

如果它只是一次性测试,请将其别名化,例如使用alias local=.请记住在完成测试后关闭该 shell,因为任何后续函数定义都将丢失,local这可能会带来一些奇怪的影响。

或者,更安全的是,使用 alias localto declare,它的工作方式与函数内部的工作方式几乎相同local,但也可以在顶层工作。所以,alias local=declare

相关内容