classpath= é a sintaxe da shell para atribuir uma variável, então o shell sabe que a coisa depois pode ser um caminho para expandir. isso significa que temos que olhar para /jars/* e /jars/*:/anotherJarsDir/* . o primeiro tem um prefixo de diretório e um caractere curinga, o segundo é interpretado como "qualquer arquivo em um diretório chamado anotherJarsDir , em um diretório que termina em dois pontos (este é o *: ), no diretório /jars .
Observe que o shell não está ciente de que o cólon é um separador de caminho; ele interpreta como parte do nome do diretório. Se você tivesse um arquivo /jars/wx:/anotherJarsDir/yz , seu caminho corresponderia a isso, mas vários arquivos seriam separados por espaços, não por dois-pontos, e o java por sua vez interpretaria isso como um arquivo /jars/wx e /anotherJarsDir/yz (supondo este é o único arquivo, não resultando em espaços no seu classpath)
Conclusão: se você quiser evitar a expansão, cite suas strings, mesmo que uma string sem aspas funcione em casos de canto!