web-dev-qa-db-ja.com

LinuxでJavaプログラムを実行するためのシェルスクリプトを作成する

私は2つのディレクトリの内容を同期するJavaプログラムを作成しました。このプログラムは、2つのディレクトリの場所を引数として取り、それらの同期を進めます。同期情報は、JSON形式で保存されます。各ディレクトリ内のファイルです。参照ライブラリが1つありますjson-simple-1.1.1.jar

私はこれをEclipseからWindowsで実行しており、すべてが正常に動作しています。 sync dir1 dir2と入力してLinux端末でこれを実行できるように、シェルスクリプトを作成します。ここで、syncは、私のJavaプログラムとdir1です。およびdir2は、現在のディレクトリから同期するディレクトリへのパスです。

私はシェルスクリプトとLinuxに非常に慣れていないので、これが簡単にできるのか、それとも1日中かかるかわかりません。

5
M0rty

「sync」という名前のファイルを/ usr/binに作成し、以下を含めます。

Java -jar {PATH TO JARFILE} $1 $2

{PATH TO JARFILE}をjarファイルへのパスに置き換えます

/ usr/binでchmod +x syncと入力して、ファイルを実行可能にします

3
DutChen18

「run.sh」という名前のシェルを作成し(シェルスクリプトであることを示す.sh拡張子に注意)、それを/ usr/local/binディレクトリにコピーします。

1.スクリプト(run.sh)

#!/bin/sh

arg1=$1
arg2=$2

##directory where jar file is located    
dir=/directory-path/to/jar-file/

##jar file name
jar_name=json-simple-1.1.1.jar

## Permform some validation on input arguments, one example below
if [ -z "$1" ] || [ -z "$2" ]; then
        echo "Missing arguments, exiting.."
        echo "Usage : $0 arg1 arg2"
        exit 1
fi

Java -jar $dir/$jar_name arg1 arg2
  1. スクリプトを/ usr/local/binにコピーします

    cp run.sh/usr/local/bin

  2. スクリプトに実行許可を与える

    chmod u + x /usr/local/bin/test.sh

  3. これで、コマンドラインでWord runまたはrun.shと入力できます。シェルはスクリプト名をオートコンプリートし、Enterキーを押して実行することもできます。

2
spectre007