Script Variable erweitern

  • Hallo !


    Ich bin grad am probieren ein script fuer mich zu schreiben.
    Ich habe eine Variable die üebergeben wird und ich moechte diese gerne "erweitern" .
    z.B. die Variable $1 => Name
    wie kann ich jetzt im Script Name.ext1 und Name.ext2 abfragen (z.B. ob die Datei existiert.
    Wie man das mit "test" macht weiss ich nur wie kriege ich das mit der Erweiterung hin ?


    Gruss Gerd

    vdr => p8b75-m lx / pentium g2020t / 8 GB Ram / zotac gt 630 / cine S2 V5.5 / 60 gb ocz ssd / 640 gb wd scorpio blue / display noritake 256x64-3900 / chenbro PC71023 gehaeuse / yavdr stable / softhddevice


    spielsystem => p8b75-m le / intel core i3 3220T / ubuntu lts 14.04 / 16 GB ram / zotac gt 630 / cine S2 V6.2 / yavdr stable pakete / softhddevice / pulseaudio+alsa


    spielwiese => Zotac Zbox ID45 / 120 GB mSATA / via Satip => Octopus Net / yavdr stable / softhddevice

  • Ne das wuerde passen.... nur in dem Fall muesste ich die Variable im Script fest belegen weil die nicht von aussen kommt



    Code
    EXT1="_main.xml"
    EXT2="_main.list"



    Gruss Gerd

    vdr => p8b75-m lx / pentium g2020t / 8 GB Ram / zotac gt 630 / cine S2 V5.5 / 60 gb ocz ssd / 640 gb wd scorpio blue / display noritake 256x64-3900 / chenbro PC71023 gehaeuse / yavdr stable / softhddevice


    spielsystem => p8b75-m le / intel core i3 3220T / ubuntu lts 14.04 / 16 GB ram / zotac gt 630 / cine S2 V6.2 / yavdr stable pakete / softhddevice / pulseaudio+alsa


    spielwiese => Zotac Zbox ID45 / 120 GB mSATA / via Satip => Octopus Net / yavdr stable / softhddevice

  • Ist denn die Extension überhaupt relevant? Wenn nicht könnte man eine Wildcard verwenden.


    Willst du eine Aktion, wenn beide Dateien da sind, oder willst du pro Datei eine Aktion haben?
    Ich verstehe noch nicht so ganz, was du eigentlich vor hast...

  • Hi !


    Es muessen beide Dateien existieren =>
    Datei 1 => Datei die kopiert werden soll
    Datei 2 => Liste welche die Namen enthält wie die Datei sonst nochheissen soll.


    Erläuterung:
    Ich hab ein Config File fuer eine Anlage auf der verschiedene Lenkräder gefertigt werden sollen die Artikelnummern sind unterschiedlich (Farbe usw) aber die elektrischen Eigenschaften sind gleich.
    Sprich ich kriege vom übergeordneteten Leitsystem eine 15-stellige Artikelnummer wobei ich bei 100 unterschiedlichen Typen real nur 10 verschiedene Configs brauche.
    Der Hintergedanke ist der => aendert sich die geflashte Software muss man statt 100 xml Files nur 10 anpassen :D
    Leider muss ich die Dinger kopieren. da der Windows Share symlinks nicht unterstuetzt....


    Gruss Gerd

    vdr => p8b75-m lx / pentium g2020t / 8 GB Ram / zotac gt 630 / cine S2 V5.5 / 60 gb ocz ssd / 640 gb wd scorpio blue / display noritake 256x64-3900 / chenbro PC71023 gehaeuse / yavdr stable / softhddevice


    spielsystem => p8b75-m le / intel core i3 3220T / ubuntu lts 14.04 / 16 GB ram / zotac gt 630 / cine S2 V6.2 / yavdr stable pakete / softhddevice / pulseaudio+alsa


    spielwiese => Zotac Zbox ID45 / 120 GB mSATA / via Satip => Octopus Net / yavdr stable / softhddevice


  • Sowas in der Art? (Achtung: Frei aus dem Kopf geschrieben. Muss nicht funktionieren)

  • Jo Danke erst mal...
    Das script existierte schon nur eben mit 3 Parametern ich wolltes das Ganze auf 2 redzuzieren und vereinfachen...
    Muss nachher mal dran... erst mal wieder ein paar Teile flashen... :(


    Gruss Gerd

    vdr => p8b75-m lx / pentium g2020t / 8 GB Ram / zotac gt 630 / cine S2 V5.5 / 60 gb ocz ssd / 640 gb wd scorpio blue / display noritake 256x64-3900 / chenbro PC71023 gehaeuse / yavdr stable / softhddevice


    spielsystem => p8b75-m le / intel core i3 3220T / ubuntu lts 14.04 / 16 GB ram / zotac gt 630 / cine S2 V6.2 / yavdr stable pakete / softhddevice / pulseaudio+alsa


    spielwiese => Zotac Zbox ID45 / 120 GB mSATA / via Satip => Octopus Net / yavdr stable / softhddevice

  • if [ -e "$NAME.$EXT1" ] && [ -e "$NAME.$EXT2" ]; then


    Ich würde für das logische und "-a" verwenden, "&&" könnte etwas problematisch sein.


    vdr-User-# 755 to_h264 chk_r vdr-transcode github

  • Z.B. hier


    "&&" hat halt bei bash noch eine andere Bedeutung und kann verwechselt werden.


    vdr-User-# 755 to_h264 chk_r vdr-transcode github

  • Ich glabue jsffm bezieht sich auf die Verwechslungsgefahr beim lesen des bash-scriptes. Da && ja auch bedeutet "führe das Kommando nach demm && aus wenn das Kommando vor dem && erfolgreich ausgeführt wurde".
    Mit -a "erkennt" man eher das es sich um das logische UND handelt. Aber letzendlich wurst da beides funktioniert, es kommt halt darauf an ob derjenige der das Script liest und verstehen soll das auch weiß :)


    Grüße
    Martin

  • zum Thema.... :D


    ich verwende folgenden Aufruf:

    Code
    while read line; do cp -v DATEI1 VERZ/$line ;done < DATEI2


    jetzt habe ich aber das Problem das wenn in DATEI2 die letzte Zeile nicht bearbeitet wird wenn keine CR drin ist


    Gibts ne Moeglichkeit das zu umgehen ?


    Gruss Gerd

    vdr => p8b75-m lx / pentium g2020t / 8 GB Ram / zotac gt 630 / cine S2 V5.5 / 60 gb ocz ssd / 640 gb wd scorpio blue / display noritake 256x64-3900 / chenbro PC71023 gehaeuse / yavdr stable / softhddevice


    spielsystem => p8b75-m le / intel core i3 3220T / ubuntu lts 14.04 / 16 GB ram / zotac gt 630 / cine S2 V6.2 / yavdr stable pakete / softhddevice / pulseaudio+alsa


    spielwiese => Zotac Zbox ID45 / 120 GB mSATA / via Satip => Octopus Net / yavdr stable / softhddevice

  • OK werds mal probieren... mein erste Focus lag auf den Dateierweiterungen..
    Das Andere fiel mir auf beim intensiven testen.....


    Gruss Gerd

    vdr => p8b75-m lx / pentium g2020t / 8 GB Ram / zotac gt 630 / cine S2 V5.5 / 60 gb ocz ssd / 640 gb wd scorpio blue / display noritake 256x64-3900 / chenbro PC71023 gehaeuse / yavdr stable / softhddevice


    spielsystem => p8b75-m le / intel core i3 3220T / ubuntu lts 14.04 / 16 GB ram / zotac gt 630 / cine S2 V6.2 / yavdr stable pakete / softhddevice / pulseaudio+alsa


    spielwiese => Zotac Zbox ID45 / 120 GB mSATA / via Satip => Octopus Net / yavdr stable / softhddevice

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!