Pular para o conteúdo

Comandos mkdir e cd simultaneamente

Dica publicada em Shell Script / Miscelânea
Lisandro Guerra Lisandro
Hits: 21.727 Categoria: Shell Script Subcategoria: Miscelânea
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Comandos mkdir e cd simultaneamente

A intenção era achar uma forma mais prática de criar diretórios e entrar neles logo em seguida.

Substituir a rotina de criar diretórios usando mkdir:

mkdir -p /tmp/dir1/dir2/dir3

Entrar no diretório:

cd /tmp/dir1/dir2/dir3

Ao procurar um comando que pudesse melhorar esta situação, achei várias sugestões na rede.

Entre as soluções, posso destacar:
  1. Colocar ambos os comandos em execução na mesma linha;
  2. Criar uma função com um nome sugestivo, nos exemplos que achei, usaram mkcd ou mkdircd.

Dentro desta segunda opção, pude ver como é grande a criatividade do pessoal.

Enfim, para esta dica, separei o que considero ser a solução mais eficiente e prática, não necessariamente a mais bonita ou elegante, na hora de usar.

Trata-se de criar a função, que aqui irei chamar de mkdcd (fique tranquilo em usar outro nome que lhe agrade), dentro de ".bashrc".

Para isso, use seu editor de textos favorito, como segue:

gedit .bashrc

Inclua a função:

function mkdcd () { mkdir -p "$@" && eval cd "\"\$$#\""; }
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.


Pronto, agora é só reiniciar a sessão (fazer logout e logar novamente) e já pode usar o "novo comando":

mkdcd /tmp/dirA/dirB/dirC

E se o seu prompt ainda não estiver configurado para indicar sua localização, você pode verificá-la assim:
pwd
/tmp/dirA/dirB/dirC

Abraço.

Fontes:

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Scanner GOTEC no OpenSuSE 11.1

Unix Emulator Online

id - comando com exemplos

Scanner Gotec (Plustek) no Linux Mint

Linux Mint e Ubuntu Insync KEYEXPIRED 1473479811 [RESOLVIDO]

Script de backup + envio de e-mail

Sincronizando data e hora com relogio atômico

Montando partição Windows automaticamente

Repositórios YUM para Red Hat, Fedora e CentOS - Instalação via Script

FFmpeg: screencast do desktop gravando duas fontes de áudio simultaneamente

#1 Comentário enviado por evaldoavelar em 23/08/2012 - 08:18h
Só faltou explicar os parâmetros dos comandos.
ABrs.

Contribuir com comentário

Entre na sua conta para comentar.