Bash-如何在URL中转义下划线

时间:2019-03-13 14:38:31

标签: bash macos terminal wget

我在bash上的macOS中有一个小脚本,在这里我使用日期为19000105的数组,格式为yyyymmdd

在该脚本中,我将该数组的日期解析为如下循环:

for i in "${list[@]}"; do
    wget -A pdf -nc -E -nd --no-check-certificate URL$iURL$i_tif.pdf
done

其中wget打开URL以下载pdf。为了使其正常工作,我需要将日期两次添加到URL的不同部分。

但是,URL在插入日期之后立即在一个点处包含一个下划线,它看起来应像这样:19000105_tif/jpegs/

我以为我需要添加像{$i}_tif/这样的大括号来转义,但是,URL像%7B18500105%7D_tif/一样被解析,这是错误的。

如果我留下像$i_tif/这样的大括号,则会像/jpegs/那样解析URL,其中日期和tif之前的部分完全不会被解析并且完全消失了。

如何在紧随其后的URL中正确添加日期并添加下划线?

1 个答案:

答案 0 :(得分:2)

使用${i}代替$i应该可以解决此问题