Algo como o seguinte deve funcionar:
setdir() {
cd "$1"
export SETDIR_DEFAULT="$1"
}
my_cd() {
cd "${1-${SETDIR_DEFAULT-$HOME}}"
}
Observe que estas são funções, não um script separado. Você não pode fazer isso a partir de um script separado, uma vez que não seria capaz de afetar o shell pai que o chama.
Se você realmente quiser substituir cd
(por favor, não faça isso), substitua cd
por builtin cd
.