运行没有执行权限的终端命令

时间:2014-07-02 06:19:17

标签: java bash shell terminal

我尝试在OS X上使用bash运行终端命令(特别是从命令行启动Java应用程序),并将此命令分发给用户。然而,脚本很好并且完美无缺!

如果我要将其导出为.command或.sh,则每个用户都必须打开终端,chmod + x才能运行它。这对于我尝试做的事情(一键式解决方案来托管游戏服务器)完全适得其反。

我需要一种方法来启动这个bash命令而无需用户更改权限,它必须实时显示终端输出。这意味着不将输出记录到文本文件 - 需要显示在终端窗口中。

我尝试使用automator创建一个应用程序来启动一个shell脚本,只要有权限就可以正常工作但不会显示输出。

我尝试使用automator制作更多工作流程样式应用程序,打开终端,然后输入文本(将其作为原始文本输入并将其作为shell脚本输入)。这两个都打开了一个终端窗口,但仍然没有显示输出。

我唯一能解决的问题就是自己设置权限,压缩文件并以这种方式发送。压缩时,文件会保留其权限设置。这仍然比我想要的更进一步,因为这是我试图发送给可能根本不熟悉技术的付费用户。

1 个答案:

答案 0 :(得分:0)

如果你的脚本没有执行权限,那么你(和你的用户)总是可以将它作为输入参数传递给shell,就像:

$ bash myscript

此命令将运行脚本 myscript ,即使它没有执行权限。将 bash 替换为您要运行脚本的shell的名称,但最有可能是 bash