我想将一个目录复制到几个目录中并script.pl在每个目录下执行一个。但是script.pl没有被执行(它没有打印你好)。
script.pl 的内容是
#!/usr/bin/perl
print "Hello\n";
$ARGV[1]是一个在那里有一个 script.pl 的目录,我想将此目录复制到几个目录(使用提供的名称$ARGV[0])。
$ARGV[0]是一个目录,里面有几个文件,我将使用这些文件作为名称..
看起来像这样
perl this_program.pl Data X
Data                X
A B C D             script.pl
我想将 X 复制到 A 、 B 、 C 和 D 并在 A 、 B 、 C 和 D 下执行 script.pl 。
这是我的程序:
#/usr/bin/perl
use Cwd;
opendir(Dir,$ARGV[0]) or die "!!!\n";
@Data = readdir(Dir);
shift(@Data);
shift(@Data);
closedir Dir;
mkdir("Copys");
for($i=0;$i<=$#Data;$i++)
{
    $working_dir = getcwd(); # Keep the path of current working directory
    print $working_dir."\n";
    `cp -r $ARGV[1] Copys/$Data[$i]`;
    `mv Copys/$Data[$i] /disk`;
    chdir("/disk/$Data[$i]"); #Change to /disk/A to execute the script.pl under A 
    $working_dir2 = getcwd();
    print $working_dir2."\n";
    `perl script.pl`;  # Execute the script.pl under A
    chdir($working_dir);
}