ubuntuusers.de

Shellscript automatisch "(In Terminal) Ausführen"

Status: Gelöst | Ubuntu-Version: Ubuntu 7.04 (Feisty Fawn)
Antworten |

El_Nakhla

Avatar von El_Nakhla

Anmeldungsdatum:
12. Dezember 2007

Beiträge: 401

Wohnort: 127.0.0.1

Ich habe eine neue Datei geschrieben, die mir auf Doppelklick eine Java-Datei (bzw. die dazugehörige .class) öffnet, damit ich das nicht jedes mal machen muss, wenn ich diese jetzt öffne bekomme ich natürlich folgende Meldung:

Ungültiges Makro

Dieses Makro ist nicht verfügbar

Das Problem habe ich auch bei anderen Shell-Scripten aber das ist halt eben jetzt das Beispiel...
Der Code für die Datei ist:

#!/bin/sh
wd=$(pwd)
cd workspace/TheJavaProjekt/
java VokabelProjekt.VokabelTrainer "$@"
cd $🇼🇩

Wobei natürlich
*"cd workspace/TheJavaProject" das Verzeichniss der Java ist und
*"java VokabelProjekt.VokabelTrainer " das was er tuhen soll

Meine Frage ist jetzt:
Wie schreibe ich es in den Shell-Script, dass er es ohne die Abfrage sofort entweder

*'Im Terminal ausführen' oder
*nur 'Ausführen' soll?

JuergenF

Anmeldungsdatum:
22. Oktober 2004

Beiträge: 2009

Wohnort: FFM

Da ist nicht Dein Script dran Schuld.

Das ist eine Einstellung in Nautilus, auf dem Reiter 'Verhalten' - die steht bestimmt auf 'Jedes mal nachfragen'

El_Nakhla

(Themenstarter)
Avatar von El_Nakhla

Anmeldungsdatum:
12. Dezember 2007

Beiträge: 401

Wohnort: 127.0.0.1

Danke danke - so weit so gut, aber jetzt öffnet er zum beispiel ALLE so - ich will aber, dass er die java im Terminal öffnet, da ich keine Grafische Umgebung mitgeschrieben habe - sonsern der eben alles im Terminal macht...
Also manche IM TERMINAL, andere OHNE TERMINAL... geht das auch?

FLoH.tar

Anmeldungsdatum:
6. Januar 2006

Beiträge: 470

Wenn du dir einen Starter auf den Desktop legst, kannst du in den Eigenschaften des Starters einstellen, ob das Programm im Terminal ausgeführt werden soll. Auch, wenn du für dein Programm ein Punkt im Menü haben willst, ist dies möglich: System > Einstellungen > Hauptmenü > Button "Neuer Eintrag" > Typ:[Anwendung im Terminal]

El_Nakhla

(Themenstarter)
Avatar von El_Nakhla

Anmeldungsdatum:
12. Dezember 2007

Beiträge: 401

Wohnort: 127.0.0.1

Dankeschön, funktioniert... - jedenfalls in der Theorie, also zu Hälfte... was beid er anderen Hälfte nicht stimmt finde ich abe rnoch raus, danke jedenfalls!

SpeeFak

Anmeldungsdatum:
30. Oktober 2006

Beiträge: 1171

würde das nicht einfach gehn indem du der daten nur die ausführenden rechte gibst ? ich mein ich hab das damals bei dem prob so gemacht 😉

El_Nakhla

(Themenstarter)
Avatar von El_Nakhla

Anmeldungsdatum:
12. Dezember 2007

Beiträge: 401

Wohnort: 127.0.0.1

Da müsstest du mir erklären, wie das funktioniert!
Geht das sowohl mit "In Terminal Ausführen" als auch mit "Ausführen"?
Genau so was suche ich nämlich!

Dass ich sage, "diese Datei immer so-und-so ausführen!"

MrKanister

Anmeldungsdatum:
13. Oktober 2007

Beiträge: 2105

Ausführungsrechte kannst du einer Datei mittels

chmod +x [Pfad zur Datei]

geben. Allerdings wirst du dann wenn du einen Doppelklick auf betreffende Datei machst von Nautilus trotzdem gefragt, ob du sie anzeigen oder ausführen willst

Am besten rufst du das Skript einfach über die Kommandozeile auf

Gruß

Martin

El_Nakhla

