回答:
各行に1つの-values を持つファイル(destfile.txt
)があるとしますuser@host
。次に、このようにすることができます:
while IFS= read -r dest; do
scp ourfile.txt "$dest:remote/path/"
done <destfile.txt
for
に-loopをwhile read dest; do
、それが標準入力から読み込みます。それをスクリプトに入れて、フィードdestfile.txt
します(例:)./thescript.sh <destfile.txt
。
1行のシェルスクリプトを使用した別のオプションがあります。
cscp.sh 20337.patch < hosts.txt
ループ用とサーバーホストリスト用の2つのファイルを使用します。$1
SCPのファイル名としてCLIから最初のパラメーターを読み取ります
cscp.sh
#!/bin/bash
while read host; do
scp $1 ${host}:
done
hosts.txt
project-prod-web1
project-prod-web2
project-prod-web3
使用法
ファイルを複数のホストにコピーします。
cscp.sh file < hosts