使用Bash shell中内置的'command'

时间:2016-08-03 06:44:45

标签: linux bash shell unix posix

内置'命令'bash shell有什么用? This页面说它抑制了shell函数查找,但我不确定它是什么意思。你能解释或举例吗?

2 个答案:

答案 0 :(得分:4)

观察:

$ date() { echo "This is not the date"; }
$ date
This is not the date
$ command date
Tue Aug  2 23:54:37 PDT 2016

答案 1 :(得分:1)

让我们举一个函数的简单例子。我们希望确保cp始终使用-i选项。我们可以使用别名来做到这一点,但别名很简单,你不能在它们中建立太多的智能。功能更强大。

我们可能会尝试这个(请记住,这只是一个简单的例子):

cp() {
    cp -i "$@"
}

cp gash.txt gash2.txt

这给了我们无限的递归!它一直在呼唤自己。在这种情况下,我们可以使用/bin/cp,但这是command的用途:

cp() {
    command cp -i "$@"
}

cp gash.txt gash2.txt

这很有效,因为它现在忽略了cp函数。