使用 Bash 和 wget 进行变量解析

使用 Bash 和 wget 进行变量解析

我试图在一个简单的 bash 脚本中使用 wget 从 Axis 相机抓取 jpeg 图像。此脚本输出一个名为 JPEGOUT 的文件,而不是所需的输出,后者应该是时间戳 jpeg(例如:201209292040.jpg)。将 wget 语句中的变量从 JPEGOUT 更改为 $JPEGOUT 会导致 wget 失败并出现“wget:缺少 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`

相关内容