aoss 阻止文件记录 - 记录参数命令

aoss 阻止文件记录 - 记录参数命令

我正在使用需要的应用程序奥斯。需要将结果附加到文件中。当我编写这些命令时,文件始终为空:

aoss multimon -a DTMF | tee test.txt
aoss multimon -a DTMF > test.txt
aoss multimon -a DTMF >> test.txt

我认为问题在于文件日志指向的是aoss,而不是multimon -a DTMF,因为后者实际上是前者的参数。有没有办法记录参数命令,同时仍使应用程序可运行?(multimon -a DTMF是使用名为 multimon 的应用程序进行 DTMF 解码的终端命令)

答案1

您可以将整个multimon命令放入 shell 脚本并使用 运行该脚本aoss,或者在 里面启动另一个 shell aoss

(shell 1) $ aoss bash
(shell 2) $ multimon -a DTMF > test.txt
(shell 2) $ exit
(shell 1) $

答案2

该方法(一个非常短的 shell 脚本)的工作方式aoss是使用 预加载一个特殊库LD_PRELOAD。您也可以手动设置此变量:

export LD_PRELOAD='/usr/$LIB/libaoss.so'
multimon --etc --etc --etc > test.txt

我认为问题在于文件日志指向的是aoss,而不是multimon -a DTMF,因为后者实际上是第一个的参数。

这不是原因。当进程 X 打开或关闭文件(例如设置重定向)并启动进程 Y 时,新进程继承新打开的文件。换句话说,shell 只是设置重定向并运行给定的aoss multimon...命令,该命令继承了 shell 的重定向输出。同样,当奥斯完成它的事情并最终运行multimon -a DTMF多目进程继承了相同的重定向奥斯

相关内容