PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Zvie schleifennummer an bash übergeben.



realshiva
12.02.2008, 04:09
hi leute, ich habe mir gerade monitor installiert, und will eine zvie schleifennummer an ein bash script übergeben. hab im man sowie im wiki nix gefunden wie das funktionieren soll :-)
sollte es nicht machbar sein, so währe es SUPER wenn sich jemand hinsetzten würde und für mich nen kleinen patch bastelt. weil ich 0 ahnung im bereich c habe :-) danke im vorraus!

stoepf
12.02.2008, 09:39
Wie wäre es wenn du einfach die entsprechende Nummer übergibst?
Du musst ja sowieso einen Eintrag der Form
ZVNAME 12345 [/dir/bash.sh 12345] HiOrg 1

Die genaue Syntax müsst ich erst nachschauen, aber so sollte es funktionieren.

Gruß Stöpf

funkwart
12.02.2008, 11:43
Ich stecke leider nicht wirklich tief im Code drin. Ich denke aber, es ist so gemeint wie beim POCSAG mit dem %T bzw. %R für die Übergabe des Textes bzw. der RIC.
Ich habe gefunden, wo das in der pocsag.c abgefangen bzw. erzeugt wird: ab Zeile 520. Vielleicht kann ja jemand, der sich mit dem Code auskennt, sowas mal für das ZVEI-Modul einbauen?!

Danke und Gruß,
Funkwart

realshiva
12.02.2008, 14:43
und das ist halt doof, weil ich nicht für alle 99999 schleifen ne eigene zeile schreiben will :-)


ZVNAME ***** [/blub/bla.SH %t] KLD

so sollte es am besten aussehen :-)

funkwart
12.02.2008, 15:22
ZVNAME ***** [/blub/bla.SH %t] KLD
so sollte es am besten aussehen :-)

Sinnvollerweise wohl eher ZVNAME **** [/blub/bla.sh %s] KLD.
%t ist ja für die Meldung in POCSAG vorgesehen und
%r für die RIC.
%s für ZVEI-Schleife wäre also durchaus angebracht. Aber das ist ja nur nebensächlich. Entscheidend ist, dass einer der Coder das mal mit einbaut...

FREIWILLIGE VOR!!!

Gruß,
Funkwart

stoepf
12.02.2008, 22:27
Mit folgendem kleinen Bashscript könntest du die Schleifen automatisch erzeugen und an das .monrc anhängen.

#! /bin/bash
for N in `seq 0 9`; do
echo ZVNAME 0000$N [./bash.sh 0000$N] Schleife 0000$N
done
for N in `seq 10 99`; do
echo ZVNAME 000$N [./bash.sh 000$N] Schleife 000$N
done
for N in `seq 100 999`; do
echo ZVNAME 00$N [./bash.sh 00$N] Schleife 00$N
done
for N in `seq 1000 999`; do
echo ZVNAME 0$N [./bash.sh 0$N] Schleife 0$N
done
for N in `seq 10000 99999`; do
echo ZVNAME $N [./bash.sh $N] Schleife $N
done

Viel Spaß damit

Stöpf

funkwart
14.02.2008, 09:18
Die Idee ist ja ganz neckisch, macht aber eigentlich nicht wirklich Sinn. Für jede mögliche Schleife eine extra Zeile anzulegen bläht ja nur unnötig die monrc auf. Man stelle sich nur mal vor, das aufzurufende Script bekommt einen anderen Namen o.ä. Dann fängst Du an, alle erzeugten Zeilen zu löschen und alle Zeilen neu zu erstellen.
Die eleganteste Lösung wäre tatsächlich eine Änderung im Sourcecode. Es kann ja vom Prinzip her eigentlich nicht so schwer sein, eine für eine andere Auswertung existente Routine auf ZVEI anzupassen. Ich stecke nur wie gesagt nicht weit genug im Code, als dass ich das selbst erledigen könnte. Vielleicht kann ja aml einer der Programmierer sich da kurz mit befassen. Dürfte wirklich nur eine kurze Angelegenheit sein.

Gruß,
Funkwart

stoepf
14.02.2008, 21:14
Mit Suchen und Ersetzen wäre das Umbenennen sicher auch kein Problem.
Kann mir gut vorstellen, dass der Eingriff doch aufwendiger ist.

Viel Spaß

Stöpf