#!/bin/csh
chk_ttyUSB0:
test -e /dev/ttyUSB0 #先判断串口是否有被识别到
if ( $? != 0 ) then
echo "/dev/ttyUSB0 not found"
sleep 5
goto chk_ttyUSB0
endif
\rm /var/lock/LCK* 2>/dev/null #有时会遇到串口异常被会锁住,把这个文件删除才可以继续跑
\rm log 2>/dev/null
sh set_uboot_var.sh
gnome-terminal -x minicom -S serial.sh -C log #gnome-terminal打开另一个terminal运行这个脚本
wait: #抓特定结束字符, 一直循环判定串口脚本运行完成才往下跑
grep *** log
if ( $? != 0 ) then
clear
echo "Wait minicom test end..."
sleep 5
goto wait #cshell用goto要小心,写错标签"wait:"的话会跳出主脚本
endif
********************************************************************
"serial.sh"内容大概如下:
send "immroot" #发送字符串,如一开始需要输入账号密码
send ""expect {
"[/] >" break #等待出现"[/] >"这个字符才往下跑
}
send "123456" #发送字符串
expect {
"[/] >" break
}
send "$(var)" #也可以发送在主脚本定义好的一些变量
......
! killall -9 minicom #自己把自己干掉exit
********************************************************************