2016-06-09 92 views
1

在脚本中的一行,我定义:rm() { echo "rm [email protected]" }取消设置功能在bash脚本

通常rm将运行echo rm,但我想改变它为单线运行实际rm命令。我怎样才能做到这一点?

我已经试过:

rm= rm file但这仍然运行echo rm file

我不想unset rm,因为我仍然希望能够运行rm file并期望它呼应。

注:rm只是一个例子命令,不是我实际使用的命令。

回答

6

可以使用command同名运行命令,而不是一个功能:

#!/bin/bash 
hostname() { 
    echo "You are in a maze of twisty little passages, all alike. " 
} 

hostname   # runs the function 
command hostname # runs the external command 
+1

这个答案是最好的,但更好的方法是使用完整路径'/斌/ rm'。 – Barmar