【发布时间】:2018-09-01 18:16:03
【问题描述】:
假设我有一个函数:
function doSomeWork
{
#work, work, work
echo "$result1 $result2"
}
现在我正在使用 read 读取该函数的结果,如下所示:
doSomeWork | read r1 r2
echo "result1: r1, result2: r2"
效果很好,但现在我无法使用 echo 输出任何其他日志消息,因为它会破坏结果的读取。
如何在 doSomeWork 中写入日志消息而不干扰读取?
编辑:这里是该方法的演示
#!/bin/ksh
echo "7 54" | read T1 T2
echo "T1 $T1 T2 $T2"
【问题讨论】:
-
使用
ksh特定的print命令代替echo、man print并搜索file descriptor。我现在没有时间研究,这可能还需要使用exec进行设置步骤。在此处查看[ksh] exec的答案。 stackoverflow.com/questions/21753477/… 看起来会有所帮助。祝你好运。
标签: ksh