【发布时间】:2013-10-21 11:07:21
【问题描述】:
我正在尝试用 Java 创建一个 Unix shell。对于“cd”更改目录命令,一切都很好。每当我尝试更改目录时,它都会保留在同一目录中。
我看了this 没有运气。
这是我正在使用的代码的 sn-p。
try
{
Process p = null;
File directory = new File("/Users/myName");
if(inputList.get(0).equals("cd")
{
System.setProperty("user.dir", "Users/myName");
System.out.println(System.getProperty("user.dir"));
ProcessBuilder pb = new ProcessBuilder("cd");
pb.directory(directory);
System.out.println(pb.directory);
p = pb.start();
}
}
请注意,打印 getProperty 命令时会返回正确的目录地址。 另请注意,在打印 pb.directory() 时,它还会打印出正确的目录地址。 但是接下来执行“pwd”命令时,却显示我在我的项目目录下。
【问题讨论】: