저는 Ubuntu 16.04를 사용하고 있으며 동일한 디렉터리(GitHub 저장소)에서 원격 스크립트 목록을 실행하고 있습니다.
curl -s https://raw.githubusercontent.com/${user}/${repo}/master/1.sh | tr -d '\r' | bash
curl -s https://raw.githubusercontent.com/${user}/${repo}/master/2.sh | tr -d '\r' | bash
curl -s https://raw.githubusercontent.com/${user}/${repo}/master/3.sh | tr -d '\r' | bash
curl -s https://raw.githubusercontent.com/${user}/${repo}/master/4.sh | tr -d '\r' | bash
curl -s https://raw.githubusercontent.com/${user}/${repo}/master/5.sh | tr -d '\r' | bash
curl -s https://raw.githubusercontent.com/${user}/${repo}/master/6.sh | tr -d '\r' | bash
정리해고의 공포에 어떻게 대처할 것인가?
루프 를 생각했지만 for
어떻게 만드는지 모르겠습니다. 지금까지 본 루프 중 어느 것도 동일한 원격 디렉터리에 있는 여러 파일에 대해 특정 작업에 대한 패턴(및 파이프 출력)을 재사용하는 방법에 대한 단서를 for
제공하지 않습니다 .curl
예시를 공유해 주시면 더욱 좋습니다.
고쳐 쓰다
- 그러한 작업은 6개보다 많거나 적을 수 있습니다
curl
. - 작동하는 것은 무엇이든 사용하겠지만 유틸리티가 필요한 경우 데비안 저장소에서 사용 가능한 유틸리티를 추천해 주세요.
답변1
두 개 이상의 파일에 대해 사용할 수 있습니다유닉스 시퀀스:
for var in $(seq 6)
do
curl -s https://raw.githubusercontent.com/${user}/${repo}/master/$var.sh | tr -d '\r' | bash
done
설명하다:
- 사용된 출력은
seq
최대 6개까지 계산됩니다(질문에 6개의curl
작업이 나열되어 있으므로). - 출력을 변수로 읽어서
var
명령에 사용합니다curl
.
답변2
GNU는 가장 빠른 것 중 하나입니다.parallel
:
parallel -j0 -k "curl -s https://raw.githubusercontent.com/${user}/${repo}/master/{1}.sh \
| tr -d '\r' | bash" ::: {1..6}
동적 변수를 통해 키 번호를 지정할 수도 있습니다.
n=7
parallel -j0 -k "curl -s https://raw.githubusercontent.com/${user}/${repo}/master/{1}.sh \
| tr -d '\r' | bash" ::: $(seq $n)