데비안 (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
파일을 말하고 저장하여 변환 할 수 있습니다.