시작 스크립트 오류


0

마지막 질문에 더하여 나는 지금 사용하고 logger있습니다.

다음과 같은 시작 구성이 있습니다.

start on runlevel [2345]
stop on runlevel [06]

respawn

pre-start script
    exec 2>&1 > >(logger -t "nodejs")
    REPO=git@github.com
    mkdir -p /var/log
    mkdir -p /var/www
    echo "Fetching app from $REPO"
    girror $REPO /var/www
    if [ -f /var/www/package.json ]; then
        echo "Installing npm modules"
        cd /var/www
        npm install
    fi
end script

post-stop script
    exec 2>&1 > >(logger -t "nodejs")
    echo "stopped"
end script

script
    exec 2>&1 > >(logger -t "nodejs")
    export NODE_ENV=production
    export port=80
    echo "Starting app.js on port 80"
    cd /var/www
    node app.js
end script

오류가 발생합니다

/proc/self/fd/9: 2: /proc/self/fd/9: Syntax error: redirection unexpected

나는 그것이 줄인 것 같아

exec 2>&1 > >(logger -t "nodejs")

일반 쉘 스크립트에서 실행했을 때 작동했지만.

무슨 일인지 알지?


1
스크립트를 사용하여 실행 중 sh입니까? 그렇다면 오류가 발생할 수 있습니다. 를 사용하여 스크립트를 실행하십시오 bash.
devnull

@devnull upstart가 어떻게 스크립트를 실행하는지 잘 모르겠습니다. 어떤 식 으로든 bash를 사용하도록 강요 할 수 있습니까? 나는 그것이 /bin/sh실제로 가리키는 것을 본다dash
Michael
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.