Não há nenhuma função interna para isso, mas você pode usar a funcionalidade do shell para ajudá-lo a não precisar digitar o argumento do comando cd novamente após executar mkdir :
- Digite
cd , então Esc . (ou Alt + . ) para inserir o último argumento do comando anterior.
-
cd !$ executa cd no último argumento do comando anterior.
- Pressione Para cima para recuperar a linha de comando anterior e edite-a para alterar
mkdir para cd .
Você pode definir uma função simples de diretório make-and-change no seu ~/.bashrc :
mkcd () { mkdir "" && cd ""; }
Recarregue seu .bashrc ( . ~/.bashrc ) ou reinicie o bash, e agora você pode digitar mkcd new-directory .
Esta versão simples falha em alguns casos incomuns envolvendo nomes de diretórios estranhos ou .. e links simbólicos. Aqui está um que faz. Para obter explicações, consulte o Unix & amp; Versão Linux desta questão .
mkcd () {
case "" in
/*) mkdir -p "" && cd "";;
*/../*) (cd "./${1%/../*}/.." && mkdir -p "./${1##*/../}") && cd "";;
../*) (cd .. && mkdir -p "${1#.}") && cd "";;
*) mkdir -p "./" && cd "./";;
esac
}