我正在使用bash为Mikrotik设备做备份脚本。我想使用一个从文件中读取的while循环。
要读取的文件的内容如下:
1.1.1.1 router1
2.2.2.2 router2
这是我的示例脚本:
while read -r ip name
do
sshpass -p "pass" ssh -o StrictHostKeyChecking=no export\@$ip "/export;/quit" 2> errors.log >> $name.export
done < iplistandnamefile
问题是该脚本仅适用于iplistandnamefile文件中的第一个IP地址,但不会循环到第二个IP。
有什么建议吗?
答案 0 :(得分:1)
ssh正在吃掉文件的其余部分,因为它默认为读取stdin
将-n添加到ssh命令。
sshpass -p "pass" ssh -no StrictHostKeyChecking=no user@host command_to_run