Como retornar valores de um método que imprime sua saída [fechada]

1

Eu tenho um método que imprime seu conteúdo com 'printf'. Quero que o conteúdo impresso seja retornado.

parse_yml() {
   #some logics here
         printf("%s%s is %s", $1, code, $2, $3);
      }

No código acima, " printf("%s%s is %s", $1, code, $2, $3); " imprime os valores desejados. Mas preciso retornar todos os valores impressos concatenados para que a variável que está fora do método possa ter todos os valores finais em uma única variável. Algo como abaixo:

allContent=parse_yml. 

Eu tentei definir uma variável global chamada r e, em vez de printf line:

r=$r$vn$2$3 

e fora, quando ecoou, estava vazio.

Alguma sugestão, por favor, como devolver todos os valores desse método?

    
por Débora 24.02.2018 / 06:39

1 resposta

1

Eu não sei se entendi direito, mas no bash, você pega uma saída assim:

allContent=$(parse_yml.) 

Um

echo $allContent

deve então revelar o mesmo, como

parse_yml. > parse_yml.out
cat parse_yml.out

O nome do arquivo parse_yml. parece um pouco suspeito - nenhum arquivo terminado? E normalmente, você precisa especificar o caminho absoluto ou o caminho relativo, que seria

./parse_yml

exceto se o diretório atual estiver no PATH.

    
por 24.02.2018 / 08:57