Bash 脚本 - 运行应用程序并显示实时输出

use*_*292 7 bash application output

我有一个 bash 脚本,它设置一些环境参数,然后运行一个 C++ 应用程序。

C++ 应用程序在运行时输出显示其当前状态的信息。

目前,我只在运行完成后才能看到结果。(大约 1 分钟)有没有让 bash 脚本显示应用程序的实时输出?

这是我到目前为止:

OUTPUT="$(sudo ./test_app -release)"    
echo $OUTPUT
Run Code Online (Sandbox Code Playgroud)

申请完成后,我得到以下信息:

release acknowledgereleasingstage1stage2released
Run Code Online (Sandbox Code Playgroud)

如果我直接从命令行运行应用程序,我会在每个进程完成时将其作为新行,而不是在应用程序完成时全部合并。

release acknowledge
releasing
stage1
stage2
released
Run Code Online (Sandbox Code Playgroud)

任何想法如何做到这一点?我想从 bash 脚本调用该应用程序以节省用户必须运行多个命令。

谢谢。

Eig*_*ony 2

假设您不需要出于任何特定原因存储输出,您可以简单地替换,

OUTPUT="$(sudo ./test_app -release)"    
echo $OUTPUT
Run Code Online (Sandbox Code Playgroud)

sudo ./test_app -release
Run Code Online (Sandbox Code Playgroud)

内置命令和非内置命令(在基本级别)之间的 shell 脚本没有特殊区别。他们都只是执行和输出东西。