(Themenstarter)
Avatar von El_Nakhla

Anmeldungsdatum:
12. Dezember 2007

Beiträge: 401

Wohnort: 127.0.0.1

achso, ja! das habe ich schon geamcht! sie sit ausführbar!

ich will nur die Nautilus anzeige weg haben!

MrKanister

Anmeldungsdatum:
13. Oktober 2007

Beiträge: 2105

So weit ich weiß geht nur entweder "immer fragen" oder "nie fragen".

Klärt mich auf, wenns anders ist 😀

Gruß
Martin

El_Nakhla

(Themenstarter)
Avatar von El_Nakhla

Anmeldungsdatum:
12. Dezember 2007

Beiträge: 401

Wohnort: 127.0.0.1

So weit bin ich auch - aber es gibt so leider nicht die Möglichkeit, es im Terminal ausführen zu lassen, und das brauche ich.
Ich glaube, ich habe das nicht richtig erklärt:

Die Ausführbare Textdatei öffnet eine .class-Datei, also ein Java Programm.
Ich habe mich noch nicht darin eingelesen wie ich eine Grafische Umgebung für dieses Programm schreibe.
Also benutze ich das Terminal als Grafische Umgebung, sozusagen jedenfalls.

Bei anderen Programmen von mir mag das ja auch keinen unterschied darstellen ob jetzt das Terminal das öffnet oder ich es so öffne - offen ist es so oder so! Aber das hier muss halt auch im Terminal angezeigt werden!
Sorry!

JuergenF

Anmeldungsdatum:
22. Oktober 2004

Beiträge: 2009

Wohnort: FFM

Öffne in Deinem Script doch einfach ein neues Gnome-Terminal.

Dem kannst Du mit dem Parameter '--command CMD' oder kurz '-e CMD' mitgeben, dass es direkt damit loslegen soll CMD auszuführen.
Das CMD müsste dann eben der Aufruf Deines Java-Programms sein.

Vermutlich könntest Du auch noch erst gucken ($TERM), ob das Script schon in einem Terminal ausgeführt wird, und dann kein neues aufrufen.

El_Nakhla

(Themenstarter)
Avatar von El_Nakhla

Anmeldungsdatum:
12. Dezember 2007

Beiträge: 401

Wohnort: 127.0.0.1

Vielen Dank! So hatte ich mir das auch vorgestellt!

ABER - ich verstehe den "--command" Befehl nicht
(und Google versteht wiederum "–" nicht, wesshalb ich auch auf Comand&Conquer lande 😀 )

Mein Befehl sieht jetzt wie folgt aus:

#!/bin/sh
xterm
cd ..
cd workspace/TheJavaProjekt/
java VokabelProjekt.VokabelTrainer

Wobei dieser Teil ein neues Terminal öffnet...

xterm

...und dieser Teil ausgeführt werden soll:

cd ..
cd workspace/TheJavaProjekt/
java VokabelProjekt.VokabelTrainer[/[/code]

Er öffnet auch ein neues Terminal, dessen Position mein Desktop ist, jetzt sollte er nur wissen, dass er den Rest in eben diesem Terminal ausführen soll!

MrKanister

Anmeldungsdatum:
13. Oktober 2007

Beiträge: 2105

Das wird so nicht funktionieren, da du in dem Shellskript mit xterm eine Subshell aufrufst...Diese Sub shell interessiert es aber nicht, was ihre "Eltern-Shell" zu tun hat.

Ich denke mal du köntest aber in der She-Bang Zeile statt

#! /bin/sh

#! /bin/xterm

schreiben. Das sollte funktionieren.

El_Nakhla

(Themenstarter)
Avatar von El_Nakhla

Anmeldungsdatum:
12. Dezember 2007

Beiträge: 401

Wohnort: 127.0.0.1

Nein, entschuldige! Funktioniert nicht!

Der Code sieht jetzt so aus:

#!/bin/xterm
xterm
cd ..
cd workspace/TheJavaProjekt/
java VokabelProjekt.VokabelTrainer

Wenn ich in der Nautilus anchfrage aus "Ausführen" drücke kommt gar nichts, bei "Im Terminal ausführen" kommt natürlich kurz das Terminal Fenster, welches sich aber ganz schnell wieder schließt!

Anders: was wäre dennd er Befehl, ein neues Terminal-Fenster zu öffnen?

Antworten |