![여러 명령을 중첩 루프로 결합하는 방법은 무엇입니까?](https://linux55.com/image/120375/%EC%97%AC%EB%9F%AC%20%EB%AA%85%EB%A0%B9%EC%9D%84%20%EC%A4%91%EC%B2%A9%20%EB%A3%A8%ED%94%84%EB%A1%9C%20%EA%B2%B0%ED%95%A9%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
wget
쉘 스크립트에는 , 7z
및 3개의 명령이 있습니다 rm
.
list.txt 내부
URL1 archive_01.zip
URL2 archive_02.zip
URL2 archive_03.zip
아카이브 다운로드:
while read -r url filename; do
wget -O "$filename" "$url";
done < list.txt
$ ls
아카이브_01.zip
아카이브_02.zip
아카이브_03.zip
파일의 압축을 풉니 다:
for file in *zip; do
7z x $file;
done
$ ls
archive_01.zip
archive_02.zip
archive_03.zip
폴더_01
폴더_02
폴더_03
파일 삭제:
rm *zip
이 세 가지 명령을 중첩 루프로 만드는 것이 가능합니까? 그렇다면 어떻게?
위 명령이 다음과 같이 실행될지 궁금합니다(제 기억이 맞다면).
URL1 다운로드 > URL2 다운로드 > URL3 다운로드
아카이브 추출 1 > 아카이브 추출 2 > 아카이브 추출 2
아카이브 삭제 1 > 아카이브 2 삭제 > 아카이브 3 삭제
실행을 이렇게 보이게 만드는 방법은 무엇입니까?
URL1 다운로드 > 아카이브 1 추출 > 아카이브 1
삭제 URL2 다운로드 > 아카이브 2 추출 > 아카이브 2 삭제
URL3 다운로드 > 아카이브 3 추출 > 아카이브 3 삭제
답변1
이 같은?
#! /bin/bash -
while read -r url filename; do
wget -O "$filename" "$url"
7z x "$filename"
rm -- "$filename"
done < list.txt
답변2
while read -r url filename; do
wget -O "$filename" "$url";
7z x $filename
rm $filename
done < list.txt
당신이 원하는 것을해야합니다.