Bash-Skript per Makro starten
Moderator: Moderatoren
Bash-Skript per Makro starten
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
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
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
In der Online-Hilfe, Runtime-Funktionen, findest Du den shell() Befehl....
Grüsse vom Pool
Grüsse vom Pool

Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
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

Danke dennoch
J. Kleis
Du hast kein Problem mit dem Shell-Befehl obwohl genau Dieser nicht funktioniert ... verstehe ich eher nichthabe ich kein Problem mit dem Shell-Befehl (vermute ich jedenfalls), sondern damit, dass der Aufruf Shell("/home/skript.sh",1) z.B. nicht funktioniert
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
Hallo
Evtl. läuft es mit der Syntax:
du hast skript.sh aber nicht als script.sh benannt ?
Gruß Karo
Evtl. läuft es mit der Syntax:
Code: Alles auswählen
...
Shell("file:///home/skript.sh",1)
...
Gruß Karo
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:
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
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
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
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
Re: Bash-Skript per Makro starten
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
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