在包装器脚本中的pbrun之后运行带有参数的perl脚本

时间:2016-12-05 09:50:42

标签: oracle perl

$user="abcd"
$access="ohsdba";

my $log_file="abc.log";

my @pb_ohsdba="pbrun $access -u $user -t 1-2 2> /dev/null << EOF
echo `perl cpu_main.pl $user $log_file`
EOF";
$pb_out=system(@pb_ohsdba);

这是我尝试从包装器脚本执行cpu_main.pl的方法。 pbrun工作正常但cpu_main.pl在传递参数时不会被执行。但是,如果没有传递给cpu_main.pl的参数,脚本运行正常。

如果传递参数,则只会执行cpu_main.pl中的一行。然后将控件传递回包装器脚本。

我这样做有什么不对吗?还有其他出路吗?

1 个答案:

答案 0 :(得分:1)

$access="ohsdba";
my @pb_ohsdba="pbrun $access -u $user -t 1-2 2> /dev/null << EOF
perl /tmp/SRGAutomation/bin/cpu_main.pl $user $log_file
EOF";
$pb_out=system(@pb_ohsdba);

需要提供脚本的路径。这是因为在pbrun之后路径会发生变化。

然而,拥有相对路径总是更好。

相关问题