私は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
。 - 機能するものは何でも使用しますが、ユーティリティが必要な場合は、Debianリポジトリで利用可能なユーティリティをお勧めします。
答え1
複数のファイルに使用できますUnixシーケンス:
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)