如何引用原始命令,以便用函数替换它

如何引用原始命令,以便用函数替换它

因此,我尝试创建一个简单的函数来用who我自己的函数替换标准命令,类似于我用来替换标准cd命令的函数。

目标:替换原始who命令who "$@" | fgrep -v <user>以隐藏用户。

类似的例子:

function cd () {
    builtin cd "$@" && ls
}

问题是who不是像 那样的内置命令cd,因此上面的示例不起作用。

如果重要的话,不,这不是出于恶意目的,只是学习。

答案1

喜欢特里格评论道,运行外部命令的命令是command

您的新函数可能如下所示:

function who() {
  command who "$@" | fgrep -v user
}

答案2

显式调用系统 who:

function who () {
    /usr/bin/who "$@" | fgrep -v user
}

相关内容