gpt4 book ai didi

linux - 如何将变量赋值的耗时存储到bash脚本中的另一个变量?

转载 作者:行者123 更新时间:2023-12-04 18:36:28 26 4
gpt4 key购买 nike

我想运行一个 maven 命令并将控制台输出存储到一个变量中,然后存储 real另一个变量中提到的操作的时间。我写了以下命令 -

x1=`( time t1=$( mvn test -Drat.skip)) 2>&1 | grep real`

当我 echo变量 x1我得到 0m17.430s这是所需的输出,但是当我 echo变量 t1它什么也没打印!如何存储 mvn test -Drat.skip 的控制台输出在 t1 ?

最佳答案

() 内的所有内容或反引号发生在子shell中。变量值不会从子 shell 导出回父 shell。

您可以同时分配命令的输出和 time 的输出。进入一个变量,然后从那里提取它:

#!/bin/bash
all=$((time mvn test -Drat.skip )2>&1)
time=$(tail -n3 <<< "$all" | grep real)
output=$(head -n-3 <<< "$all")

关于linux - 如何将变量赋值的耗时存储到bash脚本中的另一个变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59820627/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com