我想将一个目录复制到几个目录中并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);
}