私は以下の点に対処する必要があります。シェルスクリプト - ループ/ファイル読み込みが動作しないとき
- 私はIPアドレスのリストを含むファイルを持っています。私は行ごとに読みたいです。各IPに対して
私は私のコードです続き
/radius add service=login address=172.16.0.1 secret=aaaa /user aaa set use-radius=yes
(すべてはMikrotikデバイスである)SSHを使用して、以下のコマンドをプッシュする必要があります。
#!/bin/bash
filename="branch"
while IFS= read line; do
echo ${line//}
line1=${line//}
ok='@'
line3=$ok$line1
sshpass -p abc123 ssh -o StrictHostKeyChecking=no admin$line3/radius add service=login address=172.16.0.1 secret=aaaa
sleep 3
sshpass -p abc123 ssh -o StrictHostKeyChecking=no admin$line3/user aaa set use-radius=yes
sleep 3
echo $line3
echo $line
done <"$filename"
支店テキストファイル:
192.168.100.1
192.168.101.2
192.168.200.1
問題:ループは一度だけ実行されますが、これまでどのような変化が、私がやっています。
トラブルシューティング/観察: SSHコマンドを使用しないで、Whileループを実行してファイル "branch"を読み取ると正常に動作します。
'sshpass'を使用しないでください! * ''公開鍵認証 '' * doeがどのように動作するか理解してください! (Nota: 'sshpass'があなたの奇妙な問題の原因かもしれません) –
あなたの入力ファイルに空白行がありますか? – cdarke