Variablenanalyse mit Bash und wget

Variablenanalyse mit Bash und wget

Ich versuche, wget in einem einfachen Bash-Skript zu verwenden, um ein JPEG-Bild von einer Axis-Kamera abzurufen. Dieses Skript gibt eine Datei mit dem Namen JPEGOUT aus, statt der gewünschten Ausgabe, die ein JPEG mit Zeitstempel sein sollte (z. B. 201209292040.jpg). Wenn die Variable in der wget-Anweisung von JPEGOUT in $JPEGOUT geändert wird, schlägt wget mit dem Fehler „wget: URL fehlt“ fehl.

Das Merkwürdige ist, dass wget die Variable $IP korrekt analysiert. Beim Ausgabedateinamen hatte ich kein Glück. Ich habe einfache Anführungszeichen, doppelte Anführungszeichen und Klammern ausprobiert, aber alles ohne Erfolg.

Hier ist das Skript

!/bin/bash

IP = 1 USD

JPEGOUT= Datum +%Y%m%d%H%M.jpg

wget -O JPEGOUT http://$IP/axis-cgi/jpg/image.cgi?resolution=640x480&compression=25

Irgendwelche Ideen, wie der Ausgabedateiname richtig analysiert werden kann?

Antwort1

JPEGOUT= date +%Y%m%d%H%M.jpggibt einen Fehler aus. Versuchen Sie:

#!/bin/bash

IP=$1

JPEGOUT=$(date +%Y%m%d%H%M.jpg)

wget -O $JPEGOUT http://$IP/axis-cgi/jpg/image.cgi?resolution=640x480&compression=25

Antwort2

Verwenden Sie die Befehlsersetzung, um den Datumsbefehl auszuführen und die Ausgabe abzurufen:

JPEGOUT=`date +%Y%m%d%H%M.jpg`

verwandte Informationen