Linux에서 서비스를 시작할 때 파일이 존재하지만 해당 파일이나 디렉토리가 없습니다라는 오류가 표시됩니다.

Windows에서 시작 파일을 편집하여 Linux 서버에 업로드했습니다. 파일은 해당 디렉터리에 있었지만, 파일을 실행하려고 하니 "해당 파일이나 디렉터리가 없습니다"라는 메시지가 나타났습니다. 시작 파일의 내용을 여러 번 확인했지만 아무런 문제가 없었습니다. 알고 보니 캐리지 리턴 문자에 문제가 있었습니다.

Windows에서 시작 파일을 편집하여 업로드합니다.서버를 설치한 후 해당 파일은 분명히 디렉토리에 있었는데, 파일을 실행하려고 하니까 "해당 파일이나 디렉토리가 없습니다"라는 메시지가 나타났습니다. 시작 파일의 내용을 여러 번 확인해 봤지만 아무 문제가 없었습니다! 알고 보니 문제는우수한.
다음 명령줄을 입력하세요:

고양이 /etc/init.d/v2ray

각 줄 뒤에 ^M 기호가 있는데, 이는 캐리지 리턴 문자입니다.
Linux 시스템은 Windows에서 편집된 스크립트를 발견하면 셸 스크립트를 제대로 읽지 못할 수 있습니다. 이는 텍스트 편집기나 터미널이 Windows에서 파일을 생성할 때 발생할 수 있는데, Windows는 캐리지 리턴 문자 +를 사용하기 때문입니다.줄바꿈 문자로 사용하는 반면, Linux 시스템은 줄바꿈 문자만 사용합니다.
init 스크립트에서 캐리지 리턴을 제거하세요. 한 줄짜리 sed 명령어로 다음과 같이 실행할 수 있습니다.

sed -i -e 's/\r//g' /etc/init.d/v2ray

캐리지 리턴 문자를 삭제하면 서비스를 성공적으로 시작할 수 있습니다.

점수

댓글남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다