zoukankan      html  css  js  c++  java
  • shell 实现主板测试

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

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

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

    03. 

    printf "waiting....
    "

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

    04.粘一个别人的小结

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

    if [ $? -ne 0 ]

    捕捉到;

    06. 

    > /dev/null

    将输出抛至垃圾站;

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

    > log.txt 2> 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. 字符串查询判断方法:

    01.
    if  echo ${string} | grep -q "ok"  ;then
    
    02. 
    re=$(echo $string | grep "out")
    if [[ "$re" != "" ]]
    then
      echo "包含"
    else
      echo "不包含"
    fi 

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

    num_f=`echo $numf_3 | tr -cd '[0-9]'`
    种树最好的时间是十年前,其次是现在。
  • 相关阅读:
    DICOM:DICOM3.0网络通信协议
    Maven使用—拷贝Maven依赖jar包到指定目录
    Spring Boot使用JavaMailSender发送邮件
    SpringBoot配置Email发送功能
    MariaDB 安装与启动 过程记录
    ESXi与Linux主机配置syslog日志上传远程服务器
    Linux--忘记MySQL密码的解决方法和输入mysqld_safe --skip-grant-tables &后无法进入MySQL的解决方法
    centos killall安装
    centos安装lspci工具
    oracle创建job和删除job
  • 原文地址:https://www.cnblogs.com/bobojiang/p/7575863.html
Copyright © 2011-2022 走看看