Linux 发出时间命令

Linux 发出时间命令,linux,centos7,Linux,Centos7,当我运行几个后台作业时,我需要为这组作业获取一个运行时。 我成功地使用了以下示例: $ sleep 10 & $ time wait real 0m9.74s user 0m0.00s sys 0m0.00s 但是,如果尝试将输出格式化为秒,则会出现以下错误: $ time -f %e wait time: cannot run wait: No such file or directory 0.00 这似乎只发生在shell内置的情况下。有解决办法吗?这里的问题

当我运行几个后台作业时,我需要为这组作业获取一个运行时。 我成功地使用了以下示例:

$ sleep 10 &
$ time wait
real    0m9.74s
user    0m0.00s
sys     0m0.00s
但是,如果尝试将输出格式化为秒,则会出现以下错误:

$ time -f %e wait
time: cannot run wait: No such file or directory
0.00

这似乎只发生在shell内置的情况下。有解决办法吗?

这里的问题有两个方面

  • 我们不知道您使用的是内置bash(假设您使用的是centos默认shell)还是二进制
    time
    命令
  • 在这两种情况下,
    wait
    都是内置的bash
解决方法:

/usr/bin/time -f %e bash -c wait
TIMEFORMAT="%pR" time bash -c wait

尝试TIMEFORMAT环境通常,如果您想为内置的shell计时,可以执行类似“time/bin/bash-c'wait'”的操作。不幸的是,在这种情况下,等待正在等待与其运行的shell相关联的子进程,不是您在shell之外启动的后台进程。这里的
bash-c wait
有什么用?@Narfanar
wait
是bash内置的,
time
无法在
路径中找到它来执行。查看OP发布的错误消息。但这不会产生子shell吗?为什么要等待我在父shell中开始的工作?不会的,我只是想向他解释为什么时间等待不起作用。