如何从打印其输出的方法返回值

如何从打印其输出的方法返回值

我有一个用“printf”打印其内容的方法。我想要返回打印的内容。

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

在上面的代码中,“ printf("%s%s is %s", $1, code, $2, $3);”打印所需的值。但我需要返回所有连接的打印值,以便方法外部的变量可以将最终的所有值放入单个变量中。像下面这样:

allContent=parse_yml. 

我尝试定义一个名为r, 而不是printfline 的全局变量:

r=$r$vn$2$3 

当外面有回声时,里面空无一人。

请问如何从该方法返回所有值有什么建议吗?

答案1

我不知道我是否理解正确,但在 bash 中,你可以像这样获取输出:

allContent=$(parse_yml.) 

一个

echo $allContent

然后应该揭示相同的内容,例如

parse_yml. > parse_yml.out
cat parse_yml.out

文件名 parse_yml.看起来有点可疑 - 没有文件结尾?通常,您必须指定绝对路径或相对路径,这将是

./parse_yml

除非当前目录位于 PATH 中。

相关内容