別のファイルのユーザーを使用してホスト上の1つのファイルでコマンドを実行する

別のファイルのユーザーを使用してホスト上の1つのファイルでコマンドを実行する

別のリストのユーザーを使用して、リストから各サーバーにログインし、コマンドを実行するスクリプトを作成しようとしています。ファイルから最初のホストをインポートし、別のファイルから最初のユーザーとしてログインし、ファイルから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まず、コマンドを試して、ホストが正しいユーザーを受け取っていることを確認できます。

おすすめ記事