shell 实现主板测试
初接触shell,只能需要用到什么功能现学先用了。本文总结一下完成测试程序当中遇到的技巧和问题。
01. 变量生存期的问题,在函数中的变量无法在其他地方使用,在函数中只能使用在函数前定义的全局变量;
02. 利用函数,参数传递的方法,$1, $2, 分别表示第一个和第二个参数;
03.
printf "waiting....\r"
可以将光标移至当前行开头;
04.粘一个别人的小结
;
05. shell 指令一般会有一个返回值,如果指令执行成功返回0, 有错误返回1,可以利用
if [ $? -ne ]
捕捉到;
06.
> /dev/null
将输出抛至垃圾站;
07. 有些板子的shell版本较低,支持的语法很少,例如重定向&>是将正常和错误均重定向,在不支持的板子上可以使用
> log.txt > log.txt
替代;
08. 又例如有些板子不支持数组(不知道是不是busybox的缘故),可以利用变量名+序列号替代:
test_items_0=Stuck
test_items_1=Value
test_items_2=XOR
test_items_3=SUB
test_items_4=MUL var_op="test_items_"$arg1 #赋值给新变量
# echo ${!var_op} 直接打印出变量内容
eval var_item=\$$var_op #间接引用,适用于一个变量名是另一个变量的内容 echo $var_item #间接引用,打印出原始变量的内容
09.
grep "Done." < log.txt > /dev/null
在log.txt 中查找字符串, 可用在if判断中;(未找到在字符串中匹配指定字符串的语法,例如在n行字符串中,匹配含有“abc” 子串的是哪行)
10. 字符串查询判断方法:
.
if echo ${string} | grep -q "ok" ;then .
re=$(echo $string | grep "out")
if [[ "$re" != "" ]]
then
echo "包含"
else
echo "不包含"
fi
11. 只保留字符串中的数字:
num_f=`echo $numf_3 | tr -cd '[0-9]'`
shell 实现主板测试的更多相关文章
- 如何进行shell脚本正确性测试
在实际工作中,需要对shell脚本进行正确性测试. 如何用最快最有效的方式进行测试? 很多开发的习惯是,二话不说,写完/拿到,就跑一把,看看输入,输出,想要的操作是否完成,也就过了. 其实这是十分不严 ...
- bash shell漏洞及测试
1.bash shell是大多数linux发行版本的默认shell命令解释器,但是最近爆出bash shell存在漏洞. 2.如果Bash是默认的系统shell,网络攻击者可以通过发送Web请求.se ...
- Shell条件与测试
分类参考 文件状态测试 -b filename 当filename 存在并且是块文件时返回真(返回0) -c filename 当filename 存在并且是字符文件时返回真 -d pathname ...
- Shell编程-条件测试 | 基础篇
什么是Shell Shell是一个命令解释器,它会解释并执行命令行提示符下输入的命令.除此之外,Shell还有另一个功能,如果要执行多条命令,它可以将这组命令存放在一个文件中,然后可以像执行Linux ...
- shell编程之测试和判断
一.测试 程序运行中经常需要根据实际情况来运行特定的命令或代码段.比如判断某个文件或目录是否存在,如果文件或目录不存在,可能首先创建文件或目录.举例说,要判断文件/var/log/mlocate文件是 ...
- shell脚本编程测试类型下
一bash的数值测试 -v VAR变量VAR是否设置 数值测试:-gt 是否大于greater-ge 是否大于等于-eq 是否等于-ne 是否不等于 not equal-lt 是否小于-le 是否小 ...
- shell脚本编程测试类型上
一bash的条件测试 判断某需求是否满足,需要由测试机制来实现.专用的测试表达式需要由测试命令辅助完成测试过程. 评估布尔声明,以便用在条件性执行中.若真,则返回0:若假,则返回1. 测试命令:• t ...
- 关于shell脚本——条件测试、if语句、case语句
目录 一.条件测试 1.1.表达说明 1.2.test命令 文件测试 1.3.整数值比较 1.4.字符串比较 1.5.逻辑测试 二.if语句 2.1.单分支结构 2.2.双分支结构 2.3.多分支结构 ...
- 二、shell 脚本条件测试
目录 一.条件测试 test 格式 文件测试 文件测试常见选项 整数值比较 字符串比较 浮点数的运算 逻辑测试 二.if语句 1单分支 2双分支结构 3多分支结构 三元运算符 三.case 一.条件测 ...
随机推荐
- Java实现矩阵计算器【代码】
其实这个程序最开始是大二下学期Java的一次平时作业,当时只要求产生几个随机矩阵并对这些矩阵进行计算. 所以当时没去实现现在这么丰富而且实用的功能.不过当时倒是挺想去做的,无奈有些不知道怎么去实现. ...
- CSS制作波浪线
建议先去了解清楚了径向渐变,线性渐变的用法先 这个作者的css制作波浪线讲解很不错额:https://www.jianshu.com/p/8570433e3669不理解的可以看看这个链接的额 可以去菜 ...
- 纯css提示效果 提示层
<!DOCTYPE HTML PUBLIC "-//W3C//DTD xHTML 1.0 Transitional//EN"><HTML> <HEAD ...
- android开发遇到的问题
1.虚拟机运行出下面的错Failed to allocate memory: 8 Failed to allocate memory: 8This application has requested ...
- Linux 常见目录与区别
. 代表此层目录 .. 代表上一层目录 - 代表前一个工作目录 ~ 代表『目前用户身份』所在的家目录
- Centos7(Linux)网络配置,自动获取ip地址
Centos7.0 Vmware 网络桥接配置,利用DHCP自动获取ip地址 首先要将Vmware10.0.3设置为桥接模式. CentOS 7.0默认安装好之后是没有自动开启网络连接的! cd / ...
- 实现数组元素互换位置(乘机理解java参数传递)
Java中函数参数是按值传递的,在实现数组元素互换位置之前,我想先说一下Java函数参数传递过程.一般情况下我们会把参数分为基本数据类型和引用数据类型,然后分别来讲参数传递,因为他们的外在表现似乎是不 ...
- 闲来无事,把node又拾起来看看
处在国企单位,整天闲的要死要死的,民族的花朵都快枯萎了 哎呀呀,打起精神.......早睡早起,多看书...开始进入苦读状态,苦练武功,争取有朝一日报效祖国...哈哈 开玩笑的 开始看书吧 记得N ...
- Lottie的使用
一.简介 Lottie是Airbnb开源的一个面向IOS.Android.React Native的动画库,能分析Adobe After Effects导出的动画,并且能让原生App像使用静态素材一样 ...
- Android 服务_笔记
Service服务 服务(Service)是Android中的四大组件之一,适用于开发无界面.长时间运行的应用功能,服务是在后台运行,服务的创建与Activity类似,只需要继承Service和在An ...