Bash – Como defino funções no terminal em várias linhas?

Bash – Como defino funções no terminal em várias linhas?

como defino funções no terminal em várias linhas?

# this doesn't work
function my_func { \
  echo "number 5" \
}

Muito básico. Ainda chato.

Responder1

Você não precisa \continuar as linhas aqui. Tentar:

function my_func {
  echo "number 5" 
}

A functionpalavra-chave não é obrigatória. Você pode usar funcname () {...}:

my_func() {
  echo "number 5" 
}

Aliás, o motivo pelo qual não está funcionando é que as barras invertidas tornam a definição da função em uma linha, e as definições de função de uma linha precisam terminar com um ;in bash.

por exemplo, isso falha:

my_func () { echo "number 5" }

isso funciona:

my_func () { echo "number 5" ; }

assim como isso:

function my_func { \
  echo "number 5" \
  ; \
}

informação relacionada