现在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
然后粘贴到控制台。
有没有更好的办法?
如果它只是一次性测试,请将其别名化,例如使用
alias local=
. 请记住在完成测试后关闭该 shell,因为以后的任何函数定义都将丢失local
,这可能会带来一些奇怪的影响。或者,更安全的是,使用别名
local
todeclare
,它的工作方式与在函数内部几乎相同local
,但也适用于顶层。所以,alias local=declare
。