| CARVIEW |
libtrilux
Shell scripts usando Bash 5.0+Uma biblioteca para scripts shell aproveitando os recursos modernos do Bash 5.x, sem se prender aos limites clássicos estabelecidos pela shell Posix.
Opções de linha de comando. Mensagens formatadas de acordo com sua relevância. Tratamento de dados. E muito mais.
A libtrilux reúne funcionalidades que eu demando na prática nos meus scripts, e assim já nasceu com mais de 70 funções – que em sua maioria cumprem sua tarefa inteiramente dentro da shell, sem depender de comandos externos.Documentação caprichada
Além de facilitar que os scripts criados por ela sejam bem documentados, a libtrilux inclui documentação de todas as suas funções – atualizada, e em português.
Para algumas funções, a documentação é breve, e vai direto ao ponto: quais são os parâmetros, e o que ela faz. Para outras, que lidam com ações mais complexas, a documentação é um tutorial completo, incluindo exemplos, dicas e mais - para uma amostra, consulte a documentação de funções como usage, mygetopts e xecho.
Um script de teste também acompanha a biblioteca, com exemplos básicos de uso de todas as funções.
A documentação das funções pode ser consultada rodando a libtrilux com a opção '-f', e também está disponível para consulta on-line, aqui mesmo no site:
Prática e eficiente
A libtrilux foi feita para scripts da vida real e tem recursos variados.-
Opções e parâmetros
O wrapper mygetopts permite ler todas as opções da linha de comando, curtas e longas, com ou sem parâmetros, com apenas uma linha no seu script.
-
Tratamento de data e hora
Funções prontas para converter entre a representação de tempo típica das APIs da web (ISO 8601, RFC 3339) e a do Unix, e para operar com essas representações.
-
"percent-encoding"
Conversão de e para o formato de strings da RFC 3986, usado para passar strings como parâmetros em URLs e APIs (urlencode e urldecode)
-
Formatação e semântica
Uma variedade de maneiras de emitir mensagens coloridas, com destaques, etc., associadas a uma estrutura baseada em tipo de informação: alerta, erro, detalhe, debug, etc.
-
Strings mais fáceis
Além de acesso fácil às opções que a shell oferece de forma críptica e cheia de {@!^#, a libtrilux também inclui funções de string que complementam as da shell.
-
Lógica expressiva
Código mais claro com o suporte a testes explícitos de condições comuns, como is_number, in_array, is_set e mais, além de suporte a condições necessárias ('require').
-
Modos de interface
A libtrilux vem 100% preparada – das opções às mensagens, passando pela construção do help – para criar scripts com suporte a modos de interface: verbose, quiet, debug, etc.
-
Tags e templates
A libtrilux inclui um mecanismo fácil para substituir %%tags%% a partir do conteúdo de um array associativo. A página de documentação das funções, aqui neste site, é gerada e atualizada com esse recurso.
-
Compatibilidade BSD, Mac e GNU
Wrappers para funções externas com implementação divergente como inverter ordem de linhas ('tac') ou converter uma data amigável para uma representação padrão Unix.
Download & código-fonte
A libtrilux é open source (licença Apache 2.0) e sem suporte – é só baixar, descompactar, gravar o arquivo libtrilux.sh em um diretório que faça parte do seu PATH, e usar. Faça o download:
DownloadsApós baixar, rode './libtrilux.sh -h' para ver a ajuda, que traz até um exemplo de como referenciar a biblioteca em seus scripts, e explica como acessar a lista de funções e sua documentação. O arquivo 'test_libtrilux.sh' testa todas as funções da biblioteca.
Leia também a FAQ que inclui respostas para usuários e também para desenvolvedores que desejem contribuir com código para a biblioteca.
Entre em contato
A libtrilux não tem suporte,mas você pode entrar em
contato com o autor: