#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