
正文
linux命令嵌入代码 linux嵌入式gui
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
如何在代码中跑Linux指令
在java程序中如何调用linux的命令linux命令嵌入代码?如何调用shell脚本呢linux命令嵌入代码? 这里不得不提到java的process类了。 process这个类是一个抽象类linux命令嵌入代码,封装了一个进程(linux命令嵌入代码你在调用linux的命令或者shell脚本就是为了执行一个在linux下执行的程序,所以应该使用process类)。 process类提供了执行从进程输入,执行输出到进程,等待进程完成,检查进程的推出状态,以及shut down掉进程。 至于详细的process类的介绍放在以后介绍。 另外还要注意一个类:Runtime类,Runtime类是一个与JVM运行时环境有关的类,这个类是Singleton的。 这里用到的Runtime.getRuntime()方法是取得当前JVM的运行环境,也是java中唯一可以得到运行环境的方法。(另外,Runtime的大部分方法都是实例方法,也就是说每次运行调用的时候都需要调用到getRuntime方法) 下面说说Runtime的exec()方法,这里要注意的有一点,就是public Process exec(String [] cmdArray, String [] envp);这个方法中cmdArray是一个执行的命令和参数的字符串数组,数组的第一个元素是要执行的命令往后依次都是命令的参数,envp感觉应该和C中的execve中的环境变量是一样的,envp中使用的是name=value的方式。 下面说一下,如何使用process来调用shell脚本 例如,我需要在linux下实行linux命令:sh test.sh,下面就是执行test.sh命令的方法: 这个var参数就是日期这个201102包的名字。 String shpath="/test/test.sh"; //程序路径 Process process =null; String command1 = “chmod 777 ” + shpath; process = Runtime.getRuntime().exec(command1); process.waitFor(); String var="201102"; //参数 String command2 = “/bin/sh ” + shpath + ” ” + var; Runtime.getRuntime().exec(command2).waitFor();
相关问答
Q1: 博客园怎么添加linux命令代码
Linux将命令添加到PATH中博客分类:
linux
LinuxApacheBash
简单说PATH就是一组路径的字符串变量,当你输入的命令不带任何路径时,LINUX会在PATH记录的路径中查找该命令。有的话则执行,不存在则提示命令找不到。比如在根目录/下可以输入命令ls,在/usr目录下也可以输入ls,但其实ls命令根本不在这个两个目录下,当你输入ls命令时LINUX会去/bin,/usr/bin,/sbin等目录寻找该命令。而PATH就是定义/bin:/sbin:/usr/bin等这些路劲的变量,其中冒号为目录间的分割符。
如何自定义路径:
假设你新编译安装了一个apache在/usr/local/apache下,你希望每次启动的时候不用敲一大串字符(#
/usr/local/apache/bin/apachectl
start)才能使用它,而是直接像ls一样在任何地方都直接输入类似这样(#
apachectl
start)的简短命令。这时,你就需要修改环境变量PATH了,准确的说就是给PATH增加一个值/usr/local/apache/bin。将/usr/local/apache/bin添加到PATH中有三种方法:
Q2: Linux嵌入式中,进入一个目录的指令中,&&. 这个代码是什么意思?有什么意义?
1 命令之间使用 连接,实现逻辑与的功能。
2 只有在 左边的命令返回真(命令返回值 $? == 0), 右边的命令才会被执行。
3 只要有一个命令返回假(命令返回值 $? == 1),后面的命令就不会被执行。
示例 1
malihou@ubuntu:~$ cp ~/Desktop/1.txt ~/1.txt rm ~/Desktop/1.txt echo "success"
示例 1 中的命令首先从 ~/Desktop 目录复制 1.txt 文件到 ~ 目录;执行成功后,使用 rm 删除源文件;如果删除成功则输出提示信息。
linux命令嵌入代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux嵌入式gui、linux命令嵌入代码的信息别忘了在本站进行查找喔。






