Bash - как избежать подчеркивания в URL

У меня есть небольшой скрипт в 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/, URL-адрес будет проанализирован как /jpegs/, где дата и tif-часть до этого вообще не анализируются и полностью исчезают.

Как я могу правильно добавить даты с подчеркиванием в URL-адресе сразу после?

🤔 А знаете ли вы, что...
Bash поддерживает множество встроенных команд для работы с файлами и процессами.


1
503
1

Ответ:

Решено

Использование ${i} вместо $i должно решить эту проблему.