• shell 如何实现i++操作以及字符串截取操作


    这几天有个bug缠绕了我半天,于是就有了本文章。

    触摸屏因为加了个笔记本键盘后不能用了,摘掉笔记本键盘后,触摸屏又可以用了,真是见鬼了。

    稍微研究一看,原来是加了笔记本键盘后导致TP驱动的设备节点改变了,比如说,以前是event4,加了笔记本键盘后event6,导致应用程序使用的设备节点跟TP驱动不匹配。

    于是,我就纳闷了,以前的方法是在编译的时候写死了,比如配置为4了,运行的时候就是设置为4,不变了,其实这是有一定风险的,例如刚才说的例子。那么,怎么改呢?能不能在允许的时候判断出TP设备节点是哪个呢?答案是可以的。

    在添加自动获取TP的event_num方案时,遇到了一点点问题:

    一、在遍历设备节点时候,怎么记录下event_num,C语言很简单啊,i++,但是shell里面不能这么做。

    二、怎么截获字符串的前几个字符?


    先解决第一个问题,在网上搜了一下,发现有个人写的很好,这里引用一下:

    a=1
    a=$(($a+1))
    a=$[$a+1]
    a=`expr $a + 1`
    let a++
    let a+=1
    这几种方法都可以实现i++操作,其中我在实际中使用了 let a++


    第二个问题的方法其实也很多,我这里只说一种容易记住的:

    例如:有个字符串变量string=abcdefgh,我需要截取前面4个字符,那么shell应该怎么实现?

    string="abcdefgh"
    cut_string=`echo $string|cut -c 1-4`
    结果:cut_string=abcd

    以上2个问题是在实际解决问题的时候遇到的,虽然是不起眼的技术点,慢慢积累还是有用的。

    古语云:不积跬步,无以至千里;不积小流,无以成江海。O(∩_∩)O

  • 相关阅读:
    代码大全第二版-阅读笔记01
    进度日报表15
    进度日报表14
    第七周总结
    进度日报表13
    进度日报表12
    进度日报表11
    系统图表联动
    算符优先分析法
    《软件需求模式》阅读笔记(一)
  • 原文地址:https://www.cnblogs.com/zhangyunlin/p/6167902.html
Copyright © 2020-2023  润新知