셸 스 크 립 트 를 실행 할 때 bad interpreter: No 와 같은 file or directory 의 해결 방법 을 알려 줍 니 다.

2422 단어 shell
고장 현상: 터미널 에서 직접 cd/var 가 정상 이 고 셸 스 크 립 트 에서 실행 하면 오류 가 발생 합 니 다.이 유 는 스 크 립 트 가 windows 플랫폼 에서 작 성 된 것 입 니 다. 줄 바 꿈 자 는 Liux 와 달리 스 크 립 트 가 올 바 르 게 실행 되 지 않 기 때 문 입 니 다.
bad interpreter: No such file or directory (그 파일 이나 디 렉 터 리 가 없 음) 가 나타 난 이 유 는 파일 형식의 문제 입 니 다.이 파일 은 윈도 에서 작 성 된 것 이다.줄 을 바 꾸 는 방식 은 유 닉 스 와 다 르 지만 vim 아래 에 서 는 Set 하지 않 으 면 전혀 알 아 볼 수 없다.
문제 분석: 1. windows 에서 작 성 된 SHELL 파일 을 Liux 에 전송 하여 실 수 를 알 립 니 다.2. 오류 메시지: bad interpreter: 그 파일 이나 디 렉 터 리 가 없습니다.
문제: 운영 체제 가 windows 로 windows 에서 편집 한 스 크 립 트 이기 때문에 보이 지 않 는 문자 가 있 을 수 있 습 니 다.스 크 립 트 파일 은 DOS 형식 입 니 다. 즉, 줄 마다\r 로 표 시 됩 니 다. ASCII 코드 는 각각 0x0D, 0x0A 입 니 다. 해결 방법: 이 파일 이 DOS 형식 인지 UNIX 형식 인지 MAC 형식 인지 여러 가지 방법 으로 볼 수 있 습 니 다. (1) vim filename 다음 명령: set ff 는 dos 나 유 닉 스 의 글 자 를 볼 수 있 습 니 다. dos 형식 이 맞다 면...그러면 set ff = 유 닉 스 로 유 닉 스 형식 으로 강제 한 다음 메모리 가 종료 되면 실행 할 수 있 습 니 다.
(set ff = 유 닉 스: vi 편집기 에 알려 주 고 유 닉 스 줄 바 꿈 자 를 사용 하 며 개인 이 상기 방법 으로 해결 하고 간단 하고 편리 하 며 이 방식 을 추천 합 니 다)
\#\#\#\#\#\#\#\#\#\#\#\#\#\#\# 분할 선\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#
서로 다른 플랫폼 의 텍스트 파일 형식 을 바 꾸 려 면 1. 유 닉 스 2dos 또는 dos2unix 라 는 두 개의 작은 프로그램 으로 할 수 있 습 니 다. 간단 합 니 다. djgpp 에서 이 두 프로그램의 이름 은 dtou 와 utod 이 고 u 는 유 닉 스 를 대표 하 며 d 는 dos 2 를 대표 합 니 다. sed 와 같은 도구 로 할 수 있 습 니 다.

    sed ‘s/^M//' filename > tmp_filename 
   
mv -f tmp_filename filename

특히 설명: ^ M 은 키 shift + 6 에 의 한 ^ 와 알파벳 M 이 아 닙 니 다. 문자 입 니 다. ASCII 는 0x0D 입 니 다. 생 성 하 는 방법 은 먼저 CTRL + V 를 누 른 다음 에 차 로 돌아 가 는 것 입 니 다 (또는 CTRL + M).
또한, SHELL 프로그램 이 command not found 를 보고 할 때, 항상 PATH 에 프로그램 이 사용 할 모든 명령 이 있 는 지 확인 하 십시오. (절대 경 로 를 지정 하지 않 은 것) 이렇게 작은 프로그램 은 한 줄 한 줄 확인 할 수 있 습 니 다.
첨부: 파일 이나 디 렉 터 리 문제 가 없 는 파일 을 적 게 쓰 십시오.
   오늘 은 이전에 쓴 간단 한 셸 스 크 립 트 를 뒤 져 보 았 을 때 문 제 를 발견 했다.
   ./실 행 될 때 항상 알림:  (bash:./hello. sh: bin/bash: 나 쁜 해석 기: 그 파일 이나 디 렉 터 리 가 없습니다) 하지만 sh 로 실 행 될 때 정확 합 니 다.
   원래 스 크 립 트:
   (한눈 에 잘못 을 알 아 볼 수 있 는 지 시험 해 보 자)
 
   
   #!bin/bash

   echo "Hello Linux!"


 
   나중에 몇 번 의 검 사 를 통 해 자신 이 쓴 것 이 뭔 가 를 잃 어 버 렸 다 는 것 을 알 게 되 었 다.
   첫 줄 을 바 꿔 야 지.  #!/빈/bash, 하나 덜 썼어 요/
   에이, 아주 간단 한 문제 야. 자신 은 이전에 이런 잘못 이 있다 는 것 을 발견 하지 못 했 어!셸 스 크 립 트 는 확실히 사용 하기 좋 지만, 유일 하 게 어 려 운 것 은 형식 요구 가 너무 높다 는 것 이다!
박문 참고:http://www.jb51.net/article/48784.htmhttp://www.jb51.net/article/48784.htm

좋은 웹페이지 즐겨찾기