스크립트를 사용하여 "wget"에서 파일 목록을 다운로드하면 오류가 발생합니다.

스크립트를 사용하여 "wget"에서 파일 목록을 다운로드하면 오류가 발생합니다.

지정된 파일 이름을 가진 파일 목록을 다운로드하기 위해 wget을 사용하려고 합니다. 이 옵션이 없기 때문에 -i이에 대한 간단한 스크립트를 작성했습니다.

#!/bin/bash
  
FILENAME="list.txt"

LINES=$(cat $FILENAME)

IFS=$'\n'
for LINE in $LINES
do
    wget $LINE
done

list.txt의 내용은 다음과 같습니다.

-O file1.mp4 https://URL_1
-O file2.mp4 https://URL_2
-O file2.mp4 https://URL_3

하지만 그게 나한테 보여줬어이 오류:

wget: missing URL
Usage: wget [OPTION]... [URL]...

Try `wget --help' for more options.

문제는 무엇입니까?

답변1

참조 문제를 피할 수 있으며(주석에서 언급했습니다) while 루프에서 파일을 읽을 수 있습니다.

#!/bin/bash

FILENAME="list.txt"

while read -r LINE; do
    wget $LINE
done < $FILENAME

$LINE 주위에서 큰따옴표를 생략하는 나쁜 스타일에 주목하세요. 일반적으로 분할을 방지하기 위해 변수를 큰따옴표로 묶기를 원합니다.

관련 정보