sh: comando de tiempo no encontrado

sh: comando de tiempo no encontrado

En el conjunto de pruebas llvm 3.0, aparece el siguiente error en bash:

sh: time command not found

El código es:

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

dónde $TIMEIT = time.

Intenté cambiar sh -ca evalpero el error continuó.

Mientras intentaba resolver este error, noté algo gracioso que puede o no ayudar a resolver esto:

Correr sh -c "time"funciona pero sh -c "time -p"no.

¿Alguno de ustedes tiene alguna idea de por qué ocurre este error y cómo lo solucionaría?

Respuesta1

timees una palabra reservada en conchas. Para usar el comando real, intente:

command time [options] [command]

o:

/usr/bin/time [options] [command]

Fuente:

Respuesta2

El programa se proporciona por timepaquete.
Instálelo, por ejemplo, así:

apt-get install time

Esta respuesta consagra el comentario dejonhattan.

NOTA:

Esta solución me resultó útil cuando usaba GitHub Actions con un script que usaba time -p. Entonces hice esto en el ymlarchivo:

      - name: Install other packages
        run: |
          apt-get update
          
          # `time -p` is used for benchmarking tests.
          # This fixes error: 'sh: 1: time: not found':
          apt-get install time
      - name: Set up test database and run tests
        run: |
          script_with_time.sh

información relacionada