Бросок C-стиля является худшим способом пойти. Более трудно видеть, ungreppable, соединяет различные действия, которые не должны соединяться и не могут сделать всего, что могут сделать броски в стиле С++. Они действительно должны были удалить броски C-стиля из языка.
Псевдоним может заменять только первое слово команды произвольным текстом. Он не может использовать параметры.
Вместо этого вы можете использовать функцию оболочки:
mcd()
{
test -e "$1" || mkdir "$1"
cd "$1"
}