sh: 시간 명령을 찾을 수 없습니다

sh: 시간 명령을 찾을 수 없습니다

llvm 3.0 테스트 스위트에서는 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

어디 $TIMEIT = time.

sh -c로 변경하려고 했지만 eval오류가 계속 발생했습니다.

이 오류를 해결하려고 시도하는 동안 이 문제를 해결하는 데 도움이 될 수도 있고 도움이 되지 않을 수도 있는 재미있는 사실을 발견했습니다.

실행은 sh -c "time"작동하지만 sh -c "time -p"작동하지 않습니다.

혹시 이 오류가 왜 발생하는지, 어떻게 해결하는지 아시는 분 계신가요?

답변1

time쉘의 예약어입니다. 실제 명령을 사용하려면 다음을 시도하십시오.

command time [options] [command]

또는:

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

원천:

답변2

프로그램은 time패키지로 제공됩니다.
예를 들어 다음과 같이 설치하십시오.

apt-get install time

이 답변은 다음의 의견을 담고 있습니다.존하탄.

메모:

. time -p​그래서 파일에서 이렇게 했습니다 yml.

      - 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

관련 정보