在变量中存储对STDOUT/STDERR的引用可以通过重定向来实现。在Linux和Unix系统中,可以使用文件描述符来引用STDOUT和STDERR。
STDOUT代表标准输出,通常用于打印程序的正常输出信息。STDERR代表标准错误,通常用于打印程序的错误信息。
要将STDOUT和STDERR的引用存储在变量中,可以使用以下方法:
# 存储STDOUT的引用
stdout=$(exec 1>&1)
# 存储STDERR的引用
stderr=$(exec 2>&1)
# 存储STDOUT的引用
stdout=$(command 2>&1 >/dev/tty)
# 存储STDERR的引用
stderr=$(command 2>&1 >/dev/null)
在上述命令中,command
是要执行的命令。2>&1
表示将STDERR重定向到STDOUT,>/dev/tty
表示将STDOUT输出到终端,>/dev/null
表示将STDOUT输出到空设备。
存储了STDOUT和STDERR的引用后,可以在后续的代码中使用这些变量来引用对应的输出流。例如,可以使用$stdout
来引用STDOUT,使用$stderr
来引用STDERR。
需要注意的是,存储了STDOUT和STDERR的引用后,后续的输出将不再直接打印到终端上,而是存储在对应的变量中。如果需要将输出恢复到终端上,可以使用以下命令:
# 恢复STDOUT输出到终端
exec 1>&$stdout
# 恢复STDERR输出到终端
exec 2>&$stderr
上述命令中的$stdout
和$stderr
是存储了STDOUT和STDERR的变量。
这样,就可以在Bash脚本中方便地存储和使用STDOUT和STDERR的引用了。
请注意,以上答案中没有提及任何特定的云计算品牌商,如腾讯云等。如需了解腾讯云相关产品和产品介绍,请参考腾讯云官方网站。
T-Day
云+社区技术沙龙[第9期]
GAME-TECH
DBTalk技术分享会
云+未来峰会
DB TALK 技术分享会
高校公开课
腾讯云GAME-TECH沙龙
第四期Techo TVP开发者峰会
领取专属 10元无门槛券
手把手带您无忧上云