• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

mit Skript neue Konsole öffnen und darin Befehl ausführen

André:-)

Member
Hi,

ich möchte mir auf dem Desktop ein Shell-Skript erstellen, mit dem ich die Konsole öffne und dann einen Befehl in die Konsole schreibe, der entweder noch mit "enter" bestätigt werden muss, oder direkt ausfgeführt wird.

Ich habe schon ein paar Dinge ausprobiert, die haben aber nicht funktioniert. Wer kann mir helfen?
 

TeXpert

Guru
dann wird eine neue Shell (Subshell) direkt mit dem Kommando ausgeführt

ich befürchte, der OP will keine neue Shell starten sondern das Programm Konsole starten ([0]) und darin etwas ausführen

so eine (IMHO) unsinnige Idee wollte ich noch nie lösen, aber wenn, dan nwürde ich mich mit dem dcop-Interface von konsole auseinandersetzen, ob man da einen Job starten kann...






[0] ich finds traurig, dass die Leuts den Unterschied nicht verstehen...
 
OP
A

André:-)

Member
Warum unsinnig? Wie macht man es denn besser?

Ich habe einen Befehl, den ich öfters in einer Konsole ausführen muss, ihn aber immer wieder vergesse. Ich möchte mir also ein Icon auf dem Desktop legen. Dann soll eine Shell starten und der Truecrypt-Befehl soll dort stehen, oder in der Shell ausgeführt werden.

Was heißt OP und IMHO?
 

TeXpert

Guru
Du hast gesagt:
Code:
mit dem ich die Konsole öffne und dann einen Befehl in die Konsole schreibe

darauf bezog sich das.

ansonsten:

für Scripte die Du Dir nicht merken willst -> als Shellscript schreiben und dann als Verknüpfung auf dem Desktop

für Befehle -> einen alias definieren -> dann lassen sich auch längere Befehle kurz aufrufen


wenn es denn unbedingt interaktiv in der Konsole sein muss, dann über dcop



script-fähige konsole starten,
dann kannst Du mit
Code:
dcop $konsole konsole sendSession "foobar"
oder
Code:
dcop $konsole konsole sendAllSessions "foobar"

arbeiten
 
TeXpert schrieb:
wenn es denn unbedingt interaktiv in der Konsole sein muss, dann über dcop
Sicher?

Ich würde das ehrlich gesagt anders machen:

- Shell-Skript wie gewohnt erstellen
- passende .desktop-Datei dazu erstellen
- in der .desktop-Datei diese Zeile einfügen:
Code:
Terminal=true
=> Wenn man das Icon zur .desktop-Datei anklickt, wird das Skript im zum Desktop passenden Terminal-Emulator ausgeführt
 

ukd

Newbie
Wie wär's mit

xterm -e 'mein_skript'

oder

xterm -e 'bash -c mein_skript meine_optionen'

mein_skript kann dann beliebig viele read-Kommandos enthalten.
Es muß auch nicht unbedingt xterm sein; jeder andere Fenstertyp
tut's auch.
 
Oben