서브셸에서 `time`을 실행할 때 "zsh: 명령을 찾을 수 없음: time"이 나타납니다.

서브셸에서 `time`을 실행할 때 "zsh: 명령을 찾을 수 없음: time"이 나타납니다.

며칠 전 Ubuntu 12.10 64비트 시스템에 ZSH(및 Oh-My-ZSH)를 설치했습니다. 방금 이것을 시도했습니다.

time (time ls)

그리고 이 오류가 발생했습니다:

zsh: command not found: time
( time ls; )  0.00s user 0.00s system 64% cpu 0.002 total

내 Mac의 ZSH에서도 똑같은 기능이 작동합니다.

또한 구성 파일을 로드하지 않고 ZSH를 실행해 보았지만 zsh -f -d동일한 오류가 발생했습니다.

여기서 무엇이 잘못되었을 수 있습니까?


도움이 될 수 있는 추가 출력:

➜  ~  type -a time
time is a reserved word
➜  ~  time (type -a time)
time is a reserved word
( type -a time; )  0.00s user 0.00s system 0% cpu 0.001 total
➜  ~  time (time)
zsh: command not found: time
( time; )  0.00s user 0.00s system 0% cpu 0.001 total
➜  ~  which time
time: shell reserved word
➜  ~  time (which time)
time: shell reserved word
( which time; )  0.00s user 0.00s system 0% cpu 0.001 total

답변1

timezsh의 예약어입니다. 명령 시작 부분에서만 인식됩니다. 내장어가 아닌 예약어인데, 쓰면 그냥 가 아닌 time foo | bar시간 제한이 있는 복합 명령이기 때문입니다 .foo | barfoo

time예약어로 인식되지 않으면 외부 명령의 이름으로 해석됩니다 . 어떤 이유로든 시스템에 time설치 명령이 없습니다 . 따라서 와 같은 명령 \time이나 =time두 번째 명령이 존재하지 않는 실행 파일을 호출하려고 time시도하면 "명령을 찾을 수 없음: 시간"이라는 오류 메시지가 표시됩니다.time timetime

실행할 수 있으려면 time (time ls)(유용한 명령이 아님) time패키지를 설치하십시오. ubuntu-standard이는 설치해야 함을 나타내는 종속성입니다 .

관련 정보