매우 이상한 오류가 발생했습니다.Linux 명령 (cp, rm)은 perl 스크립트에서 실행되지 않습니다. 어떤 작품들. 그러나 오류가 반환되지 않습니다.
저는 리눅스 명령을 실행하는 perl 스크립트를 실행합니다. 그들은 다음과 같이 실행됩니다
my $err = `cp -r $HTML /tssobe/www/tstweb/$subpath/$HTMLDIR1`;
myLog("$err");
그리고 $ 잘못을 반환하고 에러하지 않은 명령을 의미하는 비어 있습니다. (오른쪽?)
나는 exec ""또는 system()을 사용하여 linux 명령을 실행하려했지만 성공하지 못했습니다. 경로를 변경하려고했습니다. 같은.
또한 새로운 펄 스크립트에서 cp 명령 만 실행하려고했습니다. 그것은 작동합니다. 하지만 내 전체 펄 스크립트 아닙니다.
이 perl 스크립트에서 일부 명령이 작동하지만 일부 명령은 작동하지 않습니다.
어제 스크립트가 작동했는데, 더 이상 오늘 아침에 작동하지 않았습니다. 그 동안에는 변경된 사항이 없습니다.
나는 많은 것을 시도해 보았다. 아무도 아이디어가 있으면 기쁠 것이다.
편집 : 서버에서 많은 프로세스가 종결되지 않았습니다. 문제를 해결 한 이들을 청소하십시오. 문제는 다른 응용 프로그램과 관련되어 있지만 사용자 의견에 따라 로깅 기능을 향상시킬 것입니다.
오류보고가 부족합니다. 스크립트 상단 부근에''autodie qw (: all); '을 추가하면, 문제가 생길 때 유용한 에러 메시지로 중단됩니다. – daxim
'$ HTML' 또는'$ subpath' 또는'$ HTMLDIR1' 변수에 사용하는 입력에주의하십시오 - 쉘 메타 문자 (shell metacharacters)를 통해 허용하는 경우 (http://cwe.mitre.org/data /definitions/78.html), 당신은 비보안 도구를 작성했습니다. 셸 사용을 피하기 위해 ['File :: Copy :: Recursive'] (http://search.cpan.org/~dmuey/File-Copy-Recursive-0.38/Recursive.pm) 또는 유사한 도구를 사용하는 것이 더 좋습니다 완전히. – sarnold