Java 在没有执行权限的情况下运行终端命令

Java 在没有执行权限的情况下运行终端命令,java,bash,shell,terminal,Java,Bash,Shell,Terminal,我试图在OSX上使用bash运行一个终端命令(具体地说,从命令行启动Java应用程序),并将此命令分发给用户。不过,剧本很好,工作完美无瑕 如果我要将其导出为.command或.sh,则每个用户都必须打开terminal并使用chmod+x来运行它。这对于我正在尝试做的事情(一个为游戏托管服务器的点击式解决方案)来说是完全适得其反的 我需要一种方法来启动这个bash命令而不改变用户的权限,并且它必须实时显示终端输出。这意味着不将输出记录到文本文件-需要显示在终端窗口中 我试着用automator

我试图在OSX上使用bash运行一个终端命令(具体地说,从命令行启动Java应用程序),并将此命令分发给用户。不过,剧本很好,工作完美无瑕

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

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

我试着用automator制作一个应用程序来启动一个shell脚本,该脚本在烫发过程中运行良好,但不显示输出

我尝试用automator制作一个更具工作流风格的应用程序,打开终端,然后输入文本(既可以作为原始文本输入,也可以作为shell脚本输入)。这两个选项都会打开一个终端窗口,但仍然不显示输出


我得到的唯一解决方案,有点简陋,就是自己设置烫发,压缩文件,然后用那种方式发送。压缩时,文件保留其权限设置。这仍然比我想要的多了一步,因为这是我试图发送给可能根本不懂技术的付费用户的东西。

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

$bash myscript


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

你读过我的帖子吗?仅在本地(对我)设置权限。我需要能够将这个和我的游戏一起发送给其他用户,而不是让他们设置perms。将它封装为rpm或tar.gz可能…为什么不创建一个.dmg包呢。有很多方法可以做到这一点,如果我想走这条路,我会把它放在一个zip文件中。这是我们将通过Steam分发的实际游戏文件打包的东西;将光盘映像放入应用程序包中会令人难以置信地违反直觉。不过还是要谢谢你。正如我在文章中所说的,关键是这是一个一键操作。如果用户必须使用终端,我不妨让他们使用我已经给他们的脚本chmod。