我想在几十个嵌入式Linux设备上运行测试脚本;在制造中,身份验证凭据都是一样的。
测试大概一个小时,但我希望每个单元连续循环(周末说)并报告测试的当前迭代(基于每个单元)。
我认为期望可能是要走的路(它肯定有助于ssh登录),但在线文档是......呃......有点过于分散,看似简单的练习。
我一直试图确定如何spawn
我的嵌入式测试并行。在BASH中,我使用&
运算符将进程置于后台,但是进入身份验证是一个挑战。
我应该使用expect还是坚持使用BASH脚本?
我做了什么:
使用expect
脚本我在DUT上放置了一个SSH身份验证文件。 DUT只有一个RAM文件系统可供使用,因此在运行其余的bash脚本之前。然后,一个简单的BASH for循环在for循环中发出一个ssh命令来运行测试并将会话放在后台线程上。 Comme ca:
for i in <IP devices to test> ;
do
ssh user@$i "echo - \"IP Address: $i :\" ; test-script" &
done
瞧!
答案 0 :(得分:2)
使用空白公钥密码设置ssh公钥认证(例如:http://www.petefreitag.com/item/532.cfm),然后您可以使用ssh运行这些脚本而无需输入任何授权凭证,因此您可以编写bash脚本来执行它们而无需用户介入