在我的 bash 脚本中,我多次使用 FuncGenrator
函数。为了禁用/删除该功能,我执行以下操作:
unset FuncGenrator
unset
命令禁用了我脚本中的所有功能。
主要问题是当脚本运行时,每个函数都会返回未找到命令 错误。例如,脚本 unset_test.bash
:
#!/bin/bash
FuncGenrator () {
echo " I AM REAL FUNCTION BUT NEED TO UNSET LATTER "
}
FuncGenrator
unset FuncGenrator
# run again the function
FuncGenrator
当我运行这个脚本时,我得到了输出:
I AM REAL FUNCTION BUT NEED TO UNSET LATTER
./unset_test.bash: line 23: FuncTest: command not found
是否可以添加智能方式来阻止/禁用消息command not found,或者可以将函数 FuncGenrator
设置为 no do nothing?
到目前为止,我的解决方案是按如下方式附加 2>/dev/null
:
FuncGenrator 2>/dev/null
但是我觉得很丑。
最佳答案
而不是取消设置功能;使用什么都不做的命令重置它:
function FuncGenrator { :; }
或者
FuncGenrator() { :; }
关于linux - 通过取消设置禁用功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24057327/