Empfohlener Weg, den Namen des laufenden Skripts zu holen?

Homematic-, TCL- und Shell-Script, Toolchain, C, etc.

Moderator: Co-Administratoren

Antworten
TinkyWinky
Beiträge: 36
Registriert: 27.08.2019, 12:14
Hat sich bedankt: 18 Mal

Empfohlener Weg, den Namen des laufenden Skripts zu holen?

Beitrag von TinkyWinky » 04.07.2021, 22:41

Welcher Weg ist der empfohlene (ressourcenschonende), um in einem laufenden Skript den Namen des laufenden Skripts als String zu bekommnen?

Ich logge gerne in meinen Programmen und verwendet einen Copy&Paste Header, der das Wichtigste dafür enthält (da es ja nichts wie #include gibt), z.B. den Namen des Programms. Derzeit muss ich den immer von Hand ändern, was nicht immer klappt und beim Auswerten der Logs für Stirnrunzeln sorgt.

MichaelN
Beiträge: 9534
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 692 Mal
Danksagung erhalten: 1604 Mal

Re: Empfohlener Weg, den Namen des laufenden Skripts zu holen?

Beitrag von MichaelN » 04.07.2021, 23:05

LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

Benutzeravatar
Baxxy
Beiträge: 10603
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 594 Mal
Danksagung erhalten: 2173 Mal

Re: Empfohlener Weg, den Namen des laufenden Skripts zu holen?

Beitrag von Baxxy » 04.07.2021, 23:28

Wenn deine Scripte individuelle Namen haben sollen, dann musst du diese natürlich auch in jedem Script pflegen.
Beispiel:

Code: Alles auswählen

string scriptname = "superduper-Testscript";
system.Exec ("logger -t LOGGERNAME -p user.debug "# scriptname #" ausgeführt!");
Alternativ holst du dir im Script noch den Namen des ausgeführten Programmes.
Beispiel:

Code: Alles auswählen

string scriptname = "superduper-Testscript";
object prg_name = dom.GetObject($this$);
system.Exec ("logger -t LOGGERNAME -p user.debug "# scriptname #" im Programm: "# prg_name #" ausgeführt!");

Antworten

Zurück zu „Softwareentwicklung für die HomeMatic CCU“