
別のリストのユーザーを使用して、リストから各サーバーにログインし、コマンドを実行するスクリプトを作成しようとしています。ファイルから最初のホストをインポートし、別のファイルから最初のユーザーとしてログインし、ファイルから2番目のホストをインポートし、ファイルから2番目のユーザーとしてログインしてこれを行うにはどうすればよいですか?
これが私が今まで得たものです:
#!/bin/bash
for host in `cat hosts.txt`
do
for user in `cat users.txt` ;
do
ssh -t Natasha@$host << EOF ;
/usr/local/bin/sudo -i -u $user w ;
EOF
done
done
ただし、これはユーザーリストの最初のホストとすべてのユーザーに対してコマンドを実行します。
答え1
2つのファイルの行数が同じ場合
paste hosts.txt users.txt |
while read host user
do
...
done
paste
まず、コマンドを試して、ホストが正しいユーザーを受け取っていることを確認できます。