现在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 local
to declare
,它的工作方式与函数内部的工作方式几乎相同local
,但也可以在顶层工作。所以,alias local=declare
。