Como chamar uma função dentro de outra função

12

Na verdade, estou trabalhando em um script de shell para monitorar os recursos de um servidor. Eu tenho uma função e quero saber: como posso chamar uma segunda função dentro da principal?

Exemplo:

funct mainfunct(){

echo "Text to show here" **$secondfunct**

}

funct secondfunct(){
commands
}
vicdeveloper
fonte
Escreva o nome da primeira função no corpo da segunda função?
123
1
Que concha é essa? Não reconheço a parte "funct".
Jeff Schaller

Respostas:

14

Em ksh ou bash,

mainfunct() {
  echo "Text to show here" $(secondfunct)
}

secondfunct() {
  echo commands here
}

mainfunct

Gera o seguinte:

Texto para mostrar aqui comandos aqui

Jeff Schaller
fonte
1
Deve-se notar que o $(secondfunct)aqui seria expandido para as palavras resultantes do operador split + glob aplicado à saída padrão de secondfunctstripped de todos os caracteres de nova linha à direita.
Stéphane Chazelas 4/03/16
1
Isso não se limita a bashe ksh. Que iria trabalhar em qualquer shell POSIX (e alguns POSIX não como cinza ou zsh (embora zsh não faria parte glob e não sufoca NUL bytes))
Stéphane Chazelas
4
android@localhost:~/test$ cat fun.sh
function myname {
  echo "my name is raja"
}

function call {
  myname
}
call
rɑːdʒɑ
fonte
Lol, isso é tudo que eu tinha que fazer para chamar outras funções declaradas no meu .bashrcarquivo
takanuva15 18/01/01