Eu tenho um monte de arquivos bash, e cada um tem uma função e um bloco de comentário que descreve essa função.
Exemplo:
~/helpers/plugins/test-util.bash
# Function Name: test_util
#
# Description: .....
function test() ....
Eu tenho uma função de ajuda que será acionada quando eu passar o parâmetro --help
da minha função. A ajuda é específica para cada nome de função.
Os nomes das funções contêm _
, enquanto os nomes dos arquivos têm -
.
Exemplo: test-util.bash
é o nome do arquivo enquanto a função que será passada será chamada test_util
O comando que eu executo se parece com:
helpers test_util --help
Isso executará a função test_util no local ~/helpers/plugins/test-util.bash
Pergunta:
Eu quero mostrar dinamicamente os comentários anexados em cada arquivo. O que eu faço é:
1- Construa o nome do arquivo correto a partir do nome da função passada usando FILENAME= echo "~/helpers/plugins/${1}.bash" | tr '_' '-'
para substituir qualquer sublinhado
2- Eu extraio os comentários usando cat $FILENAME | grep '#' | cut -c 2- | tail -n +3
Agora, meu problema é com a instrução cat, já que estou passando o nome do arquivo como uma variável que eu passo para a função e não consigo fazer isso funcionar.
O comando funciona bem no terminal se eu passar o nome do arquivo diretamente para o comando cat.
Obrigado por qualquer ajuda