Bash 스크립트: 예기치 않은 파일 끝(FreeBSD)

Bash 스크립트: 예기치 않은 파일 끝(FreeBSD)

FreeBSD 시스템에 Subversion 스케줄러를 설치하기 위해 bash 스크립트를 생성하는 작업이 주어졌지만 불행히도 예상대로 작동하지 않았습니다.

내가 달릴 때

#bash -x ./installSubversion.sh

항상 이 오류 메시지가 나타납니다.

+ REPOPATH=$'/usr/ports/devel/subversion\r'
+ CHECKPATH=$'/usr/local/bin/svnserve\r'
>./installSubversion.sh: line 22: syntax error: unexpected end of file

이것은 installSubversion.sh 스크립트입니다.

#!/usr/bin/env bash
###########
### Installing subversion(svn) on Freebsd
###########
REPOPATH="/usr/ports/devel/subversion"
CHECKPATH="/usr/local/bin/svnserve"
if [ ! -x "$CHECKPATH"  ] || [ "$1" = "-force" ] ;
then
        echo "Trying to install subversion from ports"
        if [ "$1" = "-force"  ];
        then
                /usr/sbin/pkg_delete -fx subversion-
                cd $REPOPATH
                /usr/bin/make -DBATCH reinstall clean
        else
                cd $REPOPATH
                /usr/bin/make -DBATCH install clean
        fi
else
        echo "subversion is Installed"
fi

내가 뭘 잘못했나요?

답변1

오류 메시지 REPOPATH=$'/usr/ports/devel/subversion\r'는 스크립트에 \r\nUnix 스타일 대신 DOS 스타일 줄 끝이 있음을 나타냅니다 \n. 이 문제는 간단한 명령으로 해결 sed하거나 다음을 사용하여 해결할 수 있습니다.도스2유닉스시스템에 이미 설치되어 있을 수 있는 명령입니다.

텍스트 편집기에는 줄 끝 스타일을 선택하는 옵션이 있을 수 있습니다. 그렇다면 *nix에서 사용할 스크립트를 편집할 때 Unix 스타일을 사용하십시오. 이와 같은 편집기를 사용하여 기존 파일의 줄 끝 스타일을 변환할 수 있지만 여러 파일을 복구하려는 경우 약간 지루할 수 있습니다.

관련 정보