>운영 및 유지보수 >리눅스 운영 및 유지 관리 >Linux에서 sh 스크립트를 실행할 수 없는 경우 수행할 작업

Linux에서 sh 스크립트를 실행할 수 없는 경우 수행할 작업

WBOY
WBOY원래의
2022-07-20 14:53:125199검색

세 가지 해결 방법이 있습니다. 1. "dos2unix filename" 명령을 사용하여 지정된 파일을 unix 형식으로 직접 변환합니다. 2. sed 명령을 사용하여 끝 문자를 unix 형식으로 직접 바꾸며 구문은 "sed -i"입니다. "s/ r//" 파일 이름" 또는 "sed -i "s/^M//" 파일 이름"; 3. vi를 사용하여 파일을 연 후 "set ff=unix"를 사용하여 파일을 unix로 설정하고 저장하려면 ":wq"를 사용하세요.

Linux에서 sh 스크립트를 실행할 수 없는 경우 수행할 작업

이 튜토리얼의 운영 환경: linux7.3 시스템, Dell G3 컴퓨터.

Linux에서 sh 스크립트를 실행할 수 없으면 어떻게 해야 하나요?

쉘 스크립트를 실행할 때 이러한 오류가 나타나는 주된 이유는 쉘 스크립트 파일이 dos 형식이기 때문입니다. 즉, 각 줄의 끝은 다음과 같습니다. rn으로 식별되며 유닉스 형식 파일의 줄 끝은 n 로고로 끝납니다.

스크립트 파일이 dos 형식인지 unix 형식인지 확인하는 여러 가지 방법이 있습니다.

(1) cat -A filename 표시된 결과를 보면 dos 형식으로 끝나는 파일 줄은 ^M, unix 형식으로 끝나는 파일 줄은 , unix 형식으로 끝나는 파일 줄은 , 그리고 유닉스 형식으로 끝나는 파일 라인은 다음과 같습니다.

(2) od -t x1 파일 이름 출력 내용에 0d 0a 문자가 보이면 파일은 0a만 있는 경우 unix 형식입니다.

(3) vi 파일명으로 파일을 열고 set ff를 실행합니다. 파일이 dos 형식이면 fileformat=dos로 표시됩니다. unxi이면 fileformat=unix로 표시됩니다.

해결책:

(1) Linux 명령 dos2unix filename을 사용하여 파일을 Unix 형식으로 직접 변환합니다.

dos2unix filename

(2) sed 명령 sed -i "s/r//" filename 또는 sed -i 사용 " s/^M//” filename은 끝 문자를 unix 형식으로 직접 대체합니다

sed -i “s/\r//” filename 
sed -i “s/^M//” filename

(3) vi filename은 파일을 열고 실행: set ff=unix 파일을 unix로 설정한 다음 실행: wq, unix에 저장 format

set ff=unix

추천 학습: Linux 비디오 튜토리얼

위 내용은 Linux에서 sh 스크립트를 실행할 수 없는 경우 수행할 작업의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.