我想在数十个嵌入式 Linux 单元上运行测试脚本;在制造过程中,认证凭证都是相同的。
测试大约一个小时,但我希望每个单元连续循环(比如在周末)并报告测试的当前迭代(基于每个单元)。
我认为 Expect 可能是可行的方法(它肯定会对 ssh 登录有所帮助),但是在线文档......呃......对于看似简单的练习来说有点过于分散。
我一直在尝试确定如何并行生成
我的嵌入式测试。在 BASH 中,我会使用 &
运算符将进程置于后台,但输入身份验证是一个挑战。
我应该使用expect还是坚持使用BASH脚本?
我做了什么:
使用 expect
脚本,我在 DUT 上放置了一个 SSH 身份验证文件。 DUT 只有一个 RAM 文件系统可供使用,因此在 bash 脚本的其余部分运行之前。然后,一个简单的 BASH for 循环在 for 循环内发出 ssh 命令来运行测试并将 session 置于后台线程上。通讯地址:
for i in <IP devices to test> ;
do
ssh user@$i "echo - \"IP Address: $i :\" ; test-script" &
done
瞧!
最佳答案
使用空白公钥密码设置 ssh 公钥身份验证(例如: http://www.petefreitag.com/item/532.cfm ),然后您可以使用 ssh 运行这些脚本而无需输入任何授权凭据,因此您可以编写 bash 脚本来执行它们而无需用户干预
关于bash - 如何从单个控制台在 20 多个站点上运行测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10055296/