mkdircd o filho de mkdir e cd

Com que frequência você se pega digitando isso?

$ mkdir dirName && cd dirName
  • Aqui está uma função que você pode inserir no seu .bashrcou.bashprofile
function mkdircd () { mkdir -p "$@" && cd "$@"; }
  • Na passagem acima, o - psinalizador para mkdirtambém criará todos os diretórios que levam ao diretório fornecido que ainda não existem. Se o diretório fornecido já existir, ignore o erro. do wiki em mkdir .

  • então $@diz mkdirpara usar o primeiro argumento passado para a função. Nesse caso, o dirName ou a árvore de arquivos inserida no comando mkdircd.

  • Depois disso, &&diz bashpara executar o segundo comando apenas se o primeiro for executado com sucesso.

  • então passamos o mesmo $@para cdpara que ele use o primeiro argumento passado para a função também.

  • Espero que goste de sua nova mkdircdfunção. Você pode chamá-lo do que quiser e invocar do bash como

$ mkdircd coolStuff
$ pwd

$
/coolstuff

muito bacana eh?

Se você não .bashrcgosta de mascarar etc. ou se você apenas quer uma versão portátil, aqui está.

$ mkdir /path/to/your/newstuff && cd $_
  • Acima, passamos $_ para cd. $_é o parâmetro mais recente (ou o caminho abs do comando para iniciar o shell atual imediatamente após a inicialização). ou o último argumento do último comando neste caso. Mais informações sobre isso aqui

Por kshe zshusuários eu tenho amor para você também

  • Aqui estão dois aliases que fazem a mesma coisa, que encontrei aqui no estouro de pilha para kshe cshque não testei porque não uso esses shells.

  • Eu adoraria algum feedback sobre eles, pois gostaria de saber se eles são eficientes, etc.

  • para csh

alias mkcd 'mkdir !^; cd !^1'
  • para ksh
alias mkcd='_(){ mkdir $1; cd $1; }; _'
  • Aproveitar