Precisa ser uma função:
mkcd() { mkdir -p "$1" && cd "$1"; }
Um script será executado dentro de seu próprio processo separado. A mudança de diretórios não terá efeito no shell pai (nem irá alterar os diretórios dentro de um subshell como em (cd /tmp)
).