Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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

share|improve this question
    
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 Apr 29 '12 at 14:26
    
"sh: time command not found" - is that the exact error message? Also, what output does readlink -f "$(which sh)" generate for you? –  Daniel Andersson Apr 29 '12 at 17:18
    
The "exact" error is: sh: time: command not found –  Rafael Apr 29 '12 at 18:58
    
readlink -f "$(which sh)" outputs /bin/bash –  Rafael Apr 29 '12 at 18:59
    
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 Apr 29 '12 at 19:01
add comment

1 Answer

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: http://askubuntu.com/a/86196

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.