shell echo 打印回车,字符串提取

shell  echo  打印回车

echo -e "ec20 power init:Not OK,Please wait\n"

字符串提取

#!/bin/bash

##########################################################################
#gpio ec20 reset
echo 87  > /sys/class/gpio/export;
echo out > /sys/class/gpio/gpio87/direction;
ln -s /sys/class/gpio/gpio87/value /dev/ec20_reset
echo 0 > //dev/ec20_reset
#gpio ec20 power
echo 89  > /sys/class/gpio/export;
echo out > /sys/class/gpio/gpio89/direction;
ln -s /sys/class/gpio/gpio89/value /dev/ec20_poweron
echo 1 > /dev/ec20_poweron
#gpio ec20 net status
echo 22  > /sys/class/gpio/export;
echo in > /sys/class/gpio/gpio22/direction;
ln -s /sys/class/gpio/gpio22/value /dev/ec20_status
#gpio ec20 led simcard
echo 46  > /sys/class/gpio/export;
echo out > /sys/class/gpio/gpio46/direction;
ln -s /sys/class/gpio/gpio46/value /dev/ec20_led_sim
echo 1 > /dev/ec20_led_sim
#gpio ec20 led dial 
echo 44  > /sys/class/gpio/export;
echo out > /sys/class/gpio/gpio44/direction;
ln -s /sys/class/gpio/gpio44/value /dev/ec20_led_dial
echo 1 > /dev/ec20_led_dial
#gpio ec20 led online 
echo 47  > /sys/class/gpio/export;
echo out > /sys/class/gpio/gpio47/direction;
ln -s /sys/class/gpio/gpio47/value /dev/ec20_led_signal
echo 1 > /dev/ec20_led_signal
#gpio ec20 led TNT signal 
echo 45  > /sys/class/gpio/export;
echo out > /sys/class/gpio/gpio45/direction;
ln -s /sys/class/gpio/gpio45/value /dev/ec20_led_online
echo 1 > /dev/ec20_led_online
##########################################################################
#start ec20 ppp,init
while [ ! -c "/dev/ttyUSB3" ]
do
	sleep 1
done

if [ -f /opt/ec20info.log ]; then
	rm /opt/ec20info.log
fi

cat /dev/ttyUSB2  > /opt/ec20info.log &
ec20_status="ERROR"

#check ec20  power is ok
while [ "$ec20_status" != "OK" ]
do
	sleep 1
	echo "AT" > /dev/ttyUSB2
	ec20_status=`grep OK /opt/ec20info.log | tail -1`
	echo -e "ec20 power init:Not OK,Please wait\n\r"
done

sleep 10

while [ "$ec20_status" != "OK" ]
do
	sleep 1
	echo "AT" > /dev/ttyUSB2
	ec20_status=`grep OK /opt/ec20info.log | tail -1`
	echo -e "ec20 power init:Not OK,Please wait\n\r"
done

echo -e "ec20 power init :OK\n\r"

#check ec20 ppp is ok
cd /etc/ppp/peers
pppd call unicom  > /opt/ec20.log &
echo -e "pppd call unicom & > /opt/ec20.log\n\r"
ec20_status="ERROR"

