从 shell 脚本返回一个字符串/值

Kni*_*t71 1 bash shell

我已经阅读了有关 Stack Overflow 中函数的返回输出的 qns。所有帖子都说要使用回声

#!/bin/bash

 function myown()
   {
       echo "i dont need this in retval"

       echo "Need this alone in retVal"
   }

  retVal=$(myown)

  echo $retVal
Run Code Online (Sandbox Code Playgroud)

o/p:我在 retval 中不需要这个 在 retVal 中只需要这个

预期:在 retVal 中只需要这个

有没有办法在 echo.h 中刷新以前的输出。或者我需要解析所有的回显输出以获得我的返回值?有没有简单的方法来做到这一点?因为我可能有对调试有用的回声和回声来返回一个值。

Vau*_*ato 5

将输出回显到 stderr 以进行调试:

#!/bin/bash

function myown()
{
    echo "i dont need this in retval" >&2

    echo "Need this alone in retVal"
}

retVal=$(myown)

echo "result: $retVal"
Run Code Online (Sandbox Code Playgroud)

当你运行脚本时,你会看到

我在 retval 中不需要这个
结果:在 retVal 中只需要这个