Não há função interna para isso, mas você pode usar a funcionalidade do shell para ajudar a não precisar digitar o argumento do cdcomando novamente após a execução mkdir:
- Digite
cd , então Esc .(ou Alt+ .) para inserir o último argumento do comando anterior.
cd !$executa cdno último argumento do comando anterior.
- Imprensa Upde recordar a linha de comando anterior, em seguida, editá-lo para mudar
mkdirpara cd.
Você pode definir uma função simples de criar e alterar diretório em ~/.bashrc:
mkcd () { mkdir "$1" && cd "$1"; }
Recarregue seu .bashrc( . ~/.bashrc) ou reinicie o bash e agora você pode digitar mkcd new-directory.
Essa versão simples falha em alguns casos incomuns, envolvendo nomes de diretórios estranhos ou ..links simbólicos. Aqui está um que faz. Para explicações, consulte a versão Unix e Linux desta pergunta .
mkcd () {
case "$1" in
/*) mkdir -p "$1" && cd "$1";;
*/../*) (cd "./${1%/../*}/.." && mkdir -p "./${1##*/../}") && cd "$1";;
../*) (cd .. && mkdir -p "${1#.}") && cd "$1";;
*) mkdir -p "./$1" && cd "./$1";;
esac
}
mkdir "NewDir" && cd "$_"funciona muito bem domkdir "NewDir" && cd "NewDir"que o preenchimento automático não funciona. Aliás, o que é "$ _"?