[server] 데비안에서 시작 스크립트를 실행하려고 할 때 그러한 파일이나 디렉토리 오류가 없습니다

데비안 (Raspbian)을 처음 접했고 며칠 동안이 문제를 해결하려고 애 쓰고 있습니다. 시작할 때 실행할 시작 스크립트가 있습니다.

스크립트를 실행 가능하게 만들고 기본 매개 변수를 사용하여 시작 순서에 추가하기 위해 다음 명령을 실행했습니다.

sudo chmod 755 /etc/init.d/testsam
sudo update-rc.d testsam defaults

스크립트를 테스트하려고 할 때 다음을 실행합니다.

sudo /etc/init.d/testsam start

그러나 그렇게 할 때 오류가 발생합니다. /etc/init.d/testsam을 실행할 수 없습니다 : 해당 파일이나 디렉토리가 없습니다.

스크립트를 매우 기본적으로 최소화했지만 실제 이유에 대한 단서는 없습니다. 누군가가 올바른 해결책을 알려줄 수 있기를 바랍니다. 이것은 현재 스크립트입니다.

#! /bin/bash

# /etc/init.d/testsam

case "$1" in
 start)
        #echo "starting script"
        ;;
 stop)
        #echo "stopping script"
        ;;
 *)
        #echo "Usage: /etc/init.d/testsam {start|stop}"
        exit 1
         ;;
esac

exit 0

도움을 주셔서 감사합니다



답변

^M끝에 캐리지 리턴 ( )이있을 수 #!있습니다.

행의 형식 #!은 매우 엄격하며 통역사가 실제로 호출되지 않는 한 캐리지 리턴은 허용되지 않습니다./bin/bash^M

적절한 유닉스 에디터로 만든 파일에는 캐리지 리턴이 없습니다.

이미 CRLF 줄 끝을 사용하는 기존 파일을 편집 할 때 캐리지 리턴이 숨겨 질 수 있습니다. 예를 들어, vim은 그렇게합니다. 그러나 [dos]상태 표시 줄에 파일이 DOS 형식이라는 경고 메시지가 표시됩니다. 그런 다음 :set fileformat=unix파일을 말하고 저장하여 변환 할 수 있습니다.


답변