0

私は実行する必要があります

eval "php /srv/www/scripts/mage/install-invoke-app.php"

ファイルを見つけますが、最終的には ここに画像の説明を入力

<?phpこれは右側を台無しにしています。なんで?それはどのように修正されますか?これまでのグーグルは正しい答えを生み出していません。


更新 これがスクリプトです。これは関数です。次に、コールバックを渡します..削除されたトンがあるため、領域のみです。

base.shスクリプトを含める

cd /srv/www/
. scripts/install-functions.sh
#tons of other stuff
cd /srv/www/
. scripts/mage-install.sh   

install-functions.sh で

install_repo(){
    if [ $2 ]
    then
        echo "just 1"
        git clone $1 -q
    else
        echo "just 1 and 2"
        git clone $1 $2 -q
    fi
    success=$?
    if [[ $success -eq 0 ]];
    then
        echo "Repository successfully cloned."
        echo "cleaning"
        cd $r/
        rm -rf LICENSE.txt STATUS.txt README.md RELEASE_NOTES.txt modman
        cd ../
        cp -af $r/* .
        rm -rf $r/
        if [ -z "$3" ]
        then
            echo "no callback"
        else
            eval $3
        fi
    else
        echo "Something went wrong!"
    fi
    sleep 1 # slow it down to insure that we have the items put in place.
}

#declare -A list = ( [repo]=gitUser )
install_repolist(){
    gitRepos=$1
    for r in "${!gitRepos[@]}" #loop with key as the var
    do
        giturl="git://github.com/${gitRepos[$r]}/$r.git"
        echo "Adding $r From $giturl"
        if [ -z "$r" ];
        then
            echo
        else
            install_repo $giturl $2 $3
        fi
        echo
    done
    return 1
}

scripts/mage-install.sh 内

declare -A gitRepos
#[repo]=gitUser
gitRepos=(
    [wsu_admin_base]=jeremyBass
    [wsu_base_theme]=jeremyBass
    [Storeutilities]=jeremyBass
    [StructuredData]=jeremyBass
)
cd /srv/www/mage/
install_repolist $gitRepos 0 "php /srv/www/scripts/mage/install-invoke-app.php"
unset gitRepos         #unset and re-declare to clear associative arrays
declare -A gitRepos

そして、それがここでの基本的なループです.関数にコールバックする必要がありますが、その install_repolist は他の領域でも使用されているため、ハードコーディングすることはできません。より良い方法がある場合は、eval、クール

4

1 に答える 1