Konsole öffnen

  • Guten Morgen,
    ich bin noch ziemlich neu hier, deshalb bitte alles "for Dummies" erklären :rolleyes:


    Also ich würde gerne ein Shellscript machen, das eine grafische Konsole öffnet und einen Befehl eingibt.
    Momentan hab ein Ausführbares Shellscript mit folgendem Inhalt:


    #!/bin/sh
    echo | befehl



    Nunja, leider funktioniert das nicht. Der befehl wird zwar ausgeführt, aber im hintergrund obwohl ich die Konsole gerne sehen würde.



    Danke für die Hilfe
    Clamb

  • Bei den meisten Befehlen gibt es die Option -v (verbose) dann zeigt dir die Shell an was sie tut.
    Musst du mal die Manpage deines Befehls befragen.

    waren das Zeiten, als Ordner noch Verzeichnisse waren

  • Danke für die Schnelle antwort,ich habs jetzt mit


    #!/bin/sh
    echo | befehl -v und


    #!/bin/sh
    echo | befehl --v


    probiert, geht beides nicht =/
    Bei dem Befehl handelt es sich um folgenden:
    FR24AUTHIP=83.140.247.20 ./fr24feed_arm-le_232s --fr24key=XXX


    Das ist ein Programm dass GPS-Daten von Flugzeugen ins Internet hochlädt

  • Versuch mal :

    Code
    echo | $(FR24AUTHIP=83.140.247.20 ./fr24feed_arm-le_232s --fr24key=XXX)

    Offizieller Schmier und Schmutzfink des Forum.
    Warum einfach wenn's auch schwer geht ?


    Kein Support per PN !
    Fragen bitte hier im Forum stellen. So hat jeder etwas davon.

  • Nope leider auch nicht :-/ Das kann doch echt nicht sooo schwer sein:(
    Manchmal hat Windoof auch vorteile...

  • Ich weis jetzt nicht was du da rein echo'en willst aber versuch es mal so :


    Code
    echo | ./fr24feed_arm-le_232s --fr24key=XXX --net-ip=83.140.247.20


    gib mal auf der Konsole

    Code
    ./fr24feed_arm-le_232s --help


    ein, oder google mal nach fr24feed_arm-le_232s

    Offizieller Schmier und Schmutzfink des Forum.
    Warum einfach wenn's auch schwer geht ?


    Kein Support per PN !
    Fragen bitte hier im Forum stellen. So hat jeder etwas davon.

  • Ok Entschuldigung ich glaub ich hab das nicht genug erklärt:
    Wenn ich eine Konsole aufmache und


    FR24AUTHIP=83.140.247.20 ./fr24feed_arm-le_232s --fr24key=XXX


    eingebe funktioniert alles super. Jetzt will ich aber dass ich diesen befehl nicht immer wieder eintippen muss, da ich an dem Pc nur eine Maus habe.
    -> Shellscript dass eine Konsole aufmacht und diesen Befehl eingibt. Das Shellscript startet auch und wird funktionsfähig ausgeführt, aber leider im hintergrund. Ich kann auf meinem Grafischen Desktop also keine Konsole sehen wo dieser Befehl eingegeben wurde und ausgeführt wurde. Ich hoffe das ist jetzt verständlicher :)

  • ??
    Verstehe ich nicht ganz.
    Erstell einfach einen Starter.


    Egal.
    Du willst zwei sachen in einer Zeile machen. Entweder die Befehle trennen oder untereinander schreiben.
    Dein Script sollte dann so in etwa aussehen :

    Bash
    #!/bin/sh
    # hier wird die Variable gesetzt
    FR24AUTHIP=83.140.247.20
    #hier das Program mit dem Parameter aufgerufen.
    fr24feed_arm-le_232s --fr24key=XXX


    Inwieweit da jetzt eine Ausgabe von dem Programm kommt, keine Ahnung.

    Offizieller Schmier und Schmutzfink des Forum.
    Warum einfach wenn's auch schwer geht ?


    Kein Support per PN !
    Fragen bitte hier im Forum stellen. So hat jeder etwas davon.

  • :D Also irgendwie reden wir an einander vorbei.
    Alsoooo...
    Wenn ich die Konsole auf mache und den Befehl eingebe funktioniert alles wunderbar. Ich habe also ein Konsolenfenster offen und dort bekomme ich die Informationen die ich haben will angezeigt.


    Wenn ich jetzt aber ein Shellscript mache und das Shellscript ausführe, wird zwar der Prozess ausgeführt (ich kann ihn im Taskmanager sehen), jedoch sehe ich auf dem Desktop keine Konsole. Ich hätte also gerne nachdem ich das Shellscript ausgeführt habe eine Konsole offen wo dieser befehl eingegeben wurde.
    Trotzdem danke für die Mühe :)

  • Jetzt wird die Sache klarer. Du möchtest den Befehl nicht ständig neu eingeben. Dann kannst du die Historyfunktion der Shell benutzen indem du die Curortasten benutzt. Damit kannst du die letzten Befehle aufrufen. Ich hoffe das ist das was du machen willst.

    waren das Zeiten, als Ordner noch Verzeichnisse waren

  • Wenn man ein Terminal sehen will, muss man auch ein Terminal aufrufen. Woher soll denn das aufgerufene Programm denn wissen, wo es die Ausgabe hinschreiben soll.


    Also mal mit dem guten alten xterm versuchen, dass tausende Parameter kennt:


    xterm -hold -e Programmaufruf


    -holt muss sein, weil das Terminal sonst sofort wieder verschwindet.


    Good luck

    Keep it simple [,&] stupid

  • Hi Clamb,


    ok - mit anderen Worten: Du willst ein (Desktop-) Icon, das bei Doppelklick ein Kommando ausführt.


    Gut ... zunächst mal das Kommando in ein shell-script - wie Imperator schon vorgegeben hatte:



    Bash
    #!/bin/sh
    # hier wird die Variable gesetzt
    FR24AUTHIP=83.140.247.20
    #hier das Program mit dem Parameter aufgerufen.
    fr24feed_arm-le_232s --fr24key=XXX


    dann das übliche chmod +x und gut ist.
    Sicherheitshalber würde ich das script und evtl. dazugehörige Programme/scripte nach z.B. /usr/local/bin verschieben und evtl. Pfade anpassen, damit Du es nicht mal versehentlich löscht. Aber halt erst wenn alles funktioniert.


    Jetzt bin ich kein Freund von kunterbunten Klickeroberflächen, u.a. weil ich in der Vergangenheit die Feststellung machen musste, dass unter verschiedenen Oberflächen und Desktopmanagern alles immer irgendwie anders funktioniert.
    Für den Pi habe ich jetzt folgendes:





    auf Raspberry Pi.org entdeckt.


    Rein theoretisch kannst Du jetzt entweder hier direkt das Kommando oder den Aufruf des Kommandos einfügen.


    Ich hoffe, das hilft Dir ein wenig weiter,
    -ds-