加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

将标准错误捕获到bash中的变量中

发布时间:2020-12-16 01:27:27 所属栏目:安全 来源:网络整理
导读:我想将time命令的输出(写入标准错误)捕获到变量中.我知道这可以这样做: $var=`time (mycommand /dev/null) 21` $echo "$var" real 0m0.003s user 0m0.001s sys 0m0.002s 最内层重定向将标准输出和mycommand的标准错误发送到/ dev / null,因为它不需要,最外
我想将time命令的输出(写入标准错误)捕获到变量中.我知道这可以这样做:
    $var=`time (mycommand &> /dev/null) 2>&1`
    $echo "$var"
    real    0m0.003s
    user    0m0.001s
    sys     0m0.002s

最内层重定向将标准输出和mycommand的标准错误发送到/ dev / null,因为它不需要,最外层重定向将标准错误发送到标准输出,以便它可以存储在变量中.

我的问题是我无法在shell脚本中使用它,但事实证明这是因为其他地方的错误.所以现在我已经开始编写这个问题,而不是我要问,这是实现这个目标的最佳方式还是你会采用不同的方式?

我唯一的改变是:
var=$(time (mycommand &> /dev/null) 2>&1)

如果shell支持它的$()命令语法是优越的,原因有两个:

>无需逃避反斜杠,
>您可以在不转义反引号的情况下嵌套命令.

差异描述:Bash Command Substition

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读