在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

是否可以添加智能方法来阻止/禁用“找不到消息”命令,或者将函数FuncGenrator设置为“不执行任何操作”?
到目前为止,我的解决方案是添加2>/dev/null如下:
FuncGenrator 2>/dev/null

但我觉得很难看。

最佳答案

而不是取消设置该函数;使用“不做任何事”命令重置它:

function FuncGenrator { :; }

或者
FuncGenrator() { :; }

关于linux - 通过取消禁用功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24057327/

10-12 03:37