执行命令并将所有内容存储到 bash 中的变量

Mil*_*vić 5 bash stdout stderr exit-status

在我正在开发的 bash 脚本中,我试图在变量中执行命令和捕获:

  • 标准输出
  • 标准错误
  • 状态码

如何做到这一点?命令是tar,如果它有任何意义的话。

我尝试了最标准的方法:

TAROUTPUT=$(tar -cf arch.tar /path/to/dir)
Run Code Online (Sandbox Code Playgroud)

根据我所做的一些工作(我实际上并没有产生tar故障),我只能从中获得stdout,stderr 没有存储到变量中。完美的解决方案具有TAROUTPUT(带有 stdout&stderr)和TARSTATUS变量。

提前致谢。

Hau*_*ing 7

TAROUTPUT=$(tar -cf arch.tar /path/to/dir 2>&1)
this_is_the_tar_exit_code=$?
Run Code Online (Sandbox Code Playgroud)