0
私はIPアドレスのリストを持っています。私の最終目標はそれぞれをsshで1つずつリセットすることです。私はLinux/Bashを使うように頼まれましたが、これはあまりよく知られていません。私のコードは今、リストから最初のIPを取り出してそれに接続しますが、それは決してそのポイントを超えて移動しません。問題は、read oneip3
とdo
コードの間にあると私は信じています。どんな助けでも大歓迎です。bashを使って '読み込み中'を使ってリストを反復する
次のように私はこのスクリプトを実行する方法は、次のとおりです。(私は別のテキストファイル内のIPアドレスのリストを持っている):
./runscript.txt ip_list.txt
while read oneip3
do
(sleep 5
echo "yes\r"
sleep 3
echo -e "password\r"
sleep 3
echo -e "reset\r"
sleep 3
echo -e "yes\r"
sleep 20
echo -e "\r"
) | ssh -t -t -oHostKeyAlgorithms=+ssh-dss [email protected]$oneip3
done < $1
最初の 'echo'の' -e'オプションがないようです。それ以外に、リモートホストへの接続時にどのプログラムが実行されるかわからないため、問題の原因を説明するのは難しいです。 – chepner
'ssh'はここではサブシェルグループからの読み込みであり、' read'で共有されているstdinからの読み込みではないので、この質問は再開されました(これはシェルではありません)。その他の質問。 –
@ValleyDigitalホストキーの確認やパスワードの入力が掛かっていませんか? stdinのような答えでパイプすることはできません。 '-o StrictHostKeyChecking = no'を使用してホストのキーチェックを無効にし、認証のためのキーペアを設定してから、もう一度やり直してください。 –