
正文
shell脚本使用记录
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
一些比较功能需求比较简单的可以考虑使用shell脚本来写,这样可以方便快捷稳定
1. 读取文件值,根据文件值1 或 0 来开启和关闭某些程序
a. while :
do
done
是无限循环。
b. while read line
do
echo $line
done < value
是读取文件value中的每行。
c . if [ $line = "0" ]; then
fi
是if语句,[]内左右两边都要留空格。
d. if []; then
elif []; then
fi
是if-else语句。
e.
ps | grep -v grep | grep modbusConfig | wc -l
wc -l 是用来计算结果的条数
grep -v grep是去掉结果中包含grep的记录 f. #!/bin/sh 是使用/bin/目录下的sh工具
#!/bin/sh
while :
do
cd /sys/class/gpio/gpio26/
while read line
do
echo $line
if [ $line = "" ];then
killall pwmOut
killall modbusConfig
echo pwm_duty_cycle > /tmp/my_fifo
elif [ $line = "" ];then
sn=`ps | grep -v grep | grep pwmOut | wc -l`
if [ $sn -lt ];then
cd /modbus/
./pwmOut &
fi
sm=`ps | grep -v grep | grep modbusConfig | wc -l`
if [ $sm -lt ];then
cd /modbus/
./modbusConfig &
fi
fi
done < value
sleep
done
2. watchdog 守护精灵,当目标程序不在运行时就会启动它
watchdog.sh
get_web_srv_sts()
{
ret1=`ps | grep "$1" | grep -v grep | wc -l`
ret2=`ps | grep "$1"|grep -v grep | grep "Z"|wc -l`
if [ $ret1 -ge ] && [ $ret2 -eq ]
then
FUN_RET="UP"
else
FUN_RET="DOWN"
fi
} while true; do
get_web_srv_sts "collector_arm" if [ $FUN_RET = 'UP' ]
then
echo "process running"
sleep
else
echo "process down"
killall collector_arm
sleep
cd /usr/file/ssf
./collector_arm&
sleep
fi
done






