Если Вы находитесь на варианте Debian, Вы имеете start-stop-daemon
доступный, который делает все это для Вас намного более чистым способом. В особенности:
start-stop-daemon --make-pidfile --pidfile "$PIDFILE" --background \
--no-close --exec "${PROGDIR}/${PROGNAME}" --start -- -l "$IPADDR" \
>> "${LOGDIR}/${OUTLOG}" 2>> "${LOGDIR}/${OUTLOG}" </dev/null
должно быть достаточно близко к тому, что Вы хотите. Это помещает PID в файл вместо в переменную, но можно, конечно, читать, это отступает в переменную легко.
Опция -O
позволяет вам указать имя файла назначения. Но если вы загружаете несколько файлов сразу, Wget
сохранит все их содержимое в файл, который вы указываете через -O
. Обратите внимание, что в любом случае файл будет усечен , если он уже существует. См. страница человека для получения дополнительной информации.
Вы можете использовать этот вариант, рассказывая WGET
, чтобы загрузить ссылки One-by-your:
while IFS= read -r url;do
fileName="blah" # Add a rule to define a new name for each file here
wget -O "$fileName" "$url"
done < list
Вы также можете взять предложение JJOAO и добавить имя файла рядом с каждым URL в файле, затем делайте:
while IFS= read -r url fileName;do
wget -O "$fileName" "$url"
done < list
, где предполагается, что вы добавили (уникальное) имя файла после каждого URL в файле (разделенный пробелом).
Вы можете захотеть взглянуть на страницу youtube-dl
manpage.
youtube-dl -a URL-file -o '-o "%(autonumber)s-%(title)s.%(ext)s"
(untested)
Упростите, не усложняйте жизнь ...
сделайте сценарий bash, назовите его list.sh и добавьте столько строк
wget url -O your-filename
wget url2 -O your-filename2
, сколько хотите, и сделайте его исполняемым
chmod 775 list.sh
, запустите его ./ list.sh