shell脚本示例详解
在我们使用shell的时候,并不完全是执行完程序后让程序自己一直运行,在程序执行中途往往还需要我们人参与互动,比如输入某个参数,或者由人做出某些机器无法控制的判断,提高程序的互动性。本例我们以背光为例,需要我们观察屏幕背光是否亮起来控制程序结果。 测试现象
首先看下测试现象,命令行输入命令./backlight.sh,程序显示将屏幕背光关闭,然后再打开屏幕背光,之后通过观察输入是否观察到了现象,正确输入y,没有输入N。 可以看到按照我们的设定,观察屏幕的字体为绿色,提示输入ESC键的为黄色。我们实现了通过提示输入按键来观察背光是否正常。 编写脚本
continue.sh
程序作用就是输出一个提示信息,等待用户按下ESC键后退出程序。 首先,为了程序美观,我们定义变量a为一个转义字符"\033"。这个字符是ASCII码中的转义字符,表示后面的字符是一个控制字符。然后使用echo命令输出一段带有颜色的提示信息,其中使用了控制字符来设置文本颜色。具体来说,"\033[1;33m"表示设置文本颜色为黄色,"\033[0m"表示重置文本颜色。 接下来进入一个无限循环,每次循环使用read命令读取用户输入的一个字符,并使用选项-s和-n来隐藏输入字符并不换行。如果读取到的字符与变量a的值相等,则说明用户按下了ESC键,此时使用exit命令退出程序。如果读取到的字符与变量a的值不相等,则继续等待用户输入。 backlight.sh
该代码是一个用于测试背光功能的脚本程序,主要分为以下几个步骤: 1.使用echo命令输出一段带有颜色的提示信息,表示开始测试背光功能。 2.使用echo命令输出一段带有颜色的提示信息,提示用户按下ESC键关闭背光并观察屏幕。 3.使用./continue.sh命令执行一个名为continue.sh的脚本程序,该程序的作用是等待用户按下ESC键并返回。 4.使用echo命令将0写入/sys/class/backlight/backlight/brightness文件,以关闭背光。 5.使用echo命令输出一段带有颜色的提示信息,提示用户按下ESC键打开背光并观察屏幕。 6.使用./continue.sh命令执行continue.sh脚本程序,等待用户按下ESC键并返回。 7.使用echo命令将6写入/sys/class/backlight/backlight/brightness文件,以打开背光。 8.使用sleep命令暂停1秒,等待背光打开。 9.使用echo命令输出一段带有颜色的提示信息,提示用户输入[Y/N]。 10.使用read命令读取用户输入的一个字符,并使用选项-s和-n来隐藏输入字符并不换行。 11.如果用户没有输入任何字符,则使用exit命令退出程序。 12.如果用户输入了字符y,则使用echo命令输出一段带有颜色的提示信息,表示背光功能测试通过,并将测试结果写入一个指定的文件中。 13.如果用户输入了其他字符,则使用echo命令输出一段带有颜色的提示信息,表示背光功能测试失败,并将测试结果写入指定的文件中。 |
|小黑屋|
飞凌嵌入式
( 冀ICP备12004394号-1 )
GMT+8, 2025-7-5 22:54
Powered by Discuz! X3.4
© 2001-2013 Comsenz Inc.