Posts by Bert

    Hi,


    Ihr seid super :)

    Das haut soweit alles hin nun, das von rfu mit dem export (an das hab ich nicht mal gedacht), sieht jetzt insgesamt wie folgend aus

    wobei ich das mit dem Code von FireFly getestet habe, also so:


    Auch das von HelmutB mit eval haut super hin, sieht so aus:


    Also alles super, nun muss ich noch gucken mit nem array wie von seahawk1986 vorgeschlagen, aber sind jetzt schon schöne kurze Lösungen.

    Hab ja schon öfters mal arrays in Scripts eingebaut aber noch nicht für so nen Fall (steh da immer noch am Schlauch) aber das wird schon noch.


    Vielen Dank an alle Beteiligten hier :] kann man nun eigentlich als gelöst betrachten den Thread.



    Gruss

    Bert

    Hi Jungs,


    Das sind alles schöne Ansätze, aber ich steh dennoch immer wieder vor dem selben Problem.

    Ich versuch das jetzt mal besser bzw. genauer zu erklären was ich eigentlich will, es ist wie folgt;


    Ich möchte in ner Schleife interaktiv die size abfragen wobei die size is nix anderes als ne Grösse die man eingibt in Form von Zahlen

    und zwar soll das die Grösse in KiB darstellen.

    wie oft die size abgfragt wird das wiederum hängt von der Variablen parts ab, also z.b: wenn

    parts=4

    dann wird die size 4x abgefragt, bis hierher keinerlei Problem

    doch möchte ich mittels nem Zähler der mit (z=1) anfängt pro Schleifendurchlauf an die variable size ne Nummer anhängen.


    also wenn nun size gefüllt ist mit z.b: 5555555 so das echo "$size" eben 5555555 ausgibt möchte ich diese Variable (jetzt mal grob gesagt)

    quasi umbenennen so das size nachher size_1 ist und echo $size_1 die 5555555 ausgibt.

    Beim nächsten Schleifendurchlauf wird dann der Zähler erhöht mit z=$((z+1)) und dann sollte aus size mit was immer diese Variable nun gefüllt wurde

    size_2 werden usw...


    Hab da ziemlich einfach gedacht und dachte das kann doch in der bash nie ein Problem sein und es würde das folgende genügen,

    also wenn da nun wie von FireFly statt der REPLY variablen value verwendet wird:

    Code
    1. read -n 7 -p "please enter the size in KiB for size[$i]: " value

    dann dachte ich, ok ich mach mal:

    Code
    1. size_${z}=$value

    doch das klappt ja nicht.


    Dank FireFly weiss ich nun das sowas stattdessen klappt:

    Code
    1. size[$z]=$value

    doch ist das ja dennoch keine Variable die ich so weiter verwenden kann, denn ein echo $size[$z] gibt ja jetzt lediglich den Zähler aus

    also die variable z und das in eckigen Klammern.


    Vereinfacht gezeigt sieht man das Problem wie folgt am Besten denke ich:


    klappt nicht:

    Code
    1. size=5555555
    2. z=3
    3. $size${z}=$size
    4. -bash: 55555553=5555555: command not found

    hingegen ohne variable für den Zähler (z) klappt das problemlos:

    Code
    1. size=5555555
    2. size_3=$size
    3. echo $size_3
    4. 5555555


    Ich hab ne Lösung aber die benötigt keinerlei array, und braucht aber zwei while Schleifen sowie ein case und innerhalb vom case ein paar if elif Abfragen also so:

    Code
    1. if [ "$z" = "1" ] ; then
    2. size_1=$size
    3. elif [ "$z" = "2" ] ; then
    4. size_2=$size
    5. usw...


    Das klappt dann natürlich, allerdings hatte ich gehofft das kürzer hinzubekommem, ich bin nicht sicher ob sowas mit nem array und ohne den ifs

    hinzubekommen ist, doch wenn das ginge würd ich gerne wissen wie ?



    Hier mal meine derzeitige Lösung:

    wobei die Variable parts und DEV usw.. frage ich eh auch bereits an anderer Stelle interaktiv ab (das hier ist halt nur der relevante Codeschnipsel

    und damit der funktioniert (falls den jemand testen will - Script tut eh nix wirkliches bzw. gefährliches) hab ich diese Variablen derweil so darin vorgegeben.


    und so sieht das bei der Ausführung aus:


    Gruss

    Bert

    Hi seahawk1986,


    Danke.


    Dann mach ich aber irgendwas anderes falsch denn ich habs auch mit nem array probiert, mein Beispiel in Post 1 war auch nicht grade optimal gewählt.

    Also ich hatte mit array das probiert;



    Ich will halt am Ende da in dem Fall parts=4 vier Variablen haben in etwa so;


    size_1=5555555

    size_2=4444444

    size_3=3333333

    size_4=2222222


    so als ob diese Variablen fix im Script eingetragen wurden also das dann z.b: ein echo $size_1 als Ergebnis 5555555 ausgibt.

    Das gelingt mir nicht (read akzeptiert da einfach kein Dollarzeichen also ne bereits gefüllte Variable), ich könnte da ja auch REPLY nehmen stattdessen

    aber das hab ich alles schon probiert und hat mich auch nicht weitergebracht (hab wohl irgendwo nen Denkfehler).


    Klar es gibt auch andere Lösungen ich will das aber so kurz wie möglich halten, das Script oben gibt dann das aus:

    Code
    1. bash /usr/script/_testing.sh
    2. please select the size in KiB for size_1 ?5555555
    3. please answer with numbers from 0 to 9.
    4. please select the size in KiB for size_1 ?


    das geht leider völlig daneben wie man sieht.

    Das mit dem bei 0 anfangen beim array dagegen kann man eh was tun, aber das ist erstmal nur sekundär für mich.


    Ich hatte es auch schon soweit das size_1 size_2 usw.. korrekt abgefragt wurden aber die Variablen waren danach dennoch falsch gefüllt.



    Gruss

    Bert

    Hi,


    Hätte ne Frage wie folgt;


    in der Konsole;

    Code
    1. c=1
    2. var=text
    3. mappe_1=$var
    4. echo $mappe1


    Code
    1. echo $mappe_1
    2. text


    bis hierher alles klar, doch warum geht das folgende nicht;

    Code
    1. mappe_$c=$var
    2. -bash: mappe_1=text: command not found

    ist sowas überhaupt machbar ?



    Gruss

    Bert

    Hi,


    Also ich kann zumindest sagen das der fsck auch bei ner halbvollen 2Tb Platte echt sehr schnell erledigt ist (paar MInuten)

    was mit ext3 aber doch noch sehr viel länger gedauert hat (mindestens 50 MInuten).

    Ist jetzt aber aus der Erinnerung geschrieben und war noch mit yavdr-0.6 und mit der Maschine aus meiner Signatur

    (die aber veraltet ist und jetzt nicht mehr gültig ist).



    Gruss

    Bert

    Hi,


    Ich häng ein gekürztes Log unten an (zuviele Zeichen für den Post selbst).


    Was steht denn im Log, wenn du den Stick auswerfen lässt?


    Das würde ich lieber per bind-mount lösen (vgl. z.B. https://wiki.ubuntuusers.de/fs…inzelne-Ordner-einhaengen) lösen, da es einige Skripte gibt, die davon ausgehen, dass entweder /srv/vdr/video oder /srv/vdr/video.00 existieren und der eine ein Symlink auf den anderen ist.

    Danke. das werd ich dann so machen.



    Gruss

    Bert

    Hi,


    Wenn ich am VDR nen USB Stick anstöpsel wird der schön gemountet und man bekommt auch ne Meldung diesbzgl. am VDR OSD zu sehen, doch wenn ich diesen Stick später umounte und egal auch wenn ich das System runterfahre und erst am nächsten Tag wieder hochfahre und den USB Stick erneut mounte klappt zwar das Mounten weiterhin aber die OSD Meldung das der USB Stick gemountet wurde kommt hier nicht wieder.


    Ich habe beobachtet das beim Mounten immer ein Link erstellt wird in diesem Fall mit Namen USB DISK, dieser Link

    liegt dann unter /srv/vdr/video und verweist auf /media/vdr/USB DISK, das ist auch alles super gelöst, aber wenn man

    den USB Stick umountet bleibt der tote Link zurück, und irgendwie sieht es danach aus das deshalb beim späteren

    erneuten Mounten des selben USB Sticks keine OSD Meldung mehr aufscheint die besagt das der USB Stick gemountet wurde.


    Ich habe den toten Link schon einige Male manuell gelöscht, und wenn ich den selben USB Stick danach mounte kommt die OSD Meldung wieder.


    Ich bin jetzt nicht sicher ob das bei allen USB Medien so ist

    (hab auch schon einige Male andere USB Medien gemountet, da ist mir das aber nicht so aufgefallen)

    , aber nichts desto trotz warum wird der tote Link beim Umounten nicht gelöscht ?


    Vielleicht ist das auch nur bei mir hier so denn der VDR Video Dir ist hier ein Link also /srv/vdr/video verweist auf /media/linuxdata/media/video.00

    was ne Partition auf ner anderen Festplatte ist.



    Gruss

    Bert

    Hi,


    Dann lass mal sudo dpkg-reconfigure locales laufen und sorg dafür, dass die gewünschte Locale (normalerweise de_DE.UTF-8) gebaut und als Standard gesetzt wird.

    Super das hab ich grade gemacht mal gucken muss ja nun neubauen mit sudo -H ./install-yavdr.sh

    aber bevor ich das tue hast du eventuell nen Tip wie ich meine menuorg.xml in ne Rolle oder so reinbekommen damit

    die gleich nach dem neubauen aktiv ist ?



    Wie hast du denn den Ubuntu Server installiert? Abgesehen von den Images für den Raspberry Pi kann man IIRC die Locale-Settings gleich im Installer setzen.

    Ehrlich gesagt das weiss ich nicht mehr, kann mich jetzt gar nicht mehr erinnern ob ich ne locale gesetzt hatte.



    Gruss

    Bert

    Hi,



    Die und noch welche in der reccmds werden bei mir nicht übersetzt, da das ja korrekt aussieht muss es an meinem System liegen (locale)


    Wenn du einen bestehenden Eintrag ändern willst, kannst du das im Template machen. Bei einem neuen Eintrag bleibt es dir überlassen, ob du das über das Template regelst oder den Weg über die /etc/vdr/command-hooks/commands.custom.conf gehst.


    Ja Danke hab das nun in den Templates dazu für mich angepasst und die Einträge in den custom Dateien auskommentiert, das passt so auch vorerst

    (vielleicht kann man dem ja auf den Grund gehen warum das hier nicht übersetzt wird).



    Gruss

    Bert

    Hi,


    Habs nun getestet und klappt wunderbar damit in der yavdr-ansible/roles/skindesigner/tasks/main.yml


    Code
    1. # file roles/skindesigner/tasks/main.yml
    2. - name: apt | install vdr-plugin-skindesigner
    3. apt:
    4. name: vdr-plugin-skindesigner
    5. state: present
    6. - name: create a symlink for the temperatures script included in the package
    7. file:
    8. src: /usr/lib/vdr/plugins/skindesigner/scripts/temperatures.default
    9. path: /usr/lib/vdr/plugins/skindesigner/scripts/temperatures
    10. state: link


    und natürlich der Eintrag dazu in der yavdr07.yml am Besten weit unten.

    Natürlich sollte man dann auch in der /host_vars/localhost das Plugin skindesigner mit installieren lassen, da also;

    Code
    1. - vdr-plugin-skindesigner

    eintragen.



    Gruss

    Bert

    Hi,


    Also wenn man z.b: in der commands.conf liest steht da man soll die eigenen Befehle in die /etc/vdr/command-hooks/commands.custom.conf eintragen

    was ja auch klappt, nur hat man dann die Befehle doppelt im betreffenden VDR Menü da es da ja auch ne role gibt in dem Fall die;

    /yavdr-ansible/roles/vdr/templates/command-hooks/commands.yavdr.conf.j2


    Wo also sollte man am Besten ansetzen damit die Befehle nur einmal im Menü erscheinen sollte man die role einfach löschen

    oder umschreiben für seine Bedürfnisse und so auf das Bearbeiten der /etc/vdr/command-hooks/commands.custom.conf verzichten

    oder was davon ist der yavdr kompatible Weg ?


    Ich will, das nur anpassen da z.b: gerade die Befehle zur commands.conf im Menü mit teilweise Kleinschrift und in Englisch auftauchen

    , in der betreffenden role steht zwar neben jedem Befehl | translate das scheint aber nicht zu greifen.


    Was die reccmds.conf betrifft ist es das Gleiche (doppelte Befehle im Menü dann)



    Gruss

    Bert