shell 如何实现i++操作以及字符串截取操作
2015-02-13 15:16
211 查看
这几天有个bug缠绕了我半天,于是就有了本文章。
触摸屏因为加了个笔记本键盘后不能用了,摘掉笔记本键盘后,触摸屏又可以用了,真是见鬼了。
稍微研究一看,原来是加了笔记本键盘后导致TP驱动的设备节点改变了,比如说,以前是event4,加了笔记本键盘后event6,导致应用程序使用的设备节点跟TP驱动不匹配。
于是,我就纳闷了,以前的方法是在编译的时候写死了,比如配置为4了,运行的时候就是设置为4,不变了,其实这是有一定风险的,例如刚才说的例子。那么,怎么改呢?能不能在允许的时候判断出TP设备节点是哪个呢?答案是可以的。
在添加自动获取TP的event_num方案时,遇到了一点点问题:
一、在遍历设备节点时候,怎么记录下event_num,C语言很简单啊,i++,但是shell里面不能这么做。
二、怎么截获字符串的前几个字符?
先解决第一个问题,在网上搜了一下,发现有个人写的很好,这里引用一下:
第二个问题的方法其实也很多,我这里只说一种容易记住的:
例如:有个字符串变量string=abcdefgh,我需要截取前面4个字符,那么shell应该怎么实现?
以上2个问题是在实际解决问题的时候遇到的,虽然是不起眼的技术点,慢慢积累还是有用的。
古语云:不积跬步,无以至千里;不积小流,无以成江海。O(∩_∩)O
触摸屏因为加了个笔记本键盘后不能用了,摘掉笔记本键盘后,触摸屏又可以用了,真是见鬼了。
稍微研究一看,原来是加了笔记本键盘后导致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
相关文章推荐
- shell 如何实现i++操作以及字符串截取操作
- shell字符串操作之cut---实现字符串截取
- shell字符串操作之cut---实现字符串截取
- Shell常用的一些操作集锦(如字符串截取、字符串比较以及For循环等)
- shell script:截取路径中的filename ,以及shell 中合并字符串
- 如何实现截取无规则字符串中的数字部分
- shell下分割字符串以及截取字符串
- Opencv 例程讲解8 ----如何实现Mat以及自定义类型的读写操作
- SQL自定义函数实现字符串截取转化为整型(主要用于对批量数据的操作)
- shell中用expr命令做字符串截取操作
- jQuery链式操作如何实现以及为什么要用链式操作
- 【转】C#中如何实现左截取和右截取字符串
- 自己实现的一个字符串分割截取函数,以及查找指定字符
- 如何在DataGrid控件中实现编辑、删除、分类以及分页操作
- 如何在DataGrid控件中实现编辑、删除、分类以及分页操作
- Python 字符串操作实现代码(截取/替换/查找/分割)
- 如何实现按字节截取字符串(中文占2字节,英文占1字节,substring())?
- 关于Excel操作编写的一个软件设计构思案例[连载] --如何实现从字符串中提取需要的字符并赋值给指定单元格内
- shell如何实现 数字 字符串自动补零 awk
- C#中如何实现左截取和右截取字符串