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
}