毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> linux >> 正文

java调用sh脚本遇到export命令会卡住,sh不能调用子sh

更新时间:2012-6-14:  来源:毕业论文

环境:sunM3000 Solaris10系统 JDK1.5
根目录下创建/work文件夹,下包含test.sh test2.sh
脚本如下:
test.sh
##
cd /work
touch aa.log
export aa=123456
./test2.sh
touch bb.log
----------------------
test2.sh
##
cd /work
touch cc.log
----------------------
直接使用ssh调用test.sh,可执行,看到aa.log和bb.log(注意:没有cc.log)
[color=#FF0000]问题1:为什么直接执行没调用test2.sh
问题2[/color]:使用java标准调用test.sh(Runtime.getRuntime().exec({"bin/sh","-c","./work/test.sh"})),只能看到aa.log创建,卡在export命令上了

问题3:如果注释掉代码"#export aa=123456",会输出aa.log和bb.log,但test2.sh里面的代码未被执行
回复:/bin/bash 

问题是这样的,在bin/sh下不支持写法:
export aa=123456
应该换成以下写法:
aa=123456
export aa
所以对于java调用代码有两种解决方式:
1 使用/bin/bash调用
2 把sh里面的写法改称sh支持的写法

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。