Bash-Skript per Makro starten

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Bash-Skript per Makro starten

Re: Bash-Skript per Makro starten

von Rudi.RG » Mi, 01.08.2007 14:02

Hallo,
so etwas habe ich auch gesucht, und es funktioniert prächtig.
Aber, wo hast Du diesen Befehl her?

Im Programmierhandbuch habe ich lediglich Folgendes gefunden:
-------
Shell
External programs can be started using the Shell function.

Shell(Pathname, Windowstyle, Param)

Pathname defines the path of the program to be executed.
Windowstyle defines the window in which the program is started. The following values are possible:
0 - The program receives the focus and is started in a concealed window.
1 - The program receives the focus and is started in a normal-sized window.
2 - The program receives the focus and is started in a minimized window.
3 - The program receives the focus and is started in a maximized window.
4 - The program is started in a normal-sized window, without receiving the focus.
6 - The program is started in a minimized window, the focus remains in the current window.
10 - The program is started in full screen mode.

The third parameter, Param, permits command line parameters to be transferred to
the program to be started.
---------------

Damit wird das Skript zwar auch gestartet, aber das Terminalfenster nicht angezeigt, ganz egal, welchen Wert man für "Windowstyle" eingibt.

Viele Grüße
Rudi

von jkl » Do, 22.02.2007 09:53

Also ich habe jetzt noch einmal den obigen Code versucht. Beim ersten Start hat es zu einer Nachfrage geführt, ob ich das Skript wirklich starten möchte. Danach ist der Konqueror abgestürtz. Das tut es jetzt immer direkt.

Das Skript soll übrigens lediglich einige Dateien umbenennen. Aber ich möchte in Zukunft noch andere Skripte starten können, so dass ich eigentlich schon ein Skript starten möchte...

Danke dennoch

J. Kleis

von Karolus » Do, 22.02.2007 09:38

Hallo

Ich hab hier mal getestet, ein 'test.sh' Script erstellt in '/home' gespeichert, ausführbar gemacht ( 'chmod a+x ./test.sh' auf der Kommandozeile ! )

Danach lief es aus OOo-basic mit Stephans Code:

Code: Alles auswählen

Sub script_starten
Dim starten as object
starten = createUnoService("com.sun.star.system.SystemShellExecute")
starten.execute(ConvertToUrl("/home/test.sh"), "", 0)
End Sub

Mit einem einfachen 'shell(.....)' wie von mir vorgeschlagen funktioniert es nicht,
(Fehlermeldung : Datei nicht gefunden)

Woraus besteht denn der Inhalt des Skripts, evtl kannst du diesen Inhalt direkt im Makro übernehmen ??

Gruß Karo

von jkl » Do, 22.02.2007 07:48

Danke für den Tipp. Funktioniert leider auch nicht. Weiß denn niemand, welches "Programm" das Skript ausführt? :?:

J. Kleis

von Karolus » Mi, 21.02.2007 21:11

Hallo

Evtl. läuft es mit der Syntax:

Code: Alles auswählen

...
Shell("file:///home/skript.sh",1)
...
du hast skript.sh aber nicht als script.sh benannt ?

Gruß Karo

von jkl » Mi, 21.02.2007 20:31

Da ich genau deiner Meinung bin (Skript ist kein Programm), hab' ich eben kein Problem mit dem Shell-Befehl. Aber ist ja auch egal... Jedenfalls geht auch deine Variante nicht. Wenn also ein Linuxer weiß, wie das Programm für Skripte heißt, dann bitte kurz antworten...

Danke

J. Kleis

von Stephan » Mi, 21.02.2007 18:01

habe ich kein Problem mit dem Shell-Befehl (vermute ich jedenfalls), sondern damit, dass der Aufruf Shell("/home/skript.sh",1) z.B. nicht funktioniert
Du hast kein Problem mit dem Shell-Befehl obwohl genau Dieser nicht funktioniert ... verstehe ich eher nicht

Mein Problem ist hingegen das ich mich mit Linux nicht auskenne und somit nur vermuten kann das ein ShellScript i.d.S. keine Anwendung (=Programm) ist. Falls ja, kann SHELL nicht funktionieren, weil das nur Programme startet.
Versuche stattdessen:

Code: Alles auswählen

Sub script_starten 
Dim starten as object 
starten = createUnoService("com.sun.star.system.SystemShellExecute") 
starten.execute(ConvertToUrl("/home/skript.sh"), "", 0) 
End Sub


Gruß
Stephan

von jkl » Mi, 21.02.2007 16:59

Sorry, aber wie ich offenslichtlich nicht deutlich genug herausgearbeitet habe :?, habe ich kein Problem mit dem Shell-Befehl (vermute ich jedenfalls), sondern damit, dass der Aufruf Shell("/home/skript.sh",1) z.B. nicht funktioniert. Ich vermute weil ich das skript mit dem "Programm" aufrufen muss. Ich habe bereits Shell("sh /home/skript.sh",1) versucht, aber es passiert einfach nichts.

Danke dennoch

J. Kleis

von komma4 » Mi, 21.02.2007 12:22

In der Online-Hilfe, Runtime-Funktionen, findest Du den shell() Befehl....


Grüsse vom Pool ;-)

Bash-Skript per Makro starten

von jkl » Mi, 21.02.2007 11:41

Hallo,

ich habe folgendes Problem: Ich möchte unter Linux per Makro ein Skript starten. Für Perl habe ich ja gelesen wie es geht, aber wie ist der Aufruf der Bash unter Linux. Habe bereits einiges ausprobiert, geht aber irgendwie nicht. Wahrscheinlich für einen alten Linux-Hasen eine Leichtigkeit, aber ich komm grad nicht weiter.

Danke!

J. Kleis

Nach oben