当我只使用java -Xxx *
时,程序会将当前路径中的所有内容作为输入。
如何才能将*
字符串作为输入?
答案 0 :(得分:2)
这不是你用Java做的任何事情;这是bash filename expansions的行为:
分词后[...] Bash扫描每个单词的字符'*','?'和'['。如果出现其中一个字符,则该单词被视为模式,并替换为与该模式匹配的按字母顺序排列的文件名列表(请参阅模式匹配)。如果找不到匹配的文件名,并且禁用了shell选项nullglob,则该单词保持不变。
正如Jesper在评论中指出的那样,您可以通过引用*
字符来避免此行为:
java -Xxx '*'
或者,正如Ilya所说,你可以逃脱它:
java -Xxx \*