Gelöst: Bin am Verzweifeln - Skript wird nicht ausgeführt

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Gelöst: Bin am Verzweifeln - Skript wird nicht ausgeführt

      Hi an alle,

      ich versuche seit längerem ein Skript zum Laufen zu bekommen, dass mir meine Bouquets sichert und mit einem Timestamp versieht. Das Skript vommt aus einem anderen Forum, ist jedoch sowohl für Enigma1 als auch Enigma2 geschrieben. Ich habe es in /usr/script hochgeladen und auch mit den 755 Rechten ausgestattet. Des Weiteren habe ich das .sh-Skript mit dem notepad++ geschrieben und im UNIX-Format gespeichert. Also auch hier alles gut soweit. Allerdings bekomme ich laufend folgende Fehlermeldung:

      root@dm800se:/usr/script# ./pack_bq_new.sh
      -sh: ./pack_bq_new.sh: not found

      Das Skript sieht folgendermaßen aus:

      Spoiler anzeigen

      #!/bin/sh
      #
      # creates Bouquets ans Settings file. version: 0.5
      #
      #
      # Enigma Version ("enigma1" oder "enigma2").
      ENIGMA="enigma2"

      # Farbliche Text-Ausgabe verwenden? 0 = Nein , 1 = Ja
      COLORED="0"

      #
      ## Ende der Konfiguration
      #


      TEMPdir=/tmp
      enigma1dir="/var/tuxbox/config/enigma/"
      enigma2dir="/etc/enigma2/"
      Files2Pack2="satellites.xml terrestrial.xml cables.xml timezone.xml"
      Files2Pack1="$Files2Pack2 *.tv *.radio lamedb blacklist settings whitelist userbouquet.* services"
      PakFiles=""
      ST="time.txt"
      [ -z "$COLORED" ] && COLORED=0

      #- functions

      #error handling
      _error() {
      if [ $1 -gt 0 ]; then
      [ -z "$2" ] && message="Es ist ein Fehler aufgetreten" || message=$2
      if [ "$COLORED" = 1 ]; then
      echo -e "\033[1;31;40m$message\033[0m"
      echo -e "\033[1;31;40mAbbruch\033[0m"
      else
      echo "$message"
      echo "Abbruch"
      fi
      exit 1
      fi
      }

      #collect files to pack
      collectFiles() {
      # source dir = $1
      # Files2Pack = $2
      cd $1
      FILES=$(ls)
      for file in $FILES; do
      validfile=0
      for wantedfile in $2; do
      crapfile=0
      if [ "$file" = "$wantedfile" ]; then
      case $file in
      *_bak) crapfile=1 ;;
      *_org) crapfile=1 ;;
      esac
      [ "$crapfile" = 0 ] && validfile=1
      fi
      done
      [ "$validfile" = 1 ] && PakFiles="$PakFiles $1$file"
      done
      }

      #- main code

      #falls ENIGMA leer -> versuche ENIGMA version zu ermitteln
      if [ -z "$ENIGMA" ]; then
      [ -d "$enigma1dir" ] && ENIGMA="enigma1"
      [ -d "$enigma2dir" ] && ENIGMA="enigma2"
      if [ -z "$ENIGMA" ]; then
      _error 1 "Kann die ENIGMA Version nicht ermitteln! Bitte manuell im Script festlegen!"
      fi
      else
      # prüfe gültige ENIGMA einstellung
      if [ "$ENIGMA" != "enigma1" ] && [ "$ENIGMA" != "enigma2" ]; then
      _error 1 "Die Script Einstellung ENIGMA ist fehlerhaft!\n Gueltige Einstellung: ENIGMA=\"enigma1\" oder ENIGMA=\"enigma2\""
      fi
      fi

      # Name der gepackten Bouquets Datei
      BQ="${ENIGMA}.tar.gz"

      [ "$ENIGMA" = "enigma1" ] && srcDIR=$enigma1dir
      [ "$ENIGMA" = "enigma2" ] && srcDIR=$enigma2dir

      #zu packende dateien ermitteln: enigma1 & enigma2
      collectFiles "$srcDIR" "$Files2Pack1"

      #zu packende dateien ermitteln: enigma2 (/etc/tuxbox/)
      [ "$ENIGMA" = "enigma2" ] && collectFiles "/etc/tuxbox/" "$Files2Pack2"

      #dateien zum packen vorbereiten
      echo "Bereite Dateien zum packen vor.."
      mkdir -p $TEMPdir/$ENIGMA
      cp -rf $PakFiles $TEMPdir/$ENIGMA/
      _error $? "Es ist ein Fehler aufgetreten (zu packende dateien kopieren)"

      #archive erstellen
      echo "Erstelle Archive.."
      cd $TEMPdir
      tar -cz $ENIGMA > $TEMPdir/$BQ
      _error $? "Es ist ein Fehler aufgetreten (archive erstellen)"
      [ ! -s "$TEMPdir/$BQ" ] && _error 1 "Es ist ein Fehler aufgetreten (erstelles archive hat 0 bytes)"
      rm -rf $TEMPdir/$ENIGMA/
      echo "Archive $TEMPdir/$BQ erfolgreich erstellt ($(echo `du -sh $TEMPdir/$BQ` | cut -d' ' -f 1))"

      #time.txt erzeugen (format: unixtimestamp)
      TIMESTAMP=$(date +%s)
      echo $TIMESTAMP > $TEMPdir/$ST
      echo "$TEMPdir/$ST erfolgreich erstellt ($TIMESTAMP)"


      exit 0


      Ich verwende das Daily Image vom 24.02.2017 auf einer DM800se.

      Irgendwelche Ideen?
    • Hi DDuck007, danke für deine Nachricht, aber das hatte ich wie angegeben bereits gemacht. Ich habe soeben das Problem selbst gelöst. Ich habe das Skript auf der Box mit Nano neu erzeugt und plötzlich geht es....da hat mein Total Commander evtl. irgendeine Änderung vorgenommen, die das Skript nicht ausführbar macht.

      Danke!!!