-1

指示に従ってプレイ フレームワークをインストールしようとして いますが、インストール ファイルであるプレイ スクリプトの実行に成功しませんでした。

私がこれまでに行ったこと:

  1. open Java をインストールしたので、 java -version と jaac -version の両方が機能するようになりました
  2. スクリプトchmod a+x ./playに権限を与えるために、chmod a+x play-2.0.4ディレクトリ全体も行いました
  3. 成功しなかった後、play スクリプトをこれで実行できることを発見しました: python ./play

ただし、次のエラーが表示されます。

  File "./play", line 4
    while [ -h "$PRG" ] ; do
                    ^
SyntaxError: invalid syntax

私の質問は次のとおりです。この構文エラーが発生するのはなぜですか。スクリプトに構文エラーが発生する可能性はほとんどありませんか?

参考までに、これはスクリプト全体です。

done
dir=`dirname $PRG`

if [ -f conf/application.conf ]; then
  if test "$1" = "clean-all"; then
    rm -rf target
    rm -rf tmp
    rm -rf logs
    rm -rf dist
    rm -rf project/project
    rm -rf project/target
    if [ $# -ne 1 ]
    then  
     shift
    else
      echo "[info] Done!"
      exit 0
    fi
  fi
  if test "$1" = "stop"; then
    if [ -f RUNNING_PID ]; then
      echo "[info] Stopping application (with PID `cat RUNNING_PID`)..."
      kill `cat RUNNING_PID`

      RESULT=$?

      if test "$RESULT" = 0; then
        echo "[info] Done!"
        exit 0
      else
        echo "[\033[31merror\033[0m] Failed ($RESULT)"
        exit $RESULT
      fi
    else
      echo "[\033[31merror\033[0m] No RUNNING_PID file. Is this application running?"
      exit 1
    fi
  fi

  if test "$1" = "debug"; then
    JPDA_PORT="9999"
    shift      
  fi

  if [ -n "$1" ]; then
    JPDA_PORT="${JPDA_PORT}" $dir/framework/build "$@"
  else
    JPDA_PORT="${JPDA_PORT}" $dir/framework/build play
  fi

else
  java -Dsbt.ivy.home=$dir/repository -Dplay.home=$dir/framework -Dsbt.boot.properties=$dir/framework/sbt/play.boot.properties -jar $dir/framework/sbt/sbt-launch.jar "$@"
fi

前もって感謝します!

4

1 に答える 1

0

Python を使用してシェル スクリプトを実行しようとしていますが、これは決して機能しません。

Play バージョン 1 では Python を使用していましたが、バージョン 2 では代わりにシェル スクリプトの使用に切り替えました。

于 2012-11-04T15:54:07.703 に答える