Listar funções definidas em um script “originado”?

3

Eu tenho um script muito simples, build.sh , que define - mas não invoca - uma coleção de funções, por exemplo,

#! /bin/bash

create_iptables_log() {
    # do stuff
}

apply_iptables_rules() {
    # do stuff
}

O script é então originado em source build.sh e as funções devem ser executadas a partir do prompt de comando.

Como posso obter uma lista das funções que o script definiu?

No momento, estou usando o arquivo, por exemplo:

grep -v '^#' build.sh | grep function

mas me perguntei se havia uma maneira "bash" de listar as funções que estão presentes no ambiente do bash.

    
por the_velour_fog 20.04.2015 / 12:28

1 resposta

4

O comando typeset -f lista as definições da função. (É suportado pelo menos por bash e ksh .) Use awk se você quiser pós-processar os dados, por exemplo, para extrair apenas os nomes das funções.

    
por 20.04.2015 / 12:34

Tags