I want to customize the functionality of cd command as per my needs.
I defined the following function -
function cd () { cd "$@" && pushd "$@"; }
The intent of this function is to automatically push the directory onto the stack so that it saves me the effort to manually type pushd . every time.
However, the above function is an infinitely recursive function, as the call to cd is interpreted to be the function itself and not the cd built-in.
How do I reference the cd built-in in this function?
I know that aliases can be escaped using \. What is the way to escape functions or reference built-ins in a more explicit way?
Note: I do not want to rename my function to anything else.
alias cd=pushd? What do you expect to happen when you cd to something that isn't an absolute path (eg,cd ../)? – phemmer Nov 27 '13 at 12:36pushddoes not support-P. But you are right, as shown in the question thefunction cdlooks a bit wrong, as it changed directory twice. – Tino May 10 '19 at 16:21