找回密码
 注册
关于网站域名变更的通知
查看: 262|回复: 1
打印 上一主题 下一主题

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

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-4-16 10:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
这几天有个bug缠绕了我半天,于是就有了本文章。
8 {( Z$ I7 U" X/ `0 k$ S7 h( l- U! @  ]- q4 E7 ]' C
触摸屏因为加了个笔记本键盘后不能用了,摘掉笔记本键盘后,触摸屏又可以用了,真是见鬼了。  f# u3 l6 }6 R# ^$ F
3 y# B, D! x; r1 m6 ?- j/ i! @
稍微研究一看,原来是加了笔记本键盘后导致TP驱动的设备节点改变了,比如说,以前是event4,加了笔记本键盘后event6,导致应用程序使用的设备节点跟TP驱动不匹配。0 X; o1 W( o) b( s' u

& T5 ]& J4 O8 j, Y, _) b+ Y1 ^- J7 X于是,我就纳闷了,以前的方法是在编译的时候写死了,比如配置为4了,运行的时候就是设置为4,不变了,其实这是有一定风险的,例如刚才说的例子。那么,怎么改呢?能不能在允许的时候判断出TP设备节点是哪个呢?答案是可以的。% X$ E3 r. p, r! m+ o( ~3 s+ \

, ]+ z- }- f5 D* Q  P在添加自动获取TP的event_num方案时,遇到了一点点问题:/ I% S( l9 [& u
. C0 P& j. A1 t) G. V
一、在遍历设备节点时候,怎么记录下event_num,C语言很简单啊,i++,但是shell里面不能这么做。
) j7 A3 Y: I: C* m& U$ n
- |* j! o1 b; s& z: v- I二、怎么截获字符串的前几个字符?5 h3 Y+ z1 f! j# ?4 e7 f2 l1 M
* [% z3 [6 `, f) L1 ^

3 ^- A7 G) l* f  s. l
) c. \  L: e( k( i先解决第一个问题,在网上搜了一下,发现有个人写的很好,这里引用一下:% r" \% b6 o! u4 y1 f: n

( [( T8 l' Q5 X9 i  j, N4 u# wa=13 V8 K2 k7 ~0 D& a- \/ u
a=$(($a+1))
% e7 m5 M7 R! \$ g: @a=$[$a+1]/ ^# a9 O7 k, X3 S( l% O9 k
a=`expr $a + 1`. p( P$ p7 C! x( Z6 i+ _  v% I
let a++4 q# S3 v2 K+ K% @, r7 L. i
let a+=1
6 S4 U$ _# l7 k1 L5 V7 s% M& q这几种方法都可以实现i++操作,其中我在实际中使用了 let a++- S8 ~( ?  t! M  Z5 R# i' H+ b
, d/ Y% d% B2 p' i5 X$ d5 b

# q  J# m. E6 r" Z! H( Q第二个问题的方法其实也很多,我这里只说一种容易记住的:+ D9 F( e4 H* n4 \" O7 `

" H8 F  ~: u& U7 V% L例如:有个字符串变量string=abcdefgh,我需要截取前面4个字符,那么shell应该怎么实现?2 w( w8 p7 a8 W* ^* y4 i$ H
  x! N/ T! f/ p" V# p4 I
1 |* B2 v: R  n+ d& s0 x
string="abcdefgh"
0 s) g  D9 a% Ccut_string=`echo $string|cut -c 1-4`
+ S, H; p# \8 A# G1 j/ f- h结果:cut_string=abcd
& i5 L& \; M0 N, M" Z% ~/ @7 `6 j" n% N! z/ y9 s2 g- A5 x
以上2个问题是在实际解决问题的时候遇到的,虽然是不起眼的技术点,慢慢积累还是有用的。
  r5 ]. F( h9 S0 }9 E
2 O3 N. H- e7 u! E* r古语云:不积跬步,无以至千里;不积小流,无以成江海。
5 L0 w5 }8 d3 W
, ^* E0 \6 Y! y" {, S) z& S' G) \( Y
  • TA的每日心情

    2019-11-29 15:37
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2020-4-16 18:56 | 只看该作者
    shell 如何实现i++操作以及字符串截取操作
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-10-26 02:17 , Processed in 0.140625 second(s), 23 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表