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

时间: 2024-07-31 01:23:14

shell 如何实现i++操作以及字符串截取操作的相关文章

PHP字符串截取操作大全

1. 截取GB2312中文字符串 <?php header("content-type:text/html;charset=gb2312"); // echo "aaaa"; //截取中文字符串 ### 1. 截取GB2312中文字符串 function mysubstr($str,$start,$len){ $tmpstr = ""; $strlen = $start + $len; for($i = 0; $i < $strlen

String类--字符串截取操作

运行结果:书中自有黄金屋 书中自有颜如玉 substring--方便将所要的字符串进行截取!!

关于shell脚本函数、数组、字符串截取、svn更新发布实例

#/bin/bash #功能:QA服根据模板创建区配置文件并提交到svn上. SOURCE_PATH=/data/source_code SVN_PATH=/code/psm   #svn发布目录,要先推送到这个目录,然后更新提交 dir="/data/source_code/configfiles" default_conf="config.properties" default_socket_conf="socket.lp" LOG_FILE

事件补充;对象操作;字符串类型操作;数组操作;数字类型操作

1.事件绑定函数 var  a=document.querySelector('') a.onclick=function h() 先有函数 a.onclick=function h绑定地址 完成事件的绑定后, 绑定的函数由系统来调用, 系统在用户触发事件时来调用box.onclick = function () { alert(this.innerText) 循环绑定的变量污染for (var i ;i<6;i++){a[i].onclick=function h()}处理办法 for (va

Shell脚本中替换字符串等操作

在做shell批处理程序时候,常常会涉及到字符串相关操作. 有非常多命令语句.如:awk,sed都能够做字符串各种操作. 事实上shell内置一系列操作符号.能够达到类似效果,大家知道,使用内部操作符会省略启动外部程序等时间,因此速度会非常的快. 一.推断读取字符串值 表达式 含义 ${var} 变量var的值, 与$var同样     ${var-DEFAULT} 假设var没有被声明, 那么就以$DEFAULT作为其值 * ${var:-DEFAULT} 假设var没有被声明, 或者其值为空

shell字符串截取之cut

cut命令是shell下一个比较强大的工具,它是以每一行为一个处理对象的,可以对一行字符串进行多种模式匹配的剪切操作,也可以对一个排列整齐的文本进行操作,下面我们就来说说cut这个命令吧: cut命令主要有3个定位方法: (1)对字节的定位,用 -b 选项 (2)对字符的定位,用 -c 选项 ( 3 ) 域,用选型 -f 下面我们来看看具体的实现: 我们来一一说一下上面的现象: 我们先用pwd命令看一下我们的当前的路径.然后我们想提取当前路径这个字符串的第4个字节,就用上图所示的这条命令: pw

shell脚本字符串截取

shell字符串的截取的问题: 一.Linux shell 截取字符变量的前8位,有方法如下: 1.expr substr “$a” 1 8 2.echo $a|awk ‘{print substr(,1,8)}’ 3.echo $a|cut -c1-8 4.expr $a : ‘\(.\\).*’ 5.echo $a|dd bs=1 count=8 2>/dev/null 二.按指定的字符串截取 1.第一种方法: ${varible##*string} 从左向右截取最后一个string后的字符

shell ---- 字符串截取方法归纳

SHELL --- 字符串截取 1.按指定的字符串截取(4种) ${varible##*string}  # 从左向右截取最后一个string后的字符串   <即 删除左边字符,保留右边字符> ${varible#*string}   # 从左向右截取 第一个string后的字符串     <即 删除左边字符,保留右边字符> ${varible%%string*}  # 从右向左截取最后一个string后的字符串   <即 删除右边字符,保留左边字符> ${varibl

shell下的字符串截取方法

一.Linux shell截取字符串的前几位,例截取前8位: 方法如下:下面a=1234sterrerwrwretw 1.expr substr "$a" 1 8 2.echo $a|cut -c1-8 3..echo $a|dd bs=1 count=8 二.按指定字符串截取 1.第一种方法: 1> ${val##*string} (双#*截取) 从左向右截取最后一个string后的字符串 例:a=123stringrwtw134string456 2>${varible