sh: time command not found

4

In llvm 3.0 test-suite, the snippet of code bellow gives the following error on bash:

sh: time command not found

if [ "x$RHOST" = x ] ; then
  ( sh -c "$ULIMITCMD $TIMEIT -p sh -c '$COMMAND >$OUTFILE 2>&1 < $INFILE; echo exit \$?'" ) 2>&1 \
| awk -- '\
BEGIN     { cpu = 0.0; }
/^user/   { cpu += $2; print; }
!/^user/  { print; }
END       { printf("program %f\n", cpu); }' > $OUTFILE.time

where $TIMEIT = time.

I tried to change "sh -c" to "eval" but the error continued.

While trying to solve this error, I noticed something funny that may or may not help solving this: running sh -c "time" works but sh -c "time -p" doesn't.

Do any of you guys have any idea why this error happens and how would I solve it?

Thanks in advance

Rafael

Posted 2012-04-29T13:42:49.547

Reputation: 41

Check man time and see if your implementation of time lacks the -p flag. That said, even if the flag was the problem, the error should then be -p: command not found not time not found. All that said, are you sure your system's sh is pointing to bash? If you're on some operating systems, it may be dash. (Again, not sure that helps unless dash lacks a time built-in and you have no separate time command.) – Telemachus – 2012-04-29T14:26:38.540

"sh: time command not found" - is that the exact error message? Also, what output does readlink -f "$(which sh)" generate for you? – Daniel Andersson – 2012-04-29T17:18:43.423

The "exact" error is: sh: time: command not found – Rafael – 2012-04-29T18:58:32.663

readlink -f "$(which sh)" outputs /bin/bash – Rafael – 2012-04-29T18:59:01.447

Check man time and see if your implementation of time lacks the -p flag. -> Using time -p works normally. The problem is when executed together with sh -c. eval "time - p" works though normally. But in the context of the script I'm executing it seems to not work (gives the error that the time command was not found) – Rafael – 2012-04-29T19:01:12.487

Answers

5

To answer this here: time is a reserved word in shells. To use the actual command, try command time [options] [command] or /usr/bin/time [options] [command].

Source: https://askubuntu.com/a/86196

dAnjou

Posted 2012-04-29T13:42:49.547

Reputation: 181

2The program is provided by 'time' package: apt-get install time – jonhattan – 2018-07-12T07:08:24.033

If you are on gentoo and receive this error, you will want sys-process/time – NuclearPeon – 2018-10-01T19:15:04.993