Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
#!/bin/bash
# -*- shell-script -*-
# Ver.1.3.2 : 2010.7.14 TAKAHASHI,Toru
# 事前条件
# 1) 環境変数JAVA_HOMEが適切に設定されている
# 例) JAVA_HOME=C:/java/jdk1.6.0
# 2) JDKの各コマンド(例:javac.exe)から.exeを除いた名前(例:javac)の
# シンボリックリンクファイルが作成されている
# 例) /usr/local/bin/javac -> java_wrapper
# 3) JDKのコマンドへのパスよりも2)のシンボリックリンクファイルへの
# パスが先に環境変数PATHに設定されている
#
# 本スクリプトでシンボリックリンク作成を行うこともできます。
# $ java_wrapper createsymlinks
# カレントディレクトリに2)のシンボリックリンクを作成します。
# Java系コマンドのうち標準コマンドラインオプションを持つコマンドの
# コマンドライン引数のパスをCygwin形式からWindows形式に変換する関数
function general_parse_arg() {
while case $# in
0) false;;
1) true;;
esac
do
arg="$1"; shift
case $arg in
-classpath | -cp | -sourcepath | -bootclasspath | -extdirs | -endorseddirs)
ARGS="$ARGS $arg"
if [ ! "$1" = "" ]; then
ARGS="$ARGS `cygpath -p -w -s $1`"
shift
fi
;;
-d | -s | -jar)
ARGS="$ARGS $arg"
if [ ! "$1" = "" ];then
ARGS="$ARGS `cygpath -w -s $1`"
shift
fi
;;
*)
ARGS="$ARGS $arg"
;;
esac
done
}
#
# スクリプトのmain処理部
#
if [ -z "$JAVA_HOME" ]; then
echo "JAVA_HOME not defined."
exit 1;
fi
WIN32JDKDIR=`cygpath "$JAVA_HOME"`
CMD=`basename $0 .exe`
PROGRAM=$WIN32JDKDIR/bin/$CMD
# シンボリックリンク作成処理
if [ "$1" = "createsymlinks" ]; then
for command in `/bin/ls "$JAVA_HOME"/bin/*.exe`; do
ln -s $0 `basename $command .exe`
done
exit 0;
fi
if [ ! -e $PROGRAM ]; then
echo "$PROGRAM not found."
exit 1;
fi
if [ -n $CLASSPATH ]; then
CLASSPATH=`cygpath -p -w "$CLASSPATH"`
fi
ARGS=""
# 標準コマンドラインオプションを持つものは、general_parse_arg関数に
# 処理を委ねる。標準コマンドラインオプションに従わないコマンドは
# 個別に引数処理を実施する。
case $CMD in
jar)
#コマンドライン処理がうまく書けないので暫定オリジナルコマンドを呼び出し
#$PROGRAM $*
# 実験
# cygpathがパス文字列以外だと入力文字列をそのまま返すことを利用し
# -で始まるオプション以外を全てcygpathに通してしまう
for arg in $*; do
case $arg in
-*)
ARGS="$ARGS $arg"
;;
*)
ARGS="$ARGS `cygpath -w $arg`"
;;
esac
done
;;
*)
general_parse_arg $*
;;
esac
#echo CLASSPATH=$CLASSPATH CMD=$CMD PROGRMA=$PROGRAM ARGS=$ARGS
exec $PROGRAM $ARGS