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.