Linux 从单个时间命令获取两个输出

Linux 从单个时间命令获取两个输出,linux,macos,bash,time,Linux,Macos,Bash,Time,好的,这就是我想做的: 执行命令,同时对其计时(使用time) 得到它的输出 获取经过的时间 这是我目前的代码: for filepath in $files do ( output=$(time $filepath &>1) echo ${output} ) done 但是,每个命令仍然输出其屏幕时间,$output包含该命令的输出 如果指定了-o选项(由GNU和FreeBSD时间支持),则将其输出写入标准或,或者写入。因此,我认为您无法避免使用(临时)文件来实现目标。您可

好的,这就是我想做的:

  • 执行命令,同时对其计时(使用
    time
  • 得到它的输出
  • 获取经过的时间
这是我目前的代码:

for filepath in $files
do
(
output=$(time $filepath &>1)
echo ${output}
)
done
但是,每个命令仍然输出其屏幕时间,
$output
包含该命令的输出


如果指定了
-o
选项(由GNU和FreeBSD时间支持),则将其输出写入
标准或
,或者写入
。因此,我认为您无法避免使用(临时)文件来实现目标。您可以使用
mktemp
命令在shell中安全地创建临时文件。

time
将其输出写入
stderr
,如果指定了
-o
选项(由GNU和FreeBSD时间支持)。因此,我认为您无法避免使用(临时)文件来实现目标。您可以使用
mktemp
命令在shell中安全地创建临时文件。

time
将其输出写入
stderr
,如果指定了
-o
选项(由GNU和FreeBSD时间支持)。因此,我认为您无法避免使用(临时)文件来实现目标。您可以使用
mktemp
命令在shell中安全地创建临时文件。

time
将其输出写入
stderr
,如果指定了
-o
选项(由GNU和FreeBSD时间支持)。因此,我认为您无法避免使用(临时)文件来实现目标。您可以使用
mktemp
命令在shell中安全地创建临时文件。

您必须捕获stdin和stdout。为此,基于中的解决方案,我想说:

{ time command ; } 2>&1
                   ^^^^
                   redirect stderr to stdin
例如,你会:

$ var=$({ time echo 1 ; } 2>&1 )

$ echo "$var"
1

real    0m0.000s
user    0m0.000s
sys     0m0.000s

你必须抓住斯丁和斯杜特。为此,基于中的解决方案,我想说:

{ time command ; } 2>&1
                   ^^^^
                   redirect stderr to stdin
例如,你会:

$ var=$({ time echo 1 ; } 2>&1 )

$ echo "$var"
1

real    0m0.000s
user    0m0.000s
sys     0m0.000s

你必须抓住斯丁和斯杜特。为此,基于中的解决方案,我想说:

{ time command ; } 2>&1
                   ^^^^
                   redirect stderr to stdin
例如,你会:

$ var=$({ time echo 1 ; } 2>&1 )

$ echo "$var"
1

real    0m0.000s
user    0m0.000s
sys     0m0.000s

你必须抓住斯丁和斯杜特。为此,基于中的解决方案,我想说:

{ time command ; } 2>&1
                   ^^^^
                   redirect stderr to stdin
例如,你会:

$ var=$({ time echo 1 ; } 2>&1 )

$ echo "$var"
1

real    0m0.000s
user    0m0.000s
sys     0m0.000s

可能重复的可能重复的可能重复的可能重复的可能重复的我想他是想分别获得
时间
结果和程序输出。如果答案是否定的,那么这个答案比我的答案更正确。我想他是想分别获得
时间
结果和程序输出。如果答案是否定的,那么这个答案比我的答案更正确。我想他是想分别获得
时间
结果和程序输出。如果答案是否定的,那么这个答案比我的答案更正确。我想他是想分别获得
时间
结果和程序输出。如果答案是否定的,那么这个答案比我的答案更正确。只是为了清楚起见,您描述的是
time
程序,而不是
bash
的内置命令
command time$filepath>output.txt 2>time.txt
。为了清楚起见,您描述的是
time
程序,而不是
bash
的内置命令
command time$filepath>output.txt 2>time.txt
。为了清楚起见,您描述的是
time
程序,而不是
bash
的内置命令
command time$filepath>output.txt 2>time.txt
。为了清楚起见,您描述的是
time
程序,而不是
bash
的内置命令<代码>命令时间$filepath>output.txt 2>time.txt