[嵌入式linux] 发一个知识点,活跃一下linux板块。。。

[复制链接]
 楼主| qyihan 发表于 2013-12-4 10:14 | 显示全部楼层 |阅读模式
本帖最后由 qyihan 于 2013-12-4 10:16 编辑

发一个知识点,活跃一下linux板块。
以下内容部分是翻译得来,经过我的修改和总结:
shell脚本编程中的一些字符串的处理技巧:
(1)、${value:-word}:如果变量value没有定义或者是空字符串,则返回word,否则返回value;
(2)、${value:=word}:如果变量value没有定义或者是空字符串,则返回word,并且把word复制给value,否则返回value;
(3)、${value:%message}:如果value不是一个空字符串,那就什么也不做。否则,message会被发送到标准错误输出,并且程序会退出;
(4)、${value:+word}:如果value不是一个空字符串,返回值将会是word。
(5)、${value:offset}和${value:offset:length}:从变量value获得子串,offset为偏移量,length为要获得子串的长度;
(6)、${#value}:获得变量value的字符个数;
(7)、${value#pattern}和${value##pattern}:去掉value开头与pattern匹配的部分。
(8)、${value%pattern}和${value%%pattern}:和上面的一样,但是它的匹配在尾部。
(9)、${value/pattern/string}和${value//pattern/string}:在变量value中,用string替换掉和pattern匹配的部分,这个替换不会改变原来value的值;
(10)、${value%.*}和${value%%.*}:删除value字符串中以分隔符“.”匹配的右边字符,保留左边字符,"*"为通配符,"."为分隔符,可以为多个字符;
(11)、${value#*.}和${value##*.}:删除value字符串中以分隔符“.”匹配的左边字符,保留右边字符;
(注1:#,%,/ 都是最短匹配,而##,%%,// 都是贪婪匹配,匹配最长,在用到通配符时,这个比较有用)。
(注2:word可以为字符串,也可以为变量,若为变量,前面要加$)。
(那个笑脸是冒号和一个字母o)
附加两个linux使用中提高效率的小小技巧:
(1)、在输入命令时,遇到长命令想要去行首或者行尾,避免频繁移动光标的快捷键:Ctrl+a(回到行首),Ctrl+e(回到行尾);
(2)、在vi编辑器中,命令行模式中,gg回到首行的开头,G回到尾行的开头。
原野之狼 发表于 2013-12-4 11:22 | 显示全部楼层
总结的不错  就是不怎么常用
 楼主| qyihan 发表于 2013-12-4 12:35 | 显示全部楼层
原野之狼 发表于 2013-12-4 11:22
总结的不错  就是不怎么常用

其实是很常用的,linux下面有很多已经编好的脚本,有时候需要去查看程序是怎么执行的,而且,在linux下面编一个小的应用程序或者测试程序,用脚本是很方便的,不需要编译工具来编译。
luoxn28 发表于 2013-12-10 00:10 | 显示全部楼层
虽然看不懂,但希望以后向大神学习!:)
生无所息1 发表于 2013-12-11 09:47 | 显示全部楼层
好像很牛X!
黄小俊 发表于 2013-12-11 13:35 | 显示全部楼层
要用的多才记得住啊。
 楼主| qyihan 发表于 2013-12-11 15:13 | 显示全部楼层
黄小俊 发表于 2013-12-11 13:35
要用的多才记得住啊。

对啊  不过这个也没必要去记,知道有这些就行,用的时候再去查
nongfuxu 发表于 2013-12-13 07:57 | 显示全部楼层
想知道一下,现在学linux还有什么用?安桌虽然是基于它,不过开发安桌应用程序,能用它嘛?不能吧。
 楼主| qyihan 发表于 2013-12-13 16:39 | 显示全部楼层
nongfuxu 发表于 2013-12-13 07:57
想知道一下,现在学linux还有什么用?安桌虽然是基于它,不过开发安桌应用程序,能用它嘛?不能吧。 ...

linux用在各个方面,各个行业,这个大环境倒不必去说它了。
你提到安卓了,举一个例子把,现在的手机安卓应用程序,能操作摄像头,电容屏,声卡,网卡,按键,其实真正操作这些硬件的不是安卓软件,而是底层的设备驱动程序。如果做安卓应用软件开发,你当然不必了解硬件和内核的东西了,只要知道内核提供的接口就行了,但是你如果做驱动开发,那你就必须熟悉内核的原理了。
下面这个图一看就能一目了然了:

本帖子中包含更多资源

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

×
nongfuxu 发表于 2013-12-13 17:20 | 显示全部楼层
楼上说得对。
我想说的是,以后在编程方面的需求,写底层驱动,要比应用层程序,少太多。这个是趁势吧!
arm菜鸟人 发表于 2013-12-15 19:24 | 显示全部楼层
不觉明厉
peakwl 发表于 2013-12-15 22:43 | 显示全部楼层
没学过,支持。
dengxingling8 发表于 2013-12-16 12:58 | 显示全部楼层
nongfuxu 发表于 2013-12-13 17:20
楼上说得对。
我想说的是,以后在编程方面的需求,写底层驱动,要比应用层程序,少太多。这个是趁势吧! ...

这得看做什么吧?
yoghen 发表于 2013-12-16 18:02 | 显示全部楼层
技巧1先收了,其它的慢慢看
sinlaser 发表于 2013-12-19 10:05 | 显示全部楼层
很有用的一个技巧,学习了。激光防护眼镜
加油吧小鱼儿 发表于 2014-1-12 21:07 | 显示全部楼层
俺就是一来学习的
czc123liyanpeng 发表于 2014-1-13 16:41 | 显示全部楼层
慢慢积累而来!
inurl 发表于 2014-1-21 09:16 | 显示全部楼层
看着shell就发怵,楼主救救我吧。
zhao3462910 发表于 2014-1-21 19:13 来自手机 | 显示全部楼层
学习了!
msblast 发表于 2014-1-22 11:40 | 显示全部楼层
正则表达式。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:嵌入式软件成长。。。<*_*>

13

主题

284

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部