time을 설치했는데 사용하면 기본 형식이 아닌 이식 가능한 형식이 됩니다. 설치할 때 GNU 시간 1.7 또는 1.72라고 말한 것 같습니다.
다음과 같은 명령
time --help
time --version
"명령을 찾을 수 없음" 오류로 인해 실패합니다. TIME 환경 변수가 설정되지 않았습니다. 시간은 왜 이렇게 움직이는 걸까요?
답변1
쉘이 일반적으로 명령을 찾는 방법에 대해서는 Jesse_b가 정확하지만 더 쉬운 수정 방법이 있습니다.
\time --version
Bash, ksh, zsh 및 일부 다른 일반적인 쉘은 경로가 없는 명령의 선행 백슬래시를 "이에 대한 PATH 보기 건너뛰기"로 처리한다고 생각합니다.
또한 내장된 시간이 무엇인지 알면 다음을 실행하여 이 문제를 해결할 수도 있습니다.
time time --version
결국 no such option 오류 대신 명령을 찾을 수 없다는 오류가 발생하는 이유는 쉘 내장이 다음 명령을 실행하고 완료 시 실행하는 데 걸린 시간을 확인하기 때문입니다. 이는 /bin/time과 동일합니다. .
논쟁할 시간이 있을 것으로 예상한다면...몇시인지 궁금하십니까? 그게 date
명령이니까.
답변2
사용:
\command builtin type time
time
실행 중인 버전을 확인하세요 .
이것은 편집증적인 버전입니다. 일반적으로 type time
충분하지만 위의 접근 방식으로 피할 수 있습니다 alias type=echo
.
time
애플리케이션의 모든 바이너리 버전 을 보려면 $PATH
.which -a time
답변3
명령을 찾을 때 쉘은 다음 기본 설정을 사용합니다.
- 별명
- 변수에 할당하기 전 매개변수 확장, 명령 대체, 산술 확장 및 따옴표 제거
- 기능
- 내장 명령
- 해시 테이블
- 찾다
PATH
time
time
따라서 해당 키워드는 에서 사용되는 것 보다 우선적으로 사용됩니다 PATH
. 예를 들어 별칭을 사용하여 이 문제를 해결할 수 있습니다.
alias time=/usr/bin/time
(경로가 설치한 위치에 따라 달라지는지 확인하세요.)