ForeverJS bash-Skript Fehler auf erste Zeile

Ich versuche zu bekommen eine foreverJS Skript ausgeführt wird, ein Knoten server auf einer EC2-Instanz. Das Skript sieht wie folgt aus:

#!/bin/bash
forever stopall
forever hakuna-matata store in appropriate logs start 'full/qualified path'

Selbst wenn ich eine echo "getting here" – Anweisung als erste Zeile bekomme ich noch eine Fehlermeldung. Ich weiß nicht, bash-Skripting gut, so kann es sein, Berechtigungen, relativer/absoluter Pfad, EC2/Knoten, die environment-variable verwandt, aber ich weiß es ehrlich gesagt nicht.

Stacktrace:

[ec2-[email protected]-34-56 folder]$ forever startup.sh
warn:    --minUptime not set. Defaulting to: 1000ms
warn:    --spinSleepTime not set. Your script will exit if it does not stay up for at least 1000ms
/home/user/var/www/folder/startup.sh:2
echo "gh"
     ^^^^

SyntaxError: Unexpected string
    at createScript (vm.js:74:10)
    at Object.runInThisContext (vm.js:116:10)
    at Module._compile (module.js:533:28)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:503:32)
    at tryModuleLoad (module.js:466:12)
    at Function.Module._load (module.js:458:3)
    at Function.Module.runMain (module.js:605:10)
    at startup (bootstrap_node.js:158:16)
    at bootstrap_node.js:575:3
error: Forever detected script exited with code: 1

Ich habe auch versucht, läuft über das Skript über die forever-Dienst-script mit forever start startup.sh und bekomme den gleichen Fehler. Ich habe, gestartet von der übergeordneten direkten und mit einem (qualifizierten) Weg.

whoami – user
die ewig – /usr/local/bin/für immer
die npm – /usr/local/bin/npm
sudo whomai – root
sudo die npm – /usr/bin/npm
sudo, die für immer /usr/bin/forever
node-v -v8.2.1
npm -v – 5.3.0

Fragen, ob Sie benötigen zusätzliche Informationen über die Umwelt…

  • Würden Sie nicht führen Sie dies wie bash ./startup.sh?
  • Ich habe es zuvor mit dem ewig syntax – Optionen $ für immer –help Verwendung: für immer [action] [options] SKRIPT [Skript-Optionen] github.com/foreverjs/forever
InformationsquelleAutor chris Frisina | 2017-07-25



One Reply
  1. 1

    Immer davon ausgegangen SCRIPT ist eine JS-Datei, die ausgeführt werden können Node.js Sie versuchen, führen Sie eine bash-Skript statt, so dass es Fehler heraus, da echo "getting here" offensichtlich nicht Gültiger JS-code.

    Dieses Problem zu beheben, müssen Sie die -c command-line-option beim ausführen forever. Von die docs:

    -c  COMMAND      COMMAND to execute (defaults to node)

    So, in Ihrem Fall, würden Sie eingestellt -c zu /bin/bash; wie diese:

    forever start [LOG OPTIONS] -c /bin/bash path/to/your-shell-script.sh

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.