shell脚本,用于集合测试正点原子的linux开发板——阿尔法的板上模块。
创建脚本:
vi test.sh
使脚本具有执行权限的命令:
chmod +x ./test.sh
运行脚本的命令:
./test.sh
输入:(可以复制了之后,在SecureCRT终端中使用鼠标右键粘贴进去)
#!/bin/bash
Get_time(){
echo $fresh_time
}
Get_name(){
echo $my_name1
}
test_led(){
echo none > /sys/class/leds/sys-led/trigger
echo 1 > /sys/class/leds//sys-led/brightness
sleep 1
echo 0 > /sys/class/leds//sys-led/brightness
echo heartbeat > /sys/class/leds/sys-led/trigger
}
test_beep(){
echo 1 > /sys/class/leds/beep/brightness
sleep 1
echo 0 > /sys/class/leds/beep/brightness
}
test_aplay(){
aplay /usr/share/sounds/alsa/Front_Center.wav
sleep 1
aplay /usr/share/sounds/alsa/Front_Left.wav
sleep 1
aplay /usr/share/sounds/alsa/Front_Right.wav
}
test_ddr(){
memtester 8M 1
}
test_sdcar(){
echo "Now,writing..."
time dd if=/dev/zero of=/run/media/mmcblk0p1/test bs=1024k count=50 conv=fdatasync
echo "Now,reading..."
time dd if=/run/media/mmcblk0p1/test of=/dev/null bs=1024k
rm /run/media/mmcblk0p1/test
echo "finished!"
}
test_als(){
echo "环境光强度值ALS"
cat /sys/class/misc/ap3216c/als
echo "接近距离PS"
cat /sys/class/misc/ap3216c/ps
echo "红外线强度IR"
cat /sys/class/misc/ap3216c/ir
}
test_key1(){
od -x /dev/input/event1
}
test_key2(){
od -x /dev/input/event2
}
Init(){
echo "Hello World!"
for str in 'Beginning five second later...'
do
echo $str
done
int=1
while(( $int<=5 ))
do
echo $int
let "int++"
sleep 1
done
}
Loop(){
while true
do
echo '请输入你的命令号(退出0)(程序创建时间1)(程序作者名字2)(DS0测试3)(beep4)(扬声器5)(DDR内存6)(SD卡7)(光采集8)(按键暂无测试)(回车键重输):'
read user_command
case "$user_command" in
"1") Get_time
;;
"2") Get_name
;;
"3") test_led
;;
"4") test_beep
;;
"5") test_aplay
;;
"6") test_ddr
;;
"7") test_sdcar
;;
"8") test_als
;;
"0") break
;;
*) continue
;;
esac
echo '————————————————————————————————————————————————————————'
done
}
# ------程序分割线------
my_name1='Chenxuanyu'
# readonly my_name1 //将其限制为只读变量,等效于C语言的const
fresh_time1="2020-02-04"
fresh_time2="20:46"
fresh_time="${fresh_time1},${fresh_time2}"
:<< EOF
unset fresh_time1 //删除变量,但不能删除只读变量
unset fresh_time2
EOF
Init
Loop