Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Runtime Exec似乎忽略了撇号_Java_Command - Fatal编程技术网

Java Runtime Exec似乎忽略了撇号

Java Runtime Exec似乎忽略了撇号,java,command,Java,Command,一个简单的例子是尝试将cd刻录到包含两个以上单词的目录。当我运行下面的代码时,我没有得到预期的错误:/usr/bin/cd:line 2:cd:/Directory,其中有两个字:没有这样的文件或目录,但是这个错误:/usr/bin/cd:line 2:cd:'/Directory:没有这样的文件或目录。因此,它似乎忽略了撇号,只是寻找一个名为“directory”的目录 代码: 你应该用这种方法,这样更安全。因此,这应该不使用引号或撇号: Runtime.getRuntime().exec(n

一个简单的例子是尝试将cd刻录到包含两个以上单词的目录。当我运行下面的代码时,我没有得到预期的错误:
/usr/bin/cd:line 2:cd:/Directory,其中有两个字:没有这样的文件或目录
,但是这个错误:
/usr/bin/cd:line 2:cd:'/Directory:没有这样的文件或目录
。因此,它似乎忽略了撇号,只是寻找一个名为“directory”的目录

代码:

你应该用这种方法,这样更安全。因此,这应该不使用引号或撇号:

Runtime.getRuntime().exec(new String[] {"cd", "/Directory With Two Words"});
同样值得一看JavaWorld上的优秀文章

Runtime.getRuntime().exec(new String[] {"cd", "/Directory With Two Words"});