开发者社区> 问答> 正文

linux 脚本运行代码 不报错 但是没效果 但是单独shell 运行就可以 ?报错

#!/bin/bash
for i in hadoop101 hadoop102
do
ssh $i 'java -classpath /opt/module/datawarehouse_dataproduct-1.0-SNAPSHOT-jar-with-dependencies.jar com.xieyang.clinent.AppMain>/opt/module/test.log&'
done

脚本就运行无效 不报错 但是就是没有效果

但是如果单独运行
java -classpath /opt/module/datawarehouse_dataproduct-1.0-SNAPSHOT-jar-with-dependencies.jar com.xieyang.clinent.AppMain>/opt/module/test.log&'

就可以出效果 为什么呢? Linux 为CentOS7

展开
收起
爱吃鱼的程序员 2020-06-23 00:49:50 753 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    首先你试一下单独运行sshhadoop101'java-classpath/opt/module/datawarehouse_dataproduct-1.0-SNAPSHOT-jar-with-dependencies.jarcom.xieyang.clinent.AppMain>/opt/module/test.log&'是不是有效果。
    以你的这个脚本来看应该是用A机器分别远程到B机器和C机器去执行了java命令,那你用ssh远程的时候就需要考虑环境变量的问题了。个人建议,将要执行的命令写到脚本中,然后ssh$i脚本名,用这种方式来运行。

    后面你是命令,而前面你执行了ssh命令。脚本内容跟你直接运行的命令还是有区别的。

    2020-06-23 00:50:06
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Alibaba Cloud Linux 3 发布 立即下载
ECS系统指南之Linux系统诊断 立即下载
ECS运维指南 之 Linux系统诊断 立即下载