2013-01-23 2 views
-1

PC에서 정상적으로 작동하는 네트워크 공유 드라이브로 이미지를 이동하는 스크립트를 Perl에 작성했습니다. Mac에서 실행하려고하면 오류 메시지가 표시됩니다. 문제의 원인을 파악할 수 없습니다. 스크립트가 Mac에서 실행되지 않는 이유가 있습니까? File :: Copy 및 File :: Find를 사용하여이 파일을 이동합니다.Perl 스크립트가 Mac에서 작동하지 않습니다.

복사가 실패 :

이것은 내가 무엇입니까 오류 메시지입니다 "스크립트의 위치"라인에서 해당 파일 또는 디렉토리가 (14)

어떤 도움이 큰 없을 것이다. 감사. :

copy failed:No such file or directory at "location of the script" line 14. 

는 주석 주석 "스크립트의 위치"입니다 :)

use File::Copy; 
use File::Find; 
my @source = qw (source/location); 
my $target = q{//share/drive/location}; 

while (1) 
{ sleep (10); 
    find(
    sub { 
    if (-f) { 
     print "$File::Find::name -> $target"; 
     copy($File::Find::name, $target) 
     or die(q{copy failed:} . $!); 

     } 
     }, 
    @source 
    ); 

    } 
+1

"스크립트의 위치"는 메시지를 복사 할 때 변경 한 것으로 실제로'/ path/to/your/script'와 같은 것을 말한 것입니까? – Schwern

+1

나는 똑같은 생각하고있다. 다른 사람이 검토 할 수 있도록 여기에 스크립트의 스크립트 또는 관련 부분을 게시 할 수 있습니까? – JakeGould

+0

스크립트를 추가했습니다. 코드를 사용하여 두 개의 폴더간에 복사하려고하면 Mac 데스크탑에 코드가 제대로 작동합니다. 그것은 코드를 공유 드라이브 위치로 복사하려고 할 때 작동하지 않습니다. 내 PC에서이 스크립트를 실행하면 Mac에없는 공유 드라이브로 복사됩니다. – Nightzrain

답변

1

귀하의 //share/drive/location은 (는) 귀하의 Mac에서 유효하지 않습니다. 그래서 no such file or directory 메시지를받는 것입니다.

터미널 창에서이 경로에 cd을 시도하여 테스트 할 수 있습니다.

올바른 위치에 있도록 위치를 Mac에 마운트해야합니다.

새로운 버전의 OSX가있는 경우 Finder 또는 mount_smbfs 명령을 통해 수행됩니다.

일단 완료되면 /mnt/some/path과 같이 쓸 수있는 경로가 생깁니다.

+0

감사합니다. :)) 도움이됩니다. 나는 맥 사용에 대한 많은 경험이 없다. – Nightzrain

-1

오류처럼 보인다는 모든 설명? Perl 파서가 "스크립트 위치"라는 더빙 된 값이나 변수를 구문 분석하려고 시도하는 것 같습니다.

3

코드를 제공하지 않았으므로 추측해야하지만 복사하거나 복사 할 디렉토리가 존재하지 않습니다.

당신은 아마 그것은 당신이 오류 메시지에 $src$dest을 넣으면 프로그램을 디버깅 도움이 될

copy($src, $dest) or die "copy failed:$!"; 

라인 (14)에이 같은 코드가 있습니다.

copy($src, $dest) or die "copying $src to $dest failed: $!";