Как я могу взять переменную из скрипта bash и использовать ее в java?

#java #bash #shell

Вопрос:

Итак, это моя оболочка под названием setDate.sh

 #!/usr/bin/env bash
dateLaunch='$1'
 

Эта оболочка будет запущена с переменной yyyyMMddHHmm, поэтому она будет запущена как sh setDate.sh например, 202109271640.
Я должен взять эту переменную dateLaunch и использовать ее в своем java-приложении, чтобы вставить ее в таблицу sql.
На данный момент я использую currentTimeMillis с момента запуска оболочки и программы java.

 @Autowired
private Service service;
@Override
public RepeatStatus execute(StepContribution contribution, ChunkContext chunkContext) throws Exception {
try {
   Timestamp timestamp = new Timestamp(System.currentTimeMillis());
   String formDate = timestamp.toString().substring(0,16);
   formDate = formDate.replaceAll("[\-\:\s ]", "");
   service.insertIntoDateTable(formDate);

   return RepeatStatus.FINISHED;
}catch(Exception e) {
   log.error("Error xyz");
   throw e;


  }
 }
}
 

Есть ли способ, которым я могу взять эту переменную dateLaunch и использовать ее в своем сервисе.insertIntoDateTable? Я должен указать, что я использую java 1.8.

Комментарии:

1. Да — передайте его в качестве аргумента командной строки при запуске приложения Java, и он будет присутствовать в String[] параметре вашего main метода.

2. docs.oracle.com/javase/tutorial/essential/environment/env.html