linux/android下java语句如何赋予shell脚本可执行权限

我目前编写了一个shell脚本,想要通过java语句对其赋予可执行权限并调用执行。目前我已经掌握的方法是,通过shell命令chmod777a.sh,对这个shell脚本... 我目前编写了一个shell脚本,想要通过java语句对其赋予可执行权限并调用执行。目前我已经掌握的方法是,通过shell命令chmod 777 a.sh,对这个shell脚本添加可执行权限,然后通过java语句执行。String commands = "/a.sh"; Process process = Runtime.getRuntime().exec(commands);
我想要的效果是在java程序中也实现对shell脚本赋予可执行权限的操作,而不是像现在这样要通过shell环境下输入shell命令,望高手赐教,感激不尽。
展开
 我来答
这个账号不是我
推荐于2017-08-30 · 超过19用户采纳过TA的回答
知道答主
回答量:66
采纳率:0%
帮助的人:47.1万
展开全部
看看你java运行使用的是哪个客户,一般是当前用户,你建一个这个用户有全部权限的目录“u”,然后执行使用exec("chmod 777 /u/a.sh");exec("/u/a.sh")
格力么了
2017-08-24 · TA获得超过407个赞
知道小有建树答主
回答量:184
采纳率:0%
帮助的人:32万
展开全部
java程序是提供了这个一方法, Process pro = Runtime.getRuntime().exec(cmds);   但是一般来说,尽量去用一些其他脚本(lua,shell,python)去执行一系列linux命令比较灵活, 而且耗费资源少。但是Runtime.getRuntime().exec()这种调用方式在java虚拟机中是十分消耗资源的,即使命令可以很快的执行完毕,频繁的调用时创建进程消耗十分可观。   java虚拟机执行这个命令的过程是,首先克隆一条和当前虚拟机拥有一样环境变量的进程,再用这个新的进程执行外部命令,最后退出这个进程。频繁的创建对CPU和内存的消耗很大。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2017-08-20
展开全部
chmod能改变权限,-R是目录下所有文件,777就是高权限(读、写、执行),chmod-R777*意思就是将当前目录下所有文件都给予777权限这个在服务器里不能随便敲的,不能在根目录下进行此命令,因为有些进程是指定权限(如755、700)才能运行的所以会出错
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-09-30
展开全部
推荐答案里面说的不错,运行这段java程序的用户如果有完全控制这个a.sh权限,才可以使用java执行这个语句。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2017-08-30
展开全部
String commands = "chmod 777 /home/kitty/a.sh";
Process process = Runtime.getRuntime().exec(commands);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式