У меня есть Java-программа, которая работает как служба в linux box. У меня есть файл сценария оболочки, который имеет следующую строку для запуска программы.Сценарий оболочки Linux для вызова Java-программы с аргументами
$EXEC -home "$JAVA_HOME" -cp "$CLASS_PATH" -outfile "$LOG_OUT" -errfile "$LOG_ERR" -pidfile "$PID" $1 $CLASS
$CLASS_PATH has class path
$CLASS has the name of main class
EXEC="/usr/bin/jsvc"
можно запускать и останавливать службу с помощью следующих команд
-
служба myscriptfilename начать
-
служба myscriptfilename остановки
Теперь я добавил новый аргумент в свою программу под названием «myflag». Он отлично работает на окнах. Теперь мне трудно передать новый аргумент моей программе в моем linux-поле, используя сценарий оболочки.
Теперь я начинаю свою службу как
-
сервис myscriptfilename начать myflag
я могу получить значение myflag с помощью $ 2 в сценарии оболочки. Я пытаюсь выяснить, как передать это в свою программу
Как передать мою «myflag» в мою программу из сценария оболочки в следующей строке?
$EXEC -home "$JAVA_HOME" -cp "$CLASS_PATH" -outfile "$LOG_OUT" -errfile "$LOG_ERR" -pidfile "$PID" $1 $CLASS
вы спрашиваете [это] (http://stackoverflow.com/questions/9057387/process-all-arguments-except-the-first- один)? – user3707125
Я могу получить значение myflag, используя $ 2 в shell scriipt. Я пытаюсь выяснить, как передать это программе? –
Кто знает, как ваша программа анализирует аргументы командной строки. Нет согласованного стандарта, поэтому может быть миллион способов. Это ваша * программа в конце концов, и вы должны знать лучше, чем мы ... (Вы даже не сказали, что такое '$ EXEC', если это известно, возможно, это известно всем программистам на Java? Я не уверен.) – 4ae1e1