我正在使用Java自动在Mac OS X中安装.pkg文件并执行此操作我对bash控制台有这个命令:
echo 'Control123' | sudo -S installer -pkg /Users/george/Downloads/MyPackage.pkg -target /
我正在从Java Runtime执行此命令:
Runtime.getRuntime().exec("echo 'Control123' | sudo -S installer -pkg /Users/george/Downloads/MyPackage.pkg -target /");
但是如果在Bash控制台中执行命令,则不会安装软件包。它正常工作。
答案 0 :(得分:0)
您不应该假设用户具有root权限,并且启动安装程序可能更好,因此用户可以从那里授权和更新应用程序。如果这有意义,那么可以通过这种方式启动.pkg
,不需要sudo:
String userHome = System.getProperty( "user.home" );
String cmdString = ("open " + userHome + "/Downloads/MyPackage.pkg");
我不确定你为什么需要回音' Control123',但你可能需要单独回应。