【发布时间】:2015-07-22 01:05:44
【问题描述】:
我正在尝试从 java 程序执行一个 shell 脚本(使用 perl 脚本和其他 shell 脚本),但是我没有成功,这是我尝试过的:
在 Linux 服务器上,文件夹 test1/testJava 中有以下脚本可用:
- decode24.sh(我从java程序调用的主脚本,这个脚本利用了下面列出的其他脚本)
- fram.sh
- shadow.pl
- light.sh
这是我从 java 中尝试的:
try {
ConnBean cb = new ConnBean("xx.yyy.zz.p", "user","passme");
ssh = SSHExec.getInstance(cb);
CustomTask ct1 = new ExecShellScript("/test1/testJava", "./decode24.sh", "arg1");
ssh.connect();
net.neoremind.sshxcute.core.Result res = ssh.exec(ct1);
}catch......
执行后的结果:
错误信息:
./decode.sh[17]: shadow.pl: not found [No such file or directory]
./decode.sh[21]: fram.sh: not found [No such file or directory]
【问题讨论】:
-
你得到的错误来自那个shell脚本。你确定你在正确的工作目录中运行它并且你确保所有的文件都是可执行的吗?
-
你的 decode.sh 是什么样的?可能您在尝试运行的脚本前面没有
./,它在任何地方都找不到它们
标签: java linux bash perl shell