2017-07-05 18 views
1

ユーザが存在する場合、リモートサーバをチェックするスクリプトがありますが、最初のユーザだけをチェックします。このスクリプトは、サーバーリストのテキストファイルを読み込み、各サーバーにSSHを行い、その後、idが存在するかどうかを確認する:ユーザがリモートサーバに存在するかどうかを確認するシェルスクリプト

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

使用'+'を助けてくださいここの文書にあります。

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 

FYI。

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 
関連する問題