Com que frequência você se pega digitando isso?
$ mkdir dirName && cd dirName
- Aqui está uma função que você pode inserir no seu
.bashrc
ou.bashprofile
function mkdircd () { mkdir -p "$@" && cd "$@"; }
Na passagem acima, o
- p
sinalizador paramkdir
també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
$@
dizmkdir
para usar o primeiro argumento passado para a função. Nesse caso, o dirName ou a árvore de arquivos inserida no comandomkdircd
.Depois disso,
&&
dizbash
para executar o segundo comando apenas se o primeiro for executado com sucesso.então passamos o mesmo
$@
paracd
para que ele use o primeiro argumento passado para a função também.Espero que goste de sua nova
mkdircd
função. Você pode chamá-lo do que quiser e invocar do bash como
$ mkdircd coolStuff
$ pwd
$ /coolstuff
muito bacana eh?
Se você não .bashrc
gosta de mascarar etc. ou se você apenas quer uma versão portátil, aqui está.
$ mkdir /path/to/your/newstuff && cd $_
- Acima, passamos
$_
paracd
.$_
é 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 ksh
e zsh
usuá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
ksh
ecsh
que 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