`ifconfig > /opt/ec20ifconfig.log ;grep ppp0 /opt/ec20ifconfig.log -A 8 | sed -n "3p" | awk -F" " '{print $3}' > /opt/ec20info.log`
ec20_status=`grep RUNNING /opt/ec20info.log | tail -1`
cnt=0
while [ "$ec20_status" != "RUNNING" ]
do
	sleep 1
	#check timeout,reset ec20
	cnt=`expr $cnt + 1`
	if [ $cnt -eq 5 ] || [ $cnt -eq 10 ] || [ $cnt -eq 15 ] || [ $cnt -eq 20 ] || [ $cnt -eq 25 ] || [ $cnt -eq 30 ] || 
	   [ $cnt -eq 35 ] || [ $cnt -eq 40 ] || [ $cnt -eq 45 ] || [ $cnt -eq 50 ] || [ $cnt -eq 55 ] || [ $cnt -eq 60 ];then
		echo -e "ec20 ppp dail:Not OK,Please wait\n\r"
	fi

	if [ $cnt -gt 60 ] ;then
		cnt=0
		echo -e "Warning:Reset ec20 now ...!!!\n\r"
		echo 1 > /dev/ec20_reset
		echo 0 > /dev/ec20_poweron
		sleep 15
		echo 0 > /dev/ec20_reset
		echo 1 > /dev/ec20_poweron
	fi
	#check pppd call unicom is runing
	ec20_status=`ps -a > /opt/ec20info.log ; grep -w "pppd call unicom" /opt/ec20info.log | tail -1 | awk -F" " '{print $4,$5,$6}'`
	if [ "$ec20_status" != "pppd call unicom" ];then
		#restart ec20
		echo -e "Warning:Reset ec20 now ...!!!\n\r"
		echo 1 > /dev/ec20_reset
		echo 0 > /dev/ec20_poweron
		sleep 15
		echo 0 > /dev/ec20_reset
		echo 1 > /dev/ec20_poweron
		#wait usb ok
		while [ "$ec20_status" != "OK" ]
		do
			sleep 1
			echo "AT" > /dev/ttyUSB2
			ec20_status=`grep OK /opt/ec20info.log | tail -1`
			echo -e "ec20 power init:Not OK,Please wait\n\r"
		done
		#restart pppd
		sleep 5
		echo -e "ERROR:pppd exit already ...!!!\n\r"
		echo -e "Warning:pppd restart now ...!!!\n\r"
		pppd call unicom  > /opt/ec20.log &
	fi
	#check ppp is ok
	`ifconfig > /opt/ec20ifconfig.log ;grep ppp0 /opt/ec20ifconfig.log -A 8 | sed -n "3p" | awk -F" " '{print $3}' > /opt/ec20info.log`
	ec20_status=`grep RUNNING /opt/ec20info.log | tail -1`
done

echo -e "ec20 ppp connect:OK\n\r" 

#########################################################################
#check simcard & ppp dial & ec20 service online & ANT signal 

while true 
do
	sleep 1
	#check simcard-----------------------------------------------
	echo "AT+ccid" > /dev/ttyUSB2
	ec20_status=`grep OK /opt/ec20info.log | tail -1`
	if [ "$ec20_status" == "OK" ] ; then
		echo 0 > /dev/ec20_led_sim
	else
		echo 1 > /dev/ec20_led_sim
	fi
	#check ppp dial-----------------------------------------------
	`ifconfig > /opt/ec20ifconfig.log ;grep ppp0 /opt/ec20ifconfig.log -A 8 | sed -n "3p" | awk -F" " '{print $3}' > /opt/ec20info.log`
	ec20_status=`grep RUNNING /opt/ec20info.log | tail -1`
	if [ "$ec20_status" == "RUNNING" ] ; then
		echo 0 > /dev/ec20_led_dial
	else
		echo 1 > /dev/ec20_led_dial
	fi
	#check ANT signal-----------------------------------------------
	echo "AT+CSQ" > /dev/ttyUSB2
	`grep +CSQ: /opt/ec20info.log | sed 's/+CSQ: //g' | tail -1 | awk -F"," '{print $1}' > /opt/ec20signal.log`
	ec20_status=`cat /opt/ec20signal.log | tail -1`
	if [ "$ec20_status" != "99" ] ; then
		echo 0 > /dev/ec20_led_signal
	else
		echo 1 > /dev/ec20_led_signal
	fi
	#check pppd call unicom is runing
	ec20_status=`ps -a > /opt/ec20info.log ; grep -w "pppd call unicom" /opt/ec20info.log | tail -1 | awk -F" " '{print $4,$5,$6}'`
	if [ "$ec20_status" != "pppd call unicom" ];then
		echo -e "ERROR:pppd exit already ...!!!\n\r"
		echo -e "Warning:pppd restart now ...!!!\n\r"
		pppd call unicom  > /opt/ec20.log &
	fi
done

##########################################################################

  

posted on 2018-09-30 10:50  紫枫术河  阅读(2441)  评论(0编辑  收藏  举报

导航