stdout (Standardausgabe) eines Skriptes in String (Linux)

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: stdout (Standardausgabe) eines Skriptes in String (Linux)

Re: stdout (Standardausgabe) eines Skriptes in String (Linux)

von komma4 » Fr, 07.08.2009 22:20

Selbstverständlich läuft Stephans Code 8)

Direkte Übergabe der Ausgabe eines Linuxbefehls (stdout) an ein Makro [beachte: Kommando in back ticks einschliessen]

Code: Alles auswählen

#!/bin/bash
soffice "macro:///Standard.Module41.de26422( `linuxbefehl` )"
Was ich nicht getestet habe ist das Verhalten, wenn das Skript OOo während einer Bearbeitung (OOo ist beschäftigt, bspw. Druckausgabe, Formatierung grosser Dokumente oder während eines Makro-"Dauerläufer") aufgerufen wird resp. der Aufruf bei OOo "eintrifft".

Re: stdout (Standardausgabe) eines Skriptes in String (Linux)

von Stephan » Fr, 07.08.2009 20:06

Entschuldige, ich habe mich da wohl etwas ungenau ausgedrückt - ich bezog mich auf komma4s Antwort und meinte mit 'falls das einfach nicht ginge' die direkte Übergabe des stdout-Kanals des im Makro aufgerufenen Skriptes an eine Variable.
Eigentlich hast Du Dich nicht falsch ausgedrückt, denn genau das macht ja mein Vorschlag(*), weshalb ich nun nicht so recht verstehe warum Du jetzt einen Umweg gehen willst.

(*)
ich nahm an es wäre zu verstehen das das aufgerufene Makro, den Wert in die Variable schreibt, genau wie Du es wolltest

Skript:

Code: Alles auswählen

'...
soffice "macro:///Standard.Module1.test(stdout)"

Makro:

Code: Alles auswählen

Global meineVariable

Sub test(x)
meineVariable = x
End Sub

Gruß
Stephan

Re: stdout (Standardausgabe) eines Skriptes in String (Linux)

von Stephan » Fr, 07.08.2009 15:09

Falls das einfach nicht ginge
Meine vorgeschlagene Lösung, die genau das tut was Du angefragt hast, funktioniert also nicht? Was für konkrete Probleme tauchen auf?


Gruß
Stephan

Re: stdout (Standardausgabe) eines Skriptes in String (Linux)

von Stephan » Fr, 07.08.2009 12:55

Du kannst in Dein Script einen direkten Makroaufruf einzubauen mittels:

Code: Alles auswählen

soffice "macro:///Standard.Module1.test(<Parameter>)"
im Prinzip geht das, einzig kann ich Dir momentan nicht sagen wie das Verhalten bei einem solchen Aufruf ist, wenn das aufgerufende Script seinerseits ursprünglich von einem Makro aufgerufen wurde.

Durchsuche ggf. das internationale Forum:
www.oooforum.org

nach entsprrechenden Hinweisen



Gruß
Stephan

Re: stdout (Standardausgabe) eines Skriptes in String (Linux)

von komma4 » Fr, 07.08.2009 11:52

Hallo Christian,

nein - dazu ist mir noch keine andere als die verwendete Lösung untergekommen.

timing-Probleme: warte im Skript (WHILE) bis die Datei erstellt wurde => FileExists [Laufzeitfunktion, s. F1 Online Hilfe]


Viel Erfolg!

Nach oben