您好我正在尝试创建一个目录,并使用已创建的目录执行所选网络驱动器的挂载操作。该代码正在开发其他OS X版本,如OS X Lion或Caption,但不适用于OS X 10.12(Sierra) 请建议此代码如何工作。
proc=Runtime.getRuntime().exec(new String[]{"/bin/mkdir","/Volumes/Library"+count});
int exitCode = proc.waitFor();
System.out.println("Exit code : "+exitCode);
然后安装驱动器
String[] commandArr = new String[]{"/sbin/mount","-t","smbfs","//username:password@IP-Of-System/library"," /Volumes/Library"+count};
proc = Runtime.getRuntime().exec(commandArr);
此命令正在使用终端运行但未使用Runtime.getRuntime()。exec()执行。
请帮忙。
答案 0 :(得分:0)
重要的是getRuntime()。exec不会给你一个完整的shell。 您不能假设您可以使用shell执行任何操作("命令行")。
您可以尝试使用ProcessBuilder.start()(在Runtime.exec文档中推荐),但这可能也不会有帮助。
要使其工作,您可以创建一个执行所需操作的shell脚本,然后使用Runtime.exec或ProcessBuilder.start执行脚本,并将适当的参数传递给它。