FTP ascii, binary 모드 유의 사항
서버2013. 3. 6. 02:26
로컬 윈도우 PC에서 shell 스크립트를 만든 후 리눅스 서버에 FTP 업로드 하였다.
업로드 한 shell을 실행하면 다음과 같은 에러 메시지가 떨어진다.
bash2: ./test.sh: /bin/sh^M: bad interpreter: 그런 파일이나 디렉토리가 없음
에러 메시지를 잘 보면 ^M <- 이 문자열이 보일 것이다.
이것은 실제 /bin 디렉토리의 sh^M 이라는 shell 스크립트를 찾으려고 했기 때문에 발생된 오류이다.
그럼 왜 저런 문자열이 붙어 있는 것일까?
이는 FTP 업로드에서 찾아볼 수 있다.
FTP 전송 유형에는 ascii, binary 이렇게 두 가지를 지원하는데 ascii로의 파일 전송 시에는 윈도우에서 개행으로 사용하는 \r\n 이 리눅스로 업로드 되면서 \n 으로 변경되게 된다.
하지만 binary 전송 유형은 아무런 변환 과정 없이 그대로 \r\n 이 포함되어 업로드 된다.
결국 리눅스에서의 개행 문자 \n 을 제외한 \r 은 ^M 와 같은 문자열로 표시가 되어 문제를 일으킨다.
그러니 윈도우에서 shell 작업 후 리눅스에 FTP 업로드 할 때에는 꼭 ascii 전송 유형으로 변경 후 업로드 하자.
'서버' 카테고리의 다른 글
tomcat comet 정리 (2) | 2013.07.04 |
---|---|
클러스터드 인덱스와 넌 클러스터드 인덱스 (12) | 2013.06.24 |
톰켓 세션 동작 원리 (1) | 2013.06.14 |
카티션곱을 이용한 데이터 추출 방법 (0) | 2013.05.06 |
mysql 프로시저 loop를 이용하여 테스트 데이터 insert (1) | 2013.02.19 |
Apache + Tomcat 설치 및 연동 (0) | 2012.02.24 |
아파치 날짜별 로그 설정 cronolog (3) | 2010.07.21 |
아파치 톰켓 mod_jk 설치 (0) | 2010.07.20 |
댓글()