Java で Unix シェルを作成しようとしています。「cd」ディレクトリ変更コマンドを除いて、すべてがうまく機能します。ディレクトリを変更しようとすると、常に同じディレクトリに残ります。
仕方なくこれを見てしまいました。
ここに私が使用しているコードのスニペットがあります。
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」コマンドを実行すると、プロジェクトのディレクトリにいることが示されます。