libtrilux.sh Biblioteca de apoio para os meus scripts shell, iniciada em 6.4.2025 Copyright (c) 2025, Augusto Campos (https://augustocampos.net/) Licensed under the Apache License, Version 2.0. -- Novidades ========= 20.5.2025 - Inclusão da função is_function - Ajuste/correção no exemplo de inclusão da biblioteca em outros scripts, disponível no help ('./libtrilux.sh -h') 18.5.2025 - REDUÇÃO DE DEPENDÊNCIAS EXTERNAS: Eliminada a última dependência em relação ao comando 'date'. Agora 100% da manipulação de datas é feita usando apenas recursos do Bash. Em consequência, a função ‘sysdate_getepoch’ (que usava o date do BSD ou do GNU, cada um com seus parâmetros em formatos diferentes) foi eliminada da categoria COMPATIBILIDADE, e agora temos a função ‘getepoch’, na categoria DATA E HORA, que retorna uma data no formato Unix (contagem de segundos desde 1970) a partir de uma data no formato "AAAA-MM-DD HH:MM:SS". As documentações (incluindo a FAQ) e testes correspondentes foram atualizadas. - ESTILO: Inserida a forma moderna (e incompatível com o POSIX) '&>/dev/null' em todos os casos em que havia referências a '>/dev/null 2>&1'. 12.5.2025 - DOCUMENTAÇÃO: Incluído no help da libtrilux ('libtrilux.sh -h') um exemplo completo de cabeçalho de script com chamada da biblioteca e aproveitamento dos recursos de gerenciamento de parâmetros, help, e modos de mensagem. 9.5.2025 - FIX: a função msg passou a emitir sua saída em stdout (estava incorretamente emitindo em stderr). 8.5.2025 - Inclusão das funções shortpath e homepath (e da documentação correspondente) - Inclusão das funções normaliza_nome e rand5 (e da documentação e casos de teste correspondentes) - Suporte à biblioteca de extensão local à libtrilux, com o nome de "local-libtrilux.sh", que a libtrilux.sh sempre tentará carregar, se esse arquivo estiver disponível no mesmo diretório em que a própria biblioteca está. O objetivo é permitir que o usuário defina funções locais de apoio à libtrilux, que continuarão disponíveis mesmo após upgrades da libtrilux.sh em si. 6.5.2025 - FIX: a função 'tags' agora passou a funcionar corretamente para strings que contenham o caracter '&' (envolve desativar seu significado especial na rotina de substituição do Bash, assim como acontece em utilitários como o sed e o awk.) 5.5.2025 - Incluídas mensagens de erro informativas na inicialização caso a libtrilux seja chamada a partir de uma shell que não seja o Bash, ou por uma versão do Bash inferior à 5.0. - Incluído no script de apoio test_libtrilux.sh uma rotina de carregamento da biblioteca que a procura, sucessivamente, no $PATH, no diretório em que o script chamador está instalado, no diretório corrente do momento da chamada, ou ainda com o nome alternativo da versão de desenvolvimento (que é 'libtrilux-devel.sh'), e carrega a ÚLTIMA que encontrar, entre estas. - Removida a dependência de chamadas externas ao 'basename'. - Testes adicionais da biblioteca em terminais virtuais e um console físico, em BSD e Linux. - Ajustes no script de apoio (uso interno) de geração de nova versão, para atualizar a documentação da web com base nas funções e help da versão mais recentemente gerada, e não na da versão de desenvolvimento. - Criação do CONTRIB.txt, com informações a quem queira contribuir código para a libtrilux (e inclusão dele no repositório e nos pacotes gerados no versionamento). - Publicação do site da biblioteca, em https://lib.trilux.org 4.5.2025 - Removidas as dependências externas no test_libtrilux.sh - Removida a última dependência do 'tput' que ainda havia na libtrilux.sh - Atualizações na FAQ do site (https://lib.trilux.org) - Criação da primeira versão pública da libtrilux, com 61 funções documentadas