Bash と wget による変数解析

Bash と wget による変数解析

単純な bash スクリプトで wget を使用して、Axis カメラから jpeg 画像を取得しようとしています。このスクリプトは、タイムスタンプ jpeg (例: 201209292040.jpg) であるべき目的の出力ではなく、JPEGOUT という名前のファイルを出力します。wget ステートメントの変数を JPEGOUT から $JPEGOUT に変更すると、wget が失敗し、「wget: missing URL」エラーが発生します。

奇妙なことに、wget は $IP 変数を正しく解析します。出力ファイル名はうまくいきませんでした。一重引用符、二重引用符、括弧を試しましたが、すべてうまくいきませんでした。

スクリプトはこちら

!/bin/bash

IP=$1

JPEGOUT= 日付 +%Y%m%d%H%M.jpg

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

出力ファイル名を正しく解析する方法について何かアイデアはありますか?

答え1

JPEGOUT= date +%Y%m%d%H%M.jpgエラーが発生します。次を試してください:

#!/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

答え2

コマンド置換を使用して date コマンドを実行し、出力を取得します。

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

関連情報