Criando super poderes para o mkdir

Publicado por taidson em 03/07/2024

[ Hits: 656 ]

 


Criando super poderes para o mkdir



Olá,
a função abaixo, criada com auxílio da ferramenta GEMINI, serve para criar vários diretórios e facilitar a navegação com o comando mkdir da seguinte forma:

Funcionalidade Básica - Criação de Diretórios:

O alias permite criar um ou mais diretórios com um único comando, fornecendo flexibilidade para estruturas complexas.

Opção -f: Essa opção especifica o índice do diretório a ser aberto após a criação. O índice inicia em 1, representando o primeiro diretório criado. Exemplos de Uso:

  • mkdirs "app/src/main/res" values mipmap xml (Cria os diretórios "values", "mipmap" e "xml" dentro de "app/src/main/res".)
  • mkdirs "app/src/main/res" values mipmap xml -f 2 (Cria os mesmos diretórios do exemplo anterior e abre o segundo diretório criado ("app/src/main/res/values").)
  • mkdirs "app/src/main/res" values mipmap xml -f 3 (Abre o terceiro diretório criado ("app/src/main/res/xml"))
  • mkdirs "app/src/main/res" values mipmap xml -f 0 (Abre o último diretório criado (comportamento padrão se -f não for especificado).)
  • mkdirs ~/Documents test1 test2 test3 -f 2 (Cria os diretórios "test1", "test2" e "test3" dentro de "~/Documents" e abre o segundo diretório ("~/Documents/test1/test2").)

Vantagens:

  • Agilidade: Simplifica a criação de estruturas complexas de diretórios com um único comando.
  • Eficiência: Elimina a necessidade de digitar vários comandos mkdir repetidamente.
  • Flexibilidade: A opção -f permite abrir o diretório desejado após a criação, facilitando a navegação.

Considerações:


Personalização: O alias pode ser personalizado para atender às suas necessidades específicas, modificando o script bash original.
Compreensão: É importante entender o funcionamento do alias antes de usá-lo para evitar erros.

Conclusão:

O alias mkdirs é uma ferramenta valiosa para desenvolvedores, administradores de sistema e qualquer pessoa que trabalhe com arquivos e diretórios. Sua capacidade de criar estruturas de diretórios complexas de forma rápida e eficiente, com opções adicionais para navegação, o torna um aliado poderoso para automatizar tarefas e melhorar a produtividade.

Abra no Terminal o arquivo ~/.bashrc e cole o seguinte:

alias mkdirs='read -r -p "Diretórios: " dirs; open_index=0; while [[ "$1" == -* ]]; do case "$1" in -f) open_index=$2; shift 2;; *) echo "Opção inválida: $1"; return 1;; esac; done; for dir in "$dirs"; do mkdir -p "$dir"; done; if [[ "$open_index" -gt 0 ]]; then cd "${!dirs[@]:0:$open_index}"; else cd "${!dirs[@]:0}"; fi'

OBS: O alias acima não foi testado, devido a minha preferência pela seguinte função (edite com o Terminal o arquivo ~/.bashrc e cole o que é mostrado abaixo):

function mkdirs {
local parent="$1"; shift
local open_index=0
while [[ "$1" == -* ]]; do
case "$1" in
-f) open_index=$2; shift 2;;
*) echo "Opção inválida: $1"; return 1;;
esac
done
for dir in "${@}"; do
mkdir -p "$parent/$dir"
done
if [[ "$open_index" -gt 0 ]]; then
cd "${@:1:$open_index}"
else
cd "$parent"
fi
}
alias mkdirs='mkdirs'


Ambos os códigos possuem a mesma finalidade, fica a seu critério testá-los e escolher o que mais se adequará às suas necessidades.

Outras dicas deste autor

Utilizando o bashrc para gerenciar a cor do terminal quando a luz noturna está ativa

Leitura recomendada

Utilizando o find para excluir determinados arquivos

Timeout para terminais

Arping - Descobrindo se um host está no ar em uma rede local protegida por um gateway/firewall

Entenda como funciona o controle de restrições no Linux

Ícones com cadeado no Linux

  

Comentários
[1] Comentário enviado por maurixnovatrento em 20/07/2024 - 15:19h

Excelente dica.
______________________________________________________________________
Inscreva-se no meu Canal: https://www.youtube.com/@LinuxDicasPro
Repositório GitHub do Canal: https://github.com/LinuxDicasPro
Grupo do Telegram: https://t.me/LinuxDicasPro
Meu GitHub Pessoal: https://github.com/mxnt10



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts