perl 调用 shell 文件 防止出问题,最好写绝对路径

perl 脚本:               


                          print ">>>>>>>>-into shell->>>>>>>>\n";

  eval{
     my $args = "$host:$port:$dbname:$username:$password:$command";
   system("sh  /wls/oracle/opr2_new_mon/lib/PerlShellJava.sh  '$args'") or die "PerlShellJava.sh exec error";
};
                            if ($@ ne ''){
                                 print $@;
                            }

                            print ">>>>>>>>-out shell into file->>>>>>>>\n";


PerlShellJava.sh 脚本:



#!/bin/bash
cd /wls/oracle/opr2_new_mon/lib
Channel=$1
BatchSize=80000
export CLASSPATH=/wls/oracle/jdk1.7.0_79/lib/dt.jar:/wls/oracle/jdk1.7.0_79/lib/tools.jar:/wls/oracle/jdk1.7.0_79/jre/lib/rt.jar:/wls/oracle/app/oracle/product/11.2.0/client_1/lib:/usr/X11R6/lib:/usr/lib:/wls/oracle/app/oracle/product/11.2.0/client_1/network/lib:/wls/oracle/TimesTen/tt1122/lib/ttjdbc5.jar:/wls/oracle/TimesTen/tt1122/lib/orai18n.jar:/wls/oracle/TimesTen/tt1122/lib/timestenjmsxla.jar:/wls/oracle/TimesTen/tt1122/3rdparty/jms1.1/lib/jms.jar:/wls/oracle/opr2_new_mon/lib/lib/commons-logging-1.1.3.jar:/wls/oracle/opr2_new_mon/lib/lib/curator-client-2.6.0.jar:/wls/oracle/opr2_new_mon/lib/lib/curator-framework-2.6.0.jar:/wls/oracle/opr2_new_mon/lib/lib/curator-recipes-2.6.0.jar:/wls/oracle/opr2_new_mon/lib/lib/hadoop-common-2.6.0-cdh5.4.2.jar:/wls/oracle/opr2_new_mon/lib/lib/hive-exec-0.13.1.jar:/wls/oracle/opr2_new_mon/lib/lib/hive-jdbc-0.13.1.jar:/wls/oracle/opr2_new_mon/lib/lib/hive-metastore-0.13.1.jar:/wls/oracle/opr2_new_mon/lib/lib/hive-service-0.13.1.jar:/wls/oracle/opr2_new_mon/lib/lib/httpclient-4.2.5.jar:/wls/oracle/opr2_new_mon/lib/lib/httpcore-4.2.5.jar:/wls/oracle/opr2_new_mon/lib/lib/libthrift-0.9.0.jar:/wls/oracle/opr2_new_mon/lib/lib/slf4j-api-1.7.5.jar:/wls/oracle/opr2_new_mon/lib/lib/zookeeper-3.4.6.jar::.
export JAVA_HOME=/wls/oracle/jdk1.7.0_79
export JAVA_CMD=$JAVA_HOME/bin/java
export JAVA_MAIN=HiveJavaProbe
#EXEC_CMD="$JAVA_CMD -Xmx6000m -classpath $CLASSPATH $JAVA_MAIN $Channel"
$JAVA_CMD -Xmx6000m -classpath $CLASSPATH $JAVA_MAIN "$Channel"
echo "123"


注意 运行过程中 可能会遇到 not  find xxx file or is a dictory 什么的,肯定是目录出了问题,我就是被目录搞傻了,都写绝对路径

                        

         

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值