Como compor uma lista de todos os executáveis que são usados em um script bash?

0

Executáveis como um termo geral para:

  • binários comuns
  • scripts

Eu suponho que isso pode ser feito com alguma regex de gordura, combinando o início de novas linhas, conjunções como && e || , inline após ; etc ... mas eu queria saber se existe uma maneira mais simples? / p>     

por untore 02.06.2016 / 22:01

1 resposta

1

Você pode ser feliz o suficiente apenas agrupar as "palavras", e então passá-las através do comando '' which ''. Talvez como o seguinte:

cat $SCRIPT | tr -c '[[:alnum:]-_]' '\n' | sort -u | xargs which

O agrupamento de palavras na frase tr exclui os comandos mais "esotéricos" como [ e outros. É aí que você pode precisar experimentar, a menos que esteja apenas procurando por palavras de comando "comuns". O acima, é claro, também encontra palavras de comando que talvez não sejam usadas como tal no script, e para fazer essa distinção você realmente precisará de mais de um analisador. E você também pode desejar que um sed 's/#.*// inicial, em vez de cat , exclua os comentários no script (embora isso não passe onde # está incluído nas sequências).

    
por 03.06.2016 / 00:42