Announcement

Collapse
No announcement yet.

Mehrere Skripte in shell script ausführen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Mehrere Skripte in shell script ausführen

    Hallo,

    ich betrete in diesem Bereich absolutes Neuland, deshalb eine Frage: Um mehrere Instanzen von Thunderbird gleichzeitig benutzen zu können, verwende ich drei kleine Skripte, um das Programm mit verschiedenen Profilen zu starten. (Dafür muss die Variable MOZ_NO_REMOTE verändert werden.) Der Inhalt der drei Skripte ist:

    Code:
    #!/bin/sh
    export MOZ_NO_REMOTE=1
    /usr/bin/thunderbird -P <Profilname>
    export MOZ_NO_REMOTE=0
    
    exit 0
    Jetzt möchte ich gern diese drei Skripte direkt hintereinander ausführen, d.h. die drei Instanzen von Thunderbird hintereinander starten. Im Moment mache ich das manuell. Kann mir jemand sagen, wie ein Skript aussehen müsste, um die drei Skripte hintereinander auszuführen?

    Ich benutze Ubuntu Linux (Intrepid Ibex) und habe mir einen Menüpunkt angelegt, um die Skripte aufzurufen. Anstatt die drei Instanzen hintereinander weg manuell zu starten möchte ich dies eben automatisieren.

  • #2
    Hallo,

    wie wäre es mit einem übergeordneten Script:
    Code:
    #!/bin/bash
    
    sh script1.sh
    sh script2.sh
    sh script3.sh
    Gruß Falk
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment


    • #3
      Danke für die Antwort. Etwas ähnliches hatte ich auch schon probiert. Das Problem ist, dass so zwar die erste Instanz geöffnet wird, die anderen aber nicht. Wenn ich dann die erste schließe, öffnet sich die zweite. Wenn ich diese schließe, öffnet sich die dritte.

      Comment


      • #4
        In einem anderen Forum wurde ich auf das fehlende &-Zeichen hingewiesen. So klappt es:

        Code:
        #!/bin/bash
        sh script1.sh &
        sh script2.sh &
        sh script3.sh &

        Comment


        • #5
          Danke für die Info
          Christian

          Comment


          • #6
            Eine weitere Frage diesbezüglich: Da die drei Thunderbird-Instanzen nach dem Start (per FireTray) in den Systemtray verbannt werden, wäre es schön, wenn sie immer in der selben Reihenfolge gestartet würden. Anscheinend braucht die erste Instanz aber meistens länger, wodurch die Reihenfolge beeinflusst wird. Auf meiner Suche bin ich auf den Befehl "sleep" gestoßen und habe folgendes probiert:

            Code:
            sh script1.sh &
            sleep 3
            sh script2.sh & 
            sleep 3
            sh script3.sh &
            und auch

            Code:
            sh script1.sh &
            sleep 3 &
            sh script2.sh & 
            sleep 3 &
            sh script3.sh &
            Es hat aber den Anschein, dass der "sleep"-Befehl einfach ignoriert wird. Weiß jemand, wie ich ihn richtig einsetzen kann? Oder vielleicht kennt ja auch jemand eine bessere Lösung. Es geht mir darum, dass immer erst ein Skript zu Ende ausgeführt wird und dann das nächste aufgerufen wird.

            Comment

            Working...
            X