다른 목록의 사용자로 목록의 각 서버에 로그인하고 명령을 실행하는 스크립트를 만들려고 합니다. 파일에서 첫 번째 호스트를 가져와서 다른 파일에서 첫 번째 사용자로 로그인하고, 파일에서 두 번째 호스트를 가져와서 파일에서 두 번째 사용자로 로그인하는 등의 방법으로 이 작업을 수행할 수 있습니까?
이것이 내가 지금까지 얻은 것입니다:
#!/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
두 파일에 같은 줄 수가 있는 경우
paste hosts.txt users.txt |
while read host user
do
...
done
먼저 명령을 시도하여 paste
호스트가 적절한 사용자를 얻는지 확인할 수 있습니다.