기본 Bash 스크립트에서 "시간"이 작동하지 않는 이유는 무엇입니까?

기본 Bash 스크립트에서 "시간"이 작동하지 않는 이유는 무엇입니까?

echo -e '#!/bin/bash\nsleep 10' > time_test.sh && chmod +x time_test.sh && time time_test.sh

time_test.sh: No such file or directory

real    0m0.186s
user    0m0.105s
sys     0m0.074s

제가 뭔가를 놓쳤나봐요..?

편집: 부분적으로 예제 스크립트가 아닌 스크립트(현재 추가됨)의 오류를 무시했기 때문에 오류를 놓쳤습니다. 특정 방식으로 스크립트를 실행하는 명령에는 해당 위치가 필요하지만 다른 내장 명령에는 cat필요하지 않다는 것이 교훈인 것 같습니다. 따라서 더 나은 질문은 어떤 명령에 위치의 올바른 정의가 필요한지, 아니면 시도하고 오류가 발생하면 추가할 스크립트 ./나 경로 정보를 찾을 수 없다는 것입니다. 모든 것이 실패한다고 가정합니다. 구현 가능으로 표시되지 않고. 사람들이 이 상황에 직면하기 위해 사용하는 다른 일반적인 명령이 무엇인지 알고 싶습니다.

답변1

이미 댓글에 답변이 되어 있지만, 놓치신 것 같아서 여기에 답변하겠습니다.

명령을 실행하면 변수에 나열된 디렉터리에서 명령 파일을 검색합니다 $PATH(명령이 별칭이나 쉘 함수가 아닌 경우). 여기에는 일반적으로 MS-Windows와 달리 현재 작업 디렉터리가 포함되지 않습니다. 이는 ls.

time ./time_test.sh해결책: not with 를 사용하여 스크립트를 실행하십시오 time time_test.sh. (참고: 파일은 으로 끝나서는 안 됩니다 .sh. 이는 잘못된 형식이며 구현 세부 정보가 유출됩니다.)

관련 정보