当前位置:  开发笔记 > 编程语言 > 正文

在java中运行内部和外部unix命令之间的区别

如何解决《在java中运行内部和外部unix命令之间的区别》经验,为你挑选了1个好方法。

为什么内部unix命令(cd,pwd等)不能使用Runtime.getRuntime().exec()直接在java中运行,如外部命令(chmod,chown等)?

请帮忙解释一下.



1> Aaron Maenpa..:

因为它们是内置于shell中的,而不是程序本身.

最简单的方法是调用shell并使用-c选项传递命令:

> bash -c pwd
/home/foo/bar/baz

......或者用Java:

Runtime.getRuntime().exec("bash -c pwd")

...或更一般地说:

Runtime.getRuntime().exec(new String[]{"bash", "-c", command});

我们需要使用String []变体,否则,如果StringTokenizer包含任何空格,我们的命令将被修改.

推荐阅读
mylvfamily
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有