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\n
Unix 스타일 대신 DOS 스타일 줄 끝이 있음을 나타냅니다 \n
. 이 문제는 간단한 명령으로 해결 sed
하거나 다음을 사용하여 해결할 수 있습니다.도스2유닉스시스템에 이미 설치되어 있을 수 있는 명령입니다.
텍스트 편집기에는 줄 끝 스타일을 선택하는 옵션이 있을 수 있습니다. 그렇다면 *nix에서 사용할 스크립트를 편집할 때 Unix 스타일을 사용하십시오. 이와 같은 편집기를 사용하여 기존 파일의 줄 끝 스타일을 변환할 수 있지만 여러 파일을 복구하려는 경우 약간 지루할 수 있습니다.