是否可以调用已被函数覆盖的 bash 命令?我想使用pushd
不带参数的别名来pushd .
获得正常行为。
我试过了
pushd(){
if [ $# -eq 0 ]; then
pushd .
else
pushd $@
fi
}
但这似乎会导致无限递归。通常我会使用要覆盖的程序的完整路径,但这push
是内置的 bash 功能,因此这是不可能的。
答案1
您应该使用以下builtin
命令:
推送(){ 如果 [ $# -eq 0 ]; 那么 内置 pushd。 别的 内置 pushd "$@" 菲 }