2017-07-05 109 views
1

如果用户存在,我有脚本来检查远程服务器,但它只检查第一个用户。该脚本读取服务器列表的文本文件并执行SSH到每个服务器,然后检查是否ID存在:shell脚本来检查用户是否存在于远程服务器中

export users 
 

 
for SERVER in `cat ./serverlist.txt` 
 
do 
 
     ssh $SERVER <<+ 
 
     set -A users "John" "Mary" "Joe" "Ana" "Jake" "Jana" "Ben" 
 
     for ids in {0..6} 
 
     do 
 
      id ${users[$ids]} 
 
     done 
 
+ 
 
done

请帮

+0

为什么在遥控器上设置变量?只要在John Mary的''中做'id',或者在本地分配变量并遍历本地变量。 –

回答

0

使用'+'防止本地shell扩展变量在这里的文件。

for SERVER in `cat ./serverlist.txt` 
do 
     ssh $SERVER <<'+' 
     set -A users "John" "Mary" "Joe" "Ana" "Jake" "Jana" "Ben" 
     for ids in {0..6} 
     do 
      id ${users[$ids]} 
     done 
+ 
done 

仅供参考。

for server in `cat ./serverlist.txt` 
do 
     ssh -- "$server" <<'+' 
     set -A ids "John" "Mary" "Joe" "Ana" "Jake" "Jana" "Ben" 
     for id in "${ids[@]}" 
     do 
      id "$id" 
     done 
+ 
done 
相关问题