지정된 파일 이름을 가진 파일 목록을 다운로드하기 위해 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 주위에서 큰따옴표를 생략하는 나쁜 스타일에 주목하세요. 일반적으로 분할을 방지하기 위해 변수를 큰따옴표로 묶기를 원합니다.