Java命令在bash上运行,在zsh上失败

Ada*_*tan 1 java bash shell zsh

考虑以下使用以下命令运行完美的命令bash:

java -classpath bin:lib/* FunctionalTests.TestRunner
Run Code Online (Sandbox Code Playgroud)

课程在bin,罐子里面lib,main()bin/FunctionalTests/TestRunner:

.
??? bin
??? lib
?   ??? commons-collections-3.2.1.jar
?   ??? commons-httpclient-3.1.jar
?   ??? commons-io-2.1.jar
?   ??? commons-lang-2.4.jar
?   ??? commons-logging-1.1.1.jar
?   ??? ...
??? src
Run Code Online (Sandbox Code Playgroud)

运行相同的命令时zsh,输出为:

zsh: no matches found: ./bin:./lib/*
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

Ada*_*tan 8

它归结为另一对引号:

java -classpath "bin:lib/*" FunctionalTests.TestRunner
Run Code Online (Sandbox Code Playgroud)

希望它能帮助将来的某个人.

  • Zsh将不匹配的fileglobs视为错误,bash按原样返回它们.所以`echo*nosuchfile`在zsh中是错误的,但它在bash中输出"*nosuchfile".Zsh可以选择更改此行为. (3认同)