Мне нужно разобрать информацию из командной строки, поэтому я выбираю библиотеку args4j.Формат командной строки: ls [-l] [-h] [-r] [-o output.file] directory_or_file.
Я попытался создать параметры, а затем проанализировать.Когда я получаю только «-ls», вывод верен, но когда я получаю «-ls -l» (более 1 аргумента), программа не останавливается, и я могу войти в командную строку, пока я не принудительно остановлю программу.Буду благодарен за любую помощь!
public class Settings {
@Option(name = "-ls", usage = "Init command")
var command = false
@Option(name = "-l", usage = "Long flag")
var longFlag = false
@Option(name = "-h")
var humanReadable = false
@Option(name = "-r")
var reversed = false
}
fun main() {
val settings = Settings()
val parser = CmdLineParser(settings)
var args = mutableListOf<String>()
val input = readLine()
parser.parseArgument(input)
print("${settings.command} ${settings.longFlag}")