好吧,这感觉就像一个白痴问题,但我被卡住了 - 我不知道关于AppleScript的第一件事.我有一个.scpt文件,我想双击它,让它运行,但每次我点击它,它打开AppleScript编辑器.这感觉它应该只是文件的一个选项,但我遗漏了一些明显的东西.
请帮助我减少愚蠢,谢谢.
我有一个在Mac上运行的lua脚本,需要调用sudo.
我希望Mac OS会自动调出一个密码请求对话框,但是命令失败后返回256.
无论如何我能实现目标吗?
蒂姆
我正在使用javafx中的app,我正在尝试使用终端中的命令打开一个应用程序,我正在使用我的java代码运行命令我的命令有一些变量它有我的安装程序文件的路径,因为文件名不会总是相同可以在更新构建时有所不同.
这是一个示例,因为我正在运行命令它不是我正在运行的确切命令,但命令格式是相同的.
Process process = Runtime.getRuntime().exec("echo password | sudo -S open -a safari");
String line;
BufferedReader input = new BufferedReader(new InputStreamReader(pb.getInputStream()));
while ((line = input.readLine()) != null) {
System.out.println(line);
}
input.close();
Run Code Online (Sandbox Code Playgroud)
这个过程没有提供任何输出它停在那里没有任何反应.我从终端试过的同样的命令,它工作正常.
我已尝试过此链接中提到的内容
但它也没有奏效.
我也从我的java代码运行像"chmod + x"这样的命令,这些命令运行正常.我原来的命令是这样的: -
runCommand = "echo" + " " + password + "| sudo -S " + "\"" + a.getAbsolutePath() + "\"" + " --deploymentFile="
+ "\"" + b.getAbsolutePath() + "\"";
Run Code Online (Sandbox Code Playgroud)
其中a.getAbsolutePath()是安装程序文件的路径,b.getAbsolutePath()是我们用于安装应用程序的部署文件的路径.
pb.getInputStream()
Run Code Online (Sandbox Code Playgroud)
打印命令,当我复制并粘贴它是终端它运行正常.
pb.getErrorStream()
Run Code Online (Sandbox Code Playgroud)
不给任何东西.
我试过跑步
String[] cmd = {"/bin/bash","-c","echo tester| sudo -S …Run Code Online (Sandbox Code Playgroud) 我用jpcap实现了一个小的java sniffer-tool .到目前为止它的运行正常,但它需要root权限才能访问网络设备.如果我将项目导出到可运行的jar,我可以通过sudo在终端中使用它来运行它:
$ sudo java -jar littleSniffer.jar
Run Code Online (Sandbox Code Playgroud)
有没有人知道"一键" - 解决方案来运行我的具有root权限的runnable jar.我想把这个工具交给我的同事们,我很高兴他们可以在不使用终端的情况下启动它.也许通过使用automator应用程序?