설치했습니다라 호타- Java로 작성된 시간 추적기 - Fedora 저장소에서 제공되며 yum은 파일을 설치 rachota.jar
하지만 /usr/share/java
거기에 스크립트도 생성합니다 /usr/bin/rachota
. 이 스크립트는 java
직접 호출되지 않고 Rachota를 시작하는 데 사용됩니다 .
명령줄 인수를 /usr/bin/rachota
스크립트에 전달하고 java
.
스크립트는J 가방프로젝트는 다음과 같습니다:
#!/bin/sh
#
# rachota script
# JPackage Project <http://www.jpackage.org/>
# Source functions library
_prefer_jre="true"
. /usr/share/java-utils/java-functions
# Source system prefs
if [ -f /etc/java/rachota.conf ] ; then
. /etc/java/rachota.conf
fi
# Source user prefs
if [ -f $HOME/.rachotarc ] ; then
. $HOME/.rachotarc
fi
# Configuration
MAIN_CLASS=org.cesilko.rachota.gui.MainWindow
BASE_FLAGS=""
BASE_OPTIONS=""
BASE_JARS="rachota"
# Set parameters
set_jvm
set_classpath $BASE_JARS
set_flags $BASE_FLAGS
set_options $BASE_OPTIONS
# Let's start
run "$@"
/etc/java/rachota.conf
분명히 및 를 구문 분석하고 있지만 쉘 스크립팅 경험이 매우 제한되어 있으며 인수를 전달하기 위해 파일에 무엇을 넣어야 할지 $HOME/rachotarc
모르겠습니다 .$HOME/.rachotarc
이것은 궁극적으로 실행하려는 java 명령입니다.
java -Duser.language=en -Duser.country=GB -jar /usr/share/java/rachota.jar
매개변수는 자동으로 전달되지만 및 매개변수도 jar
전달하고 싶습니다 .Duser.language
Duser.country
답변1
중요한 부분은 /usr/share/java-utils/java-functions
문서입니다. 방금 찾았어요온라인추가 플래그를 지원하는 것 같습니다. 파일을 살펴본 후(run 및 set_flags 함수가 중요함) ADDITIONAL_FLAGS
다음 명령을 제공하는 것으로 충분할 것 같습니다 .
ADDITIONAL_FLAGS="-Duser.language=en -Duser.country=GB" /usr/bin/rachota
디버깅하려면 VERBOSE
실행 매개변수에 대한 자세한 내용을 인쇄하도록 설정할 수 있습니다.
VERBOSE=1 /usr/bin/rachota
이러한 설정을 유지하려면 $HOME/.rachotarc
또는 에서 직접 변수를 설정할 수도 있습니다./etc/java/rachota.conf