前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >shell 实现主板测试

shell 实现主板测试

作者头像
jianghaibobo
发布2019-09-11 16:20:45
7990
发布2019-09-11 16:20:45
举报

初接触shell,只能需要用到什么功能现学先用了。本文总结一下完成测试程序当中遇到的技巧和问题。

01. 变量生存期的问题,在函数中的变量无法在其他地方使用,在函数中只能使用在函数前定义的全局变量;

02. 利用函数,参数传递的方法,$1, $2, 分别表示第一个和第二个参数;

03.

代码语言:javascript
复制
printf "waiting....\r"

可以将光标移至当前行开头;

04.粘一个别人的小结

05. shell 指令一般会有一个返回值,如果指令执行成功返回0, 有错误返回1,可以利用

代码语言:javascript
复制
if [ $? -ne 0 ]

捕捉到;

06.

代码语言:javascript
复制
> /dev/null

将输出抛至垃圾站;

07. 有些板子的shell版本较低,支持的语法很少,例如重定向&>是将正常和错误均重定向,在不支持的板子上可以使用

代码语言:javascript
复制
> log.txt 2> log.txt

替代;

08. 又例如有些板子不支持数组(不知道是不是busybox的缘故),可以利用变量名+序列号替代:

代码语言:javascript
复制
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.

代码语言:javascript
复制
grep "Done." < log.txt > /dev/null

在log.txt 中查找字符串, 可用在if判断中;(未找到在字符串中匹配指定字符串的语法,例如在n行字符串中,匹配含有“abc” 子串的是哪行)

10. 字符串查询判断方法:

代码语言:javascript
复制
01.
if  echo ${string} | grep -q "ok"  ;then

02. 
re=$(echo $string | grep "out")
if [[ "$re" != "" ]]
then
  echo "包含"
else
  echo "不包含"
fi 

11. 只保留字符串中的数字:

代码语言:javascript
复制
num_f=`echo $numf_3 | tr -cd '[0-9]'`
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-09-22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档