ubuntuusers.de

curl komando funzt nicht

Status: Ungelöst | Ubuntu-Version: Ubuntu 18.10 (Cosmic Cuttlefish)
Antworten |

hasilein

Anmeldungsdatum:
6. April 2019

Beiträge: Zähle...

Hallo,

ich hab ein bash erstellt aber leider funktioniert nicht der curl befehl ohne den loop und if funktioniert es was mach ich hier falsch?

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/bin/bash

do
        echo "Geandert $LINE"
        echo "Ausgabe $LINE"


        if [[ $LINE = *jpg* ]]; then
                echo "Yes"
                search="CREATE"
                prefix=${LINE%%$search*}
                echo "Prefix"
                echo ${#prefix}
                var="${LINE:0:${#prefix}}"
                echo "${var}"
                echo "Bild"
                bild="/var/www/html/media/$var"
                echo $bild
        
                curl -s -F "token=xxxx" -F "user=xxx" -F "message=meldung" -F "device=telefon" -F "attachment=@${bild}" "https://api.pushover.net/1/messages.json"

        fi
done

Bearbeitet von sebix:

Bitte verwende in Zukunft Codeblöcke, um die Übersicht im Forum zu verbessern!

sebix Team-Icon

Ehemalige

Anmeldungsdatum:
14. April 2009

Beiträge: 5584

Wo ist hier die Schleife? Da fehlt der ganze Schleifenkopf.

hasilein

(Themenstarter)

Anmeldungsdatum:
6. April 2019

Beiträge: 3

sorry nicht richtig rein kopiert

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/bin/bash

inotifywait --format "%f %e" -mre create /var/www/html/media | while read LINE

do
        echo "Geandert $LINE"
        echo "Ausgabe $LINE"


        if [[ $LINE = *jpg* ]]; then
                echo "Yes"  
                search="CREATE"
                prefix=${LINE%%$search*}
                echo "Prefix"
                echo ${#prefix}
                var="${LINE:0:${#prefix}}"
                echo "${var}"
                echo "Bild"
                bild="/var/www/html/media/$var"
                echo $bild
                echo "ZZ"
                curl -s -F "token=xxx" -F "user=xxx" -F "message=meldung" -F "device=iPhone" -F "attachment=@${bild}" "https://api.pushover.net/1/messages.json"

        fi
done

Bearbeitet von rklm:

Codeblock korrigiert. Bitte beachte Forum/Syntax oder nutze die Icons über dem Textfeld!

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

was mach ich hier falsch?

  1. Groß- / Kleinschreibung benutzen, wie es halt im deutschen so üblich ist. Siehe auch Punkt 5 Verhaltenskodex.

  2. Zumindest mal versuchen, ein paar Satzzeichen an geeigneter Stelle zu setzen, macht den Post lesbarer.

  3. "funktioniert nicht" ist keine aussagekräftige Fehlermeldung. Was passiert genau? Nichts? Bekommst du eine Felhermeldung? Explodiert dein Rechner? Fällt das Internet aus, aber dein Skript läuft weiter?

Gruß, noisefloor

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13216

Ein Fehler könnte schon mal sein, dass inotifywait auf Event "create" wartet anstatt auf "close". Du willst ja, dass die Datei vollständig geschrieben ist, bevor Du irgendwas damit machst.

hasilein

(Themenstarter)

Anmeldungsdatum:
6. April 2019

Beiträge: 3

Also das script läuft ohne zu Meckern durch ich bekomme auch die Ausgabe "ZZ" aber es kommt nichts bei meinen Handy an sprich die Pushover meldung. In­te­r­es­santerweise wenn ich aber ein test script mit dem folgenden Inhalt laufen lasse klappt es und ich bekomme eine Meldung:

#!/bin/bash



bild="/var/www/html/media/vi_0020_20190406_215952.mp4.v0020.th.jpg"


curl -s -F "token=xxx" -F "user=xxx" -F "message=meldung" -F "device=iPhone" -F "attachment=@${bild}" "https://api.pushover.net/1/messages.json"

sebix Team-Icon

Ehemalige

Anmeldungsdatum:
14. April 2009

Beiträge: 5584

Wenn du set -x am Beginn einfuegst, sieht du welche Kommandos ausgefuehrt werden. Damit kannst du u.a. erkennen, ob der Pfad zur Bilddatei gueltig ist, bzw welchen Wert die Variablen haben. Mit set -e kannst du ausserdem einstellen, dass bei Fehler angebrochen werden soll.

Antworten |