Моя цель - перечислить в STDOUT файлы классов и файлы .jar, выполняемые java на сервере Linux. Я мог бы сделать некоторые вещи getopts, чтобы получить аргументы для -jar, но другие процессы, идентифицируемые
ps -ef | grep java или ps -eo args | grep java
может выполнять файл класса, например, java -classpath / a / b / c myclass A1 A2. Я обеспокоен тем, что я смотрю на не элегантное решение, полное длинных линий greps и awk, чтобы решить то, что должно быть (я думаю) простым запросом. Учитывая, что:
некоторые вызовы просто для java, а другие - для полного пути к java,
В командной строке для запуска процесса могут быть установлены различные (или нет) параметры Java,
некоторые процессы вызывают файлы .jar, некоторые вызывают файлы .class и
в классе могут быть аргументы,
Каков наилучший способ получить простой список исполняемых файлов Java, например:
abc.jar
mymainclass
xyz.jar
numainclass
Я думаю, что это может быть не редкий вопрос, но я не могу построить строку поиска, которая бы обнаруживала здесь любое предыдущее обсуждение. Было бы неплохо элегантное решение; прямо сейчас я смотрю на подстановку записей '-jar' в вызове getops и разбираю остаток с учетом всех возможных комбинаций. Я работаю над решением в Bash 3.x
Спасибо!