0

Magentoのインストールの自動化に興味があります。これを実現する方法について、手順が記載されたすばらしい記事を1つ見つけました。私は彼らのスクリプトをダウンロードし、CLIから実行しました:

./mage-install.sh localhost root test "abcABC123" "1.7.0.2"

そして、そのようなエラーが発生します:

./mage-install.sh: 21: ./mage-install.sh: Syntax error: "(" unexpected (expecting "}")

私はbashに精通していません。これは、bashを担当するコードの一部です。

compareVersions ()
{
  typeset    IFS='.'
  typeset -a v1=( $1 )
  typeset -a v2=( $2 )
  typeset    n diff

  for (( n=0; n<4; n+=1 )); do
    diff=$((v1[n]-v2[n]))
    if [ $diff -ne 0 ] ; then
      [ $diff -le 0 ] && echo '-1' || echo '1'
      return
    fi
  done
  echo  '0'
}

21行目は次のとおりです。

  typeset -a v1=( $1 )

修正方法を教えてください。

4

2 に答える 2

3

本当の問題は、スクリプトの最初の行にあります。

#!/bin/sh

これは、コマンドラインでスクリプトを実行するときにスクリプトを実行するために使用するプログラムを指定します./mage-install.sh。ライターはおそらく/bin/sh、bashインストールにシンボリックリンクされているシステムで開発しましたが、多くのシステムではそうではありません(たとえば、代わりにダッシュを使用するCrunchbangがあります)。

を使用してbashで明示的に実行するかbash mage-install.sh blah blah blah、最初の行を変更して、実際にbashを実行するものを指すようにすることができます。あなたはwhich bashそれがどこに住んでいるかを見るのに使うことができますが、それは中にあるべきです/bin/bash

于 2012-12-01T09:10:58.397 に答える
0

次のようなスクリプトを実行する必要があります。

bash mage-install.sh localhost root test "abcABC123" "1.7.0.2"
于 2012-12-01T09:08:41.637 に答える