O que é essa construção no bash? mycommand () {dosomething;}

4

Eu realmente encontrei seguindo uma linha no commandfu.com:

cmdfu(){ curl "http://www.commandlinefu.com/commands/matching/$@/$(echo -n $@ | openssl base64)/plaintext"; } Eu não encontrei um uso similar do () no bash antes.

Parece que ele cria o comando cmdfu temporariamente no ambiente bash. Estou correto aqui? Ou é realmente armazenado em algum lugar? Existe um nome para este constructo para que eu possa ler sobre ele?

    
por jottr 05.11.2010 / 01:42

1 resposta

4

Esta é uma função de shell. Se você criá-lo na linha de comando, ele existirá apenas para a chamada de shell atual. Você pode adicionar a definição a um arquivo de inicialização do shell (.bashrc, .bash_profile, etc) e isso o tornará "permanente".

Se você pesquisar a% man_de% manpage para "Definições da Função Shell", poderá ver a sintaxe para definir as funções do shell. A seção "FUNÇÕES" entra em mais detalhes das funções em si.

    
por 05.11.2010 / 01:46