首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何捕获bash关键字的stderr (例如时间)?

如何捕获bash关键字的stderr (例如时间)?
EN

Unix & Linux用户
提问于 2018-03-11 10:54:28
回答 1查看 578关注 0票数 2

我想时间阅读bash历史,并将结果放入变量中。不幸的是,time (它是一个shell关键字)将结果打印到stderr,而且显然从shell关键字重定向stderr与重定向常规命令输出不一样。换句话说,

代码语言:javascript
复制
foo=$(time history -r 2>&1)

不工作(foo变量为空,输出被打印到终端)。如何捕获time关键字的输出?

注意:由于history是shell内置的,所以我不能使用外部time命令(即/usr/bin/time__) --我必须在bash中使用time关键字。

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2018-03-11 11:31:39

您可以使用以下语法:

代码语言:javascript
复制
foo=$((time history -r) 2>&1)

将命令放在()中并将其stderr重定向到stdout

示例:

代码语言:javascript
复制
$ foo=$((time history -r) 2>&1)
$ echo $foo
real 0m0.001s user 0m0.000s sys 0m0.000s
$ 
票数 4
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/429547

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档