Übergabe Sonderzeichen bei ssh

  • Hallo,


    ich versehe alle meine Aufnahmen mit Prüfsummen, jedoch einige Aufnahmen liegen auf einem Server, wo ich gern die Erstellung und Prüfung der Prüfsummen lokal ausführen möchte. Dazu habe ich die Scripte schon fertig, auch das andere Verzeichniss auf den Servern wird beachtet, nur einige Aufnahmen machen mir Probleme:


    Code
    /video2/Ice_Age_2_-_Jetzt_taut's/2010-04-05.16.55.50.99.rec

    wird in der Variable $rec im folgenden Stück an den fernen Server gegeben:

    Code
    err="$(ssh ${server[$linkdir]} "cd '${videodir[$linkdir]}/${rec#/*/}'; md5sum -c md5sum.vdr >/dev/null")"

    in ${videodir[$linkdir]} steht das Ersatztverzeichniss auf dem Server. Dabei kommt die Fehlermeldung:

    Code
    bash: -c: line 0: unexpected EOF while looking for matching `''
    bash: -c: line 1: syntax error: unexpected end of file

    wie bekomme ich das Zeichen ' richtig an den Server übermittelt?


    Hardy

    Suche: 6 Richtige für die nächste Lottoziehung
    PS: Wer Rechtschreibfehler findet, darf sie behalten!

    Einmal editiert, zuletzt von HFlor ()

  • Hi,


    da musst Du noch das Hochkomma weg-sed-en, z. B. in ein "\'" wandeln.


    Grüße joker

    HW VDR: Thermaltake DH102 | Gigabyte GA-M720-US3 | AMD 270u | 8GB RAM | 120GB SSD System + 3TB HDD Daten | L4M Cine CT V6 + Flex S2 | Zotac GT630 | Futaba MDM166A | Atric IR-Einschalter Rev. 5 | NEC P553 | SEDU + 96 PIX | Pioneer SC-LX85 | Jamo S606
    SW VDR: Debian Wheezy | Kernel 3.2.0-4-amd64 | Mate 1.6 | VDR 2.2.0 | nVidia 331.79 | LIRC 0.9.0 | media_build_experimental | Plugins: permashift 1.0.3, softhddevice 0.6.1rc1-git, menuorg 0.5.1, skinnopacity 0.1.3, tvscraper 0.2.0-git, seduatmo 0.0.2-git, mplayer 0.10.2-hg, fritzbox 1.5.3, vdradmin-am 3.6.9, femon 1.7.19, targavfd 0.3.0, span 0.0.7, dvd 0.3.6-cvs, graphtftng 0.4.10-git, extrecmenu 1.2.4-git, epgsearch 1.0.1-git, block 0.1.2-git, cpumon 0.0.6a, ac3mode 0.1, HD-- 1.0.0-hg, u. v. a. ...

  • Hallo joker,


    das hatte ich schon versucht, auch das einfügen von dem Zeichencode 047 für das ' Zeichen. Aber alles vergeblich.


    Ich habe den sed-Ausdruck einfach mal noch etwas erweitert, und nun geht es. Ich weiß zwar nicht warum, aber bei dieser Anzahl von Backslashs ist mir das egal.



    Code
    recs="$(echo "$rec" | sed "s/'/'\\\\''/g")"
    err="$(ssh ${server[$linkdir]} "cd '${videodir[$linkdir]}/${recs#/*/}'; md5sum -c md5sum.vdr 2>&1 >/dev/null")"


    Hardy

    Suche: 6 Richtige für die nächste Lottoziehung
    PS: Wer Rechtschreibfehler findet, darf sie behalten!

  • Hi,


    Code
    ~# echo "/video2/Ice_Age_2_-_Jetzt_taut's/2010-04-05.16.55.50.99.rec" | sed s/\'/\\\\\'/
    /video2/Ice_Age_2_-_Jetzt_taut\'s/2010-04-05.16.55.50.99.rec


    (das ist aber auch 'ne harte Nuss ;) )


    Grüße joker

    HW VDR: Thermaltake DH102 | Gigabyte GA-M720-US3 | AMD 270u | 8GB RAM | 120GB SSD System + 3TB HDD Daten | L4M Cine CT V6 + Flex S2 | Zotac GT630 | Futaba MDM166A | Atric IR-Einschalter Rev. 5 | NEC P553 | SEDU + 96 PIX | Pioneer SC-LX85 | Jamo S606
    SW VDR: Debian Wheezy | Kernel 3.2.0-4-amd64 | Mate 1.6 | VDR 2.2.0 | nVidia 331.79 | LIRC 0.9.0 | media_build_experimental | Plugins: permashift 1.0.3, softhddevice 0.6.1rc1-git, menuorg 0.5.1, skinnopacity 0.1.3, tvscraper 0.2.0-git, seduatmo 0.0.2-git, mplayer 0.10.2-hg, fritzbox 1.5.3, vdradmin-am 3.6.9, femon 1.7.19, targavfd 0.3.0, span 0.0.7, dvd 0.3.6-cvs, graphtftng 0.4.10-git, extrecmenu 1.2.4-git, epgsearch 1.0.1-git, block 0.1.2-git, cpumon 0.0.6a, ac3mode 0.1, HD-- 1.0.0-hg, u. v. a. ...

Jetzt mitmachen!

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