Função
Você pode fazer uma pequena função , que pode ser armazenada no arquivo ~/.bashrc
. Edite o arquivo para adicionar as seguintes linhas,
md () {
mkdir "" && cd ""
}
Executar
source ~/.bashrc
para fazer a mudança funcionar no terminal atual [window]. A nova função estará lá quando você abrir novos terminais.
O uso de &&
entre os comandos torna o comando cd
executado somente se o comando mkdir
for bem-sucedido.
Exemplo: posso usar a função md
desta forma para criar um diretório de teste testdir
no diretório atual (neste caso, meu diretório inicial, como visto no prompt), p>
sudodus@xenial32 ~ $ md testdir
sudodus@xenial32 ~/testdir $
Bash shellscript não funcionou como eu esperava
Também descreverei minhas dificuldades usando um pequeno shellscript bash para essa finalidade, porque outras pessoas podem tentar e ficar confusas.
Você pode armazenar um shellscript no diretório ~/bin
. Depois de criar ~/bin
e reinicializar, ele estará no PATH.
Use um nome que não seja usado por nenhum comando padrão (por exemplo mdscript
),
#!/bin/bash
mkdir "" && cd ""
Torne o script executável
chmod ugo+x ~/bin/mdscript
Isso não funciona como pretendido com
mdscript testdir
porque o diretório atual só é alterado no subprocesso do shell-script, mas não no terminal [window] após terminar o shellscript.
Funciona quando 'originado', executado com a linha de comando
source mdscript testdir
mas isso não é conveniente, não é uma boa resposta para a pergunta original.
Você pode ver como funciona, se você adicionar um comando pwd
no shellscript
#!/bin/bash
mkdir "" && cd ""
pwd
e execute o script mdscript
sudodus@xenial32 ~ $ mdscript testdir
/home/sudodus/testdir
sudodus@xenial32 ~ $