该shell脚本有如下点:
- bash or dash
- case语句的写法
- 脚本help写法
- 参数是否为空的写法
- 算数运算的写法
#! /bin/bash
case "$1" in
-h|--help|?)
echo "Usage: 1st arg:pin name, 2st arg:reset time"
echo "1st arg pin name:lte-reset,zigbee-reset"
echo "2st arg reset time in ms"
exit
;;
esac if [ ! -n "$1" ]; then
echo "pls input 1st arg"
exit
fi if [ ! -n "$2" ]; then
echo "pls input 2st arg"
exit
fi echo > /home/gpio/$
time=$[ $ * ]
echo $time > /home/gpio/$ echo "you reset $1 with $2ms"
下面的脚本:
- 多条case分支
- 字符串比较
#! /bin/bash USRPWM_DIR="/home/pwm" case "$1" in
-h|--help|?)
echo "Usage1:1st arg:disable, enable"
echo "Usage2:1st arg:period in us, 2st arg duty in us"
exit
;;
enable|disable)
if [ "$1" == "enable" ] ; then
echo "enable power charge"
echo > $USRPWM_DIR/power-charge/enable
exit
else
echo "disable power charge"
echo > $USRPWM_DIR/power-charge/enable
exit
fi
;;
esac if [ ! -n "$1" ] ; then
echo "pls input 1st arg: period with us"
exit
fi
if [ ! -n "$2" ] ; then
echo "pls input 2st arg: duty with us"
exit
fi arg1=$[ $ * ]
arg2=$[ $ * ] echo $arg1 > $USRPWM_DIR/power-charge/period
echo $arg2 > $USRPWM_DIR/power-charge/duty_cycle
echo > $USRPWM_DIR/power-charge/enable