Você deve usar o comando builtin
:
pushd(){ if [ $# -eq 0 ]; then builtin pushd . else builtin pushd "$@" fi }
É possível chamar um comando bash que foi substituído por uma função? Eu gostaria de fazer com que pushd
sem alias de argumentos para pushd .
obtivesse um comportamento normal.
Eu tentei
pushd(){
if [ $# -eq 0 ]; then
pushd .
else
pushd $@
fi
}
mas isso parece dar uma recursão infinita. Normalmente eu usaria o caminho completo para qualquer programa que eu estivesse sobrescrevendo, mas push
é uma coisa básica, então isso não é possível.
Tags bash