컴퓨터 엑셀 워드 포토숍 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Previous Post Vim Vi, 도스 텍스트를 유닉스 텍스트로 개행문자 변환; DOS CR-LF to Uni...Perl 펄] 운영체제(OS) 자동 판단 방법, 특수 변수로; Auto Detect Ope...Perl 펄] 두 변수의 값 교환/스왑 함수(서브루틴); Swap FunctionC++, 두 변수의 값 교환 함수 swap(); 참조에 의한 호출(Call by Refer...C언어] 변수 값 서로 교환, 스왑 함수; Swap FunctionC언어] 별표(*) 기호 의미, 뜻; Asterisk Pointer OperatorC언어] printf 함수에서 %p 의미. 변수 번지, 포인터 변수 주소 출력; Print...PHP 예제] 상수 정의 / 선언 방법; Define ConstantPHP 예제] 모든 상수 목록 출력 함수; Dump All Constant Function...PHP 예제] 배열 출력; 구성 요소를 브라우저에 간단히 프린트하기; Print Array...

리눅스/유닉스(Linux, Unix)에서 Perl(펄) 스크립트 실행 방법

Saturday, May 05, 2007

예를 들어 tt.pl 이라는 Perl(펄) 스크립트 파일이 있을 때

vim에디터로 새로 만든 스크립트라면, 그 파일을 "실행 가능 모드"로 변경해 주어야 합니다. 그렇지 않으면 실행이 되지 않습니다.

chmod +x tt.pl
이런 명령을 사용하면 tt.pl 파일이 실행 가능하게 됩니다.

그런데 그냥
tt.pl
이렇게 하면 여전히 실행이 되지 않습니다.

./tt.pl

이렇게 파일명 앞에 마침표와 슬래시를 붙여야 합니다. 참고로 "./" 는 "현재 디렉토리"를 의미합니다. 윈도우의 도스창에서와는 달리, 유닉스/리눅스는 보안상의 이유로 인해, 현재 디렉토리의 파일이라도 패스를 꼭 적어 주어야 실행이 됩니다. 그렇지 않으면 파일을 찾을 수 없다는 에러가 납니다.




윈도우에서 작성된 펄 스크립트를 리눅스에서 실행하면
-bash: ./tt.pl: /usr/bin/perl^M: bad interpreter: No such file or directory
이런 에러나는 경우가 많습니다. 리눅스용 펄은 윈도우/도스용 개행문자를 이해하지 못하기 때문입니다. 위의 경우 도스 개행문자를 "^M"이라는 문자로 오인하고 있습니다.

vim 에디터를 사용하여, 펄 파일의 개행문자를 유닉스용으로 변환해 주면 됩니다: ▶▶ Vim Vi, 도스 텍스트를 유닉스 텍스트로 개행문자 변환; DOS CR-LF to Unix Newline





0 Comments:

Post a Comment

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Categories
Previous Posts
Monthly Archives
Top