Como se detectaria se um comando externo existe em um script?

5

Existe uma maneira de detectar se existe um comando externo (por exemplo, wget, svn)?

Mais especificamente hoje, eu estava tentando executar um dos meus scripts que escrevi e a pessoa não tinha o wget ou o svn instalado.

O script apenas baixa um arquivo extrai ou usa o svn para exportar o tronco.

    
por chrisjlee 01.09.2011 / 19:46

1 resposta

13

No Bash, o shell type embutido fornece informações sobre os executáveis: aliases, funções, executáveis. Veja help type para detalhes.

# just check for existence
type -t 'yourfunction' > /dev/null || echo 'error: yourfunction not found'

# explicitly check for given type
[[ "$( type -t 'yourfunction' )" != 'function' ]] && \
    echo 'error: yourfunction not found or is not a function'
    
por 01.09.2011 / 19:56