Ale*_*lls 6 bash sh unset bash-function
我可能在一个bash脚本中有这个函数,它来源于shell
function suman{
echo "using suman function"
}
Run Code Online (Sandbox Code Playgroud)
如果我打电话
unset suman
Run Code Online (Sandbox Code Playgroud)
事情似乎按预期工作
但是,如果我将此作为我的功能:
function suman-inspect {
echo "using suman-inspect function"
}
Run Code Online (Sandbox Code Playgroud)
如果我打电话的话
unset suman-inspect
Run Code Online (Sandbox Code Playgroud)
要么
unset "suman-inspect"
Run Code Online (Sandbox Code Playgroud)
我收到这条消息:
bash: unset: `suman-inspect': not a valid identifier
Run Code Online (Sandbox Code Playgroud)
如何取消设置此变量?
经过更多的研究,似乎
unset -f "suman-inspect"
Run Code Online (Sandbox Code Playgroud)
将工作。这是令人惊讶的,因为unset suman确实有效,并且成功地取消了 suman 函数的设置(据我所知)。