2016-12-29 9 views
-1

아래 코드펄 시스템 에코 출력 재 지정

system(echo hi there >>log.txt); 

이 제대로 리디렉션, 또한 STDOUT에 출력을 인쇄 .. 그래서 난 내 펄 스크립트를 실행할 때 나는

perl script.pl 
hi there 

및 로그를 참조하십시오. txt 파일이 수정되었습니다.

질문 : STDOUT이 아닌 파일을 업데이트하는 방법은 무엇입니까?

참고 : 파일 핸들을 사용하지 말 것을 제안하지 마십시오. 그렇게하지 않으려는 이유가 있습니다.

+1

코드가 유효하지 않으므로 (일부 따옴표가 빠짐) 실행되지 않습니다. 또한'perl -E '시스템 ("echo hi there >> log.txt");'이 예상대로 작동하기 때문에 스크립트가 다른 작업을하고있을 것입니다. 우리가 도와주기를 원할 경우 실제 코드를 사용하십시오. – Dada

답변

0

당신은 역 따옴표를 사용하여 명령을 호출 할 수 있습니다

`echo hi there >>log.txt`; 

이 결과는 STDOUT에 출력하지만, 반환, 그래서 당신은 변수에 저장할 수 수 없습니다. 하지만 그렇게 할 필요는 없습니다. 그냥 무시할 수도 있습니다.

+0

실제로 그게 내 첫 appraoch지만, 어떤 이유로, 내가 부탁하는 .exe 때로는 내가 backticks를 사용하여 호출 할 때 응답하지 않지만, 내가 system() .. 할 때하지 않습니다. 어쨌든 시스템()과 함께 할? 에코에 대해서만 백틱을 사용할 수도 있습니다. 좋은 해결책 일 수 있습니다. –