Problem beim Ausführen eines Scrips

Status
Für weitere Antworten geschlossen.

eriksn

Benutzer
Mitglied seit
27. Jun 2017
Beiträge
2
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen,
ich kann ein Script nicht ausführen und bekomme dabei folgende Fehlermeldung:
Rich (BBCode):
-ash: ./start-stop-status.sh: cannot execute binary file: Exec format error

Zur Geschichte: ich habe erfolgreich Java8 und JDownloader2 installiert, wenn ich es auf der Konsole direkt mit folgendem Befehl ausführe funktioniert alles wie gewünscht:
Rich (BBCode):
java -jar /volume1/@appstore/JDownloader/JDownloader.jar
Das Problem dabei ist, dass JDownloader nach einem Systemneustart nicht automatisch gestartet wird. Dazu habe ich mir folgendes Script gesucht und unter /usr/local/etc/rc.d/start-stop-status.sh gespeichert:
Rich (BBCode):
#!/bin/sh

# @version      2015-09-20
# @env          run by DSM, $SYNOPKG_PKGDEST example: "/volume1/@appstore/JDownloader"

source /etc/profile

JAVA_BIN="${JAVA_HOME}/bin/java"
JAVA_OPTIONS="-Djava.awt.headless=true -jar"
SYNOPKG_PKGDEST="/volume1/@appstore/JDownloader"
DAEMON="${SYNOPKG_PKGDEST}/JDownloader.jar"
PIDFILE="${SYNOPKG_PKGDEST}/JDownloader.pid"
PACKAGE_NAME="JDownloader"
LOGFILE="/dev/null"

export LC_ALL=en_US.utf8
export LANG=en_US.utf8

case $1 in
    start)
        if [ ! -f $PIDFILE ]; then
            nohup ${JAVA_BIN} ${JAVA_OPTIONS} ${DAEMON} >>$LOGFILE 2>&1 &
            echo "$PACKAGE_NAME started ..."
        elif PID=$(cat $PIDFILE) && [ -e /proc/${PID} -a /proc/${PID}/exe ];
        then
            echo "$PACKAGE_NAME is already running ..."
        else
            echo "$PACKAGE_NAME process has invalid pid, cleaning up..."
            rm $PIDFILE
            nohup ${JAVA_BIN} ${JAVA_OPTIONS} ${DAEMON} >>$LOGFILE 2>&1 &
         fi
    ;;
    stop)
        PID=$(cat $PIDFILE)
        if [ -f $PIDFILE ]; then
            kill $PID;
            echo "$PACKAGE_NAME stopped ..."
        else
            echo "$PACKAGE_NAME is not running ..."
        fi
    ;;
    restart)
        PID=$(cat $PIDFILE)
        if [ -f $PIDFILE ]; then
            kill $PID;
            echo "$PACKAGE_NAME stopped ..."
            echo "$PACKAGE_NAME re-starting ..."
                        sleep 1
            nohup ${JAVA_BIN} ${JAVA_OPTIONS} ${DAEMON} >>$LOGFILE 2>&1 &
                        sleep 1
            echo "$PACKAGE_NAME re-started ..."
        else
            echo "$PACKAGE_NAME is not running ..."
        fi
    ;;
    status)
            sleep 1
        if [ ! -f $PIDFILE ]; then
                echo "$PACKAGE_NAME is stopped ..."
                exit 1
        else
                echo "$PACKAGE_NAME is running ..."
                exit 0
        fi
    ;;
    log)
        echo "$LOGFILE"
    ;;
    checkpw)
            cat ${SYNOPKG_PKGDEST}/cfg/org.jdownloader.api.myjdownloader.MyJDownloaderSettings.json|grep -E "email|password"    ;;
    setpw)
            echo "Enter your email address: "
            read email
            echo "Enter your password: "
            read password
            echo -ne "{\n  "email" : "${email}",\n  "password" : "${password}"\n}\n" >${SYNOPKG_PKGDEST}/cfg/org.jdownloader.api.myjdownloader.MyJDownloaderSettings.json
    ;;
    enable)
            touch /var/packages/JDownloader/enabled
    ;;
    disable)
            rm /var/packages/JDownloader/enabled
    ;;
    *)
            echo -e "$PACKAGE_NAME package\n\nUsage:\n\t$0 (start|stop|restart|status|log|checkpw|setpw|enable|disable)\n"
    ;;
esac
exit 0
Diesen Code habe ich im Notepad++ auf Format Zeilendende zu UNIX (LF) konvertiert, kopiert, im DSM-Text-Editor gespeichert und per Konsole an den Zielort verschoben sowie die Berechtigung auf 755 gesetzt.
Trotz allem ist es mir nicht möglich, das Script manuell ausführen zu lassen, geschweige denn automatisch beim Systemstart.
Zwischenablage02.png

:( :confused:
Danke für hilfreiche Tipps oder Verweise auf schon vorhandene Themen (die ich aber nicht auf Anhieb gefunden habe).
 

eriksn

Benutzer
Mitglied seit
27. Jun 2017
Beiträge
2
Punkte für Reaktionen
0
Punkte
0
Hat sich erledigt, lag wohl an irgendeinem nichtsichtbaren Zeichen im Script.
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat