-ksh: 수익_ext.ksh: 찾을 수 없음 [해당 파일 또는 디렉터리 없음]

-ksh: 수익_ext.ksh: 찾을 수 없음 [해당 파일 또는 디렉터리 없음]

not found [No such file or directory]ksh 스크립트를 실행하려고 할 때 동일한 오류가 발생했습니다. PATH에 대한 팁을 읽고 ./게시물의 a를 사용하여 스크립트를 실행하세요.여기그리고여기시도했지만 운이 없었습니다. 스크립트는 전체 권한으로 실행하려는 디렉토리에 존재하지만 직접 실행하거나 ./스크립트의 첫 번째 줄을 사용할 때도 마찬가지입니다.#!/usr/bin/ksh

오류 메시지는 다음과 같습니다.

-ksh: revenue_ext.ksh: not found [No such file or directory]

그러나 ksh동일한 디렉토리의 다른 스크립트는 정상적으로 실행되므로 여기서 무엇이 잘못될 수 있는지 전혀 알 수 없습니다. 어떤 도움이라도 대단히 감사하겠습니다.

답변1

이 오류를 일으키는 일부 캐리지 리턴이 있을 수 있다고 생각합니다.여기. 오류를 성공적으로 재현할 수 있었습니다.

시험

cat ksh_experiment.ksh

#!/usr/bin/ksh
echo "Hello"

이제 파일을 실행할 때 권한을 제공하면 출력이 성공적으로 생성됩니다. 이제 논의한 대로여기, 파일에 캐리지 리턴을 삽입했습니다. 이제 스크립트를 실행하면 내가 얻는 결과는 다음과 같습니다.

ksh: ./ksh_experiment.ksh: not found [No such file or directory]

이제 cat -v ksh_experiment.ksh동일한 출력이 생성됩니다. 또한 를 입력하면 vim ksh_experiment.ksh새 파일이 열립니다.

제공한 링크의 답변에서 논의한 대로 다음 명령을 사용하여 캐리지 리턴을 제거했습니다.

 perl -p -i -e "s/\r//g" ksh_experiment.ksh

수정사항을 실행하면 예상한 결과가 나타납니다.

답변2

제 경우에는 파일이 다음 중 하나이면 동일한 오류 메시지가 나타납니다..ksh또는.쉿이와 같이:

-ksh: ./somefile.sh: not found [No such file or directory]

액세스 문제인 것으로 나타났습니다.

파일을 실행 가능하게 만들더라도 해당 파일을 실행하려면 서버에 대한 관리자 권한이 필요할 수 있습니다. 명령줄을 실행할 수 있지만 스크립트 실행 결과를 찾을 수 없습니다. 다음에서 스크립트를 실행해 보세요.스도, 그러면 루트로 스크립트를 실행할 수 있는지 여부를 알 수 있습니다.

답변3

^M캐릭터 때문에 이런 일이 일어났습니다.

그것을 사용해 보면 dos2unix <File_name>예상한 결과를 얻을 수 있습니다.

관련 정보