重定向标准错误并保留标准输出

some_name.py

我想编写一个bash应该调用多个python脚本的脚本。该范围内python的脚本是这,我不允许改变一些打印消息。我想将计算的最终状态解析到我的 bash 脚本来决定下一步要做什么。我的计划是构建这样的python文件:

import sys

print('this is just some print messages within the script')
print('this is just some print messages within the script')

sys.stderr.write('0 or 1 for error or sucessfull')

stderr在 bash 脚本中重定向(但仍将print函数的输出保留在终端上)

errormessage="$(python pyscript.py command_for_redirecting_stderr_only)"

有人可以帮我只重定向stderr吗?我发现的所有解决方案都不会保留print函数的输出(大多数人设置stdout为 null)。

并且:如果有人有一个更聪明(更稳定)的想法来交出计算结果,我们将不胜感激。

预期输出:

pyscript.py

import sys
print('this is just some print messages within the script')
print('this is just some print messages within the script')
sys.stderr.write('0 or 1 for error or sucessfull')

脚本文件

#!/bin/bash
LINE="+++++++++++++++++++++++++"
errormessage="$(python pyscript.py command_for_redirecting_stderr_only)"
echo $LINE
echo "Error variable is ${errormessage}"

我打电话时的输出bash bashscript.sh

this is just some print messages within the script
this is just some print messages within the script
+++++++++++++++++++++++++
Error variable is 0/1
停止

您可以交换 stderr 和 stdout 并将 stderr 存储在您可以在脚本末尾回显的变量中。所以尝试这样的事情:

#!/bin/bash
line="+++++++++++++++++++++++++"
python pyscript.py 3>&2 2>&1 1>&3 | read errormessage
echo "$line"
echo "Error variable is ${errormessage}"

这应该像往常一样打印您的标准输出,并在最后打印标准错误。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将错误重定向到标准输出

来自分类Dev

zsh:重置标准输出/标准错误重定向

来自分类Dev

如何将标准输出重定向到标准错误

来自分类Dev

重定向标准输入和标准输出

来自分类Dev

重定向标准输入和标准输出?

来自分类Dev

重定向标准输出OCaml

来自分类Dev

重定向EOF的标准输出

来自分类Dev

重定向标准输出和错误时,附加作品不带>>

来自分类Dev

haskell System.Process.createProcess重定向标准输出和标准错误

来自分类Dev

重定向标准输出和标准错误,以及发送到后台的别名

来自分类Dev

如何使用变体重定向标准输出和标准错误?

来自分类Dev

将标准输出重定向到文件

来自分类Dev

PowerShell标准输出和重定向

来自分类Dev

将标准输出重定向到整数

来自分类Dev

Python撤销标准输出重定向

来自分类Dev

使用find -exec重定向标准输出

来自分类Dev

LLDB重定向下级标准输出

来自分类Dev

在屏幕命令中重定向标准输出

来自分类Dev

在Unix上重定向标准输出

来自分类Dev

如何从右向左重定向标准输出

来自分类Dev

在 VBS 中重定向到标准输出

来自分类Dev

重定向标准输出和标准输入-Java

来自分类Dev

将标准输入重定向到标准输出

来自分类Dev

在 bash 脚本中重定向标准输入和标准输出

来自分类Dev

将输出重定向到标准输出而不是文件

来自分类Dev

将STDOUT和STDERR重定向到文件,但system()的标准输出/错误除外

来自分类Dev

将静默SQL Server安装中的输出重定向到C#中的“标准错误”?

来自分类Dev

为什么我不能重定向标准输出/错误以登录Linux

来自分类Dev

CreateProcess:在C ++ / Windows中将子标准输出重定向到父标准输出

Related 相关文章

热门标签

归档