Я пытаюсь собрать небольшой пакетный скрипт для загрузки файлов, который принимает URL-адрес в качестве первого параметра и локальное имя файла в качестве второго параметра. В ходе тестирования я узнал, что он срабатывает из-за пробелов в выходном имени файла, поэтому я попытался использовать sed, чтобы избежать их, но он не работает.
#!/bin/bash
clear
echo Downloading $1
echo
filename=`sed -e "s/ /\\\ /g" $2`
echo $filename
echo eval curl -# -C - -o $filename $1
но я получаю сообщение
sed: outfile.txt: Нет такого файла или каталога
, в котором предлагается попытаться загрузить выходной файл в качестве входного для sed вместо обработки выходного имени файла как строкового литерала.
Какой будет правильный синтаксис здесь?