$ zzzz -h

zzzz
Mostra informações sobre as funções, como versão e localidade.
Opções: --atualiza  baixa a versão mais nova das funções
        --teste     testa se a codificação e os pré-requisitos estão OK
        --bashrc    instala as funções no ~/.bashrc
        --tcshrc    instala as funções no ~/.tcshrc
        --zshrc     instala as funções no ~/.zshrc
Uso: zzzz [--atualiza|--teste|--bashrc|--tcshrc|--zshrc]
Ex.: zzzz
     zzzz --teste

$

# Testa a opção --teste

$ zzzz --teste | sed 's/\.\.\. .*/.../;/Atenção/,/^Talvez/d;/^ *$/d'
Procurando o comando awk...
Procurando o comando bc...
Procurando o comando cat...
Procurando o comando chmod...
Procurando o comando clear...
Procurando o comando cp...
Procurando o comando cpp...
Procurando o comando curl...
Procurando o comando cut...
Procurando o comando diff...
Procurando o comando du...
Procurando o comando find...
Procurando o comando fmt...
Procurando o comando grep...
Procurando o comando iconv...
Procurando o comando links...
Procurando o comando lynx...
Procurando o comando mktemp...
Procurando o comando mv...
Procurando o comando od...
Procurando o comando ps...
Procurando o comando rm...
Procurando o comando sed...
Procurando o comando sleep...
Procurando o comando sort...
Procurando o comando tail...
Procurando o comando tr...
Procurando o comando uniq...
Procurando o comando unzip...
Verificando a codificação do sistema...
Verificando a codificação das Funções ZZ...
$

# Testa saída da zzzz sem argumentos

$ zzzz | grep '(' | tr -d 0-9 | sed 's/) .*/) .../'
( script) ...
(  pasta) ...
( versão) ...
(  cores) ...
(    tmp) ...
(browser) ...
( bashrc) ...
(  zshrc) ...
(   site) ...
((  funções disponíveis ))
$

# Lista de funções desligadas só aparece no final, não nas disponíveis.
# Nestes testes foi criada uma pasta ZZTMPDIR alternativa para gerar os
# arquivos .on e .off sem bagunçar os "oficiais".

$ zzzz_tmp="/tmp/testador-zzzz-$$"
$ mkdir "$zzzz_tmp"
$ ZZTMPDIR="$zzzz_tmp" ZZOFF="zzdata zzcores" ../funcoeszz
$ cat "$zzzz_tmp/zz.off"
zzcores
zzdata
$ ZZTMP="$zzzz_tmp/zz" zzzz | tail -n 2
(( 2 funções desativadas ))
cores, data
$ ZZTMP="$zzzz_tmp/zz" zzzz | sed -n '/disponíveis/,/^$/ p' | grep -E '\b(cores|data),'
$ rm "$zzzz_tmp"/zz*
$ rmdir "$zzzz_tmp"
$ unset zzzz_tmp
$

# As variáveis de ambiente devem ser respeitadas

$ ZZCOR=0         zzzz | grep '( *cores)'
(  cores) não
$ ZZCOR=1         zzzz | grep '( *cores)' | tr -d '\033' | sed 's/\[[0-9;]*m//g'
(  cores) sim
$ ZZDIR=/xxx      zzzz | grep '( *pasta)'
(  pasta) /xxx
$ ZZPATH=/xxx     zzzz | grep '( *script)'
( script) /xxx
$ ZZBROWSER=lynx  zzzz | grep '( *browser)'
(browser) lynx
$ ZZBROWSER=links zzzz | grep '( *browser)'
(browser) links
$ ZZBROWSER=w3m   zzzz | grep '( *browser)'
(browser) w3m
$ ZZBROWSER=xxx   zzzz | grep '( *browser)'
(browser) xxx
$
