2

だから私は次のようなbashスクリプトを書こうとしています:

ファイル a が存在し、ディレクトリ b が存在する場合は、composer install を実行し、vendor フォルダーを確認します。見つかった場合は、何かをエコーし​​て終了します。

しかし、それは言い続けます:

./composerrun.sh: line 6: syntax error near unexpected token `fi'
./composerrun.sh: line 6: `    fi'

そして、私はこの閉じの「波括弧」がどのように間違っているかを理解するためにバッシュするには新しすぎます:

#!/bin/bash
if checkForComposerJson && checkForAisisCore
    composer install
    if checkForVendor
        echo "Found vendor"; exit;
    fi
fi

function checkForAisisCore {
    if [-d "AisisCore/"]
    then 
        return 0;
    else
       echo "would you like us to create the directory?" yn,
       case $yn in
           Yes ) 
               mkdir "AisisCore/";
               if [-d "AisisCore/"]
                   return 0;;
               else
                   echo "We could not create the directory as you requested";
                   return 1;;
               end
           No ) return 1;;
           * ) echo "Please put in either yes or no";
       esac
   fi
}

function checkForVendor(){
  if [-d "vender/adam.balan/aisis-core/"]
      return 0;
  else
      "Something is wrong. We could not find the vendor/ folder. Please check that you are running this script inside of your theme or project folder.";
      return 1;
  fi
}

function checkForComposerJson(){
    if [-f "composer.json"]
        return 0;
    else
        echo "You need composer.json with appropriate information about AisisCore";
        return 1;
    fi
}

また、存在しない場合にディレクトリを作成するmkdir-単語の後に行うチェック-それは価値がありますか?

4

1 に答える 1

5

を忘れましたthen。そのはず:

if checkForComposerJson && checkForAisisCore
then  ## <-------------------
    composer install
    if checkForVendor
    then  ## <-------------------

        echo "Found vendor"; exit;
    fi
fi
于 2013-09-20T19:10:00.287 に答える