摘要: 象专业人员那样截断字符串尽管 basename 和 dirname 是很好的工具,但有时可能需要执行更高级的字符串“截断”,而不只是标准的路径名操作。当需要更强的说服力时,可以利用 bash 内置的变量扩展功能。已经使用了类似于 ${MYVAR} 的标准类型的变量扩展。但是 bash 自身也可以执行一些便利的字符串截断。看一下这些例子:第一种方法:${varible##*s... 阅读全文
posted @ 2010-01-12 14:32 3qfly 阅读(435) 评论(0) 推荐(0) 编辑
摘要: Bash编程一.Bash特殊字符1.通配符:*:匹配任何字符串?:匹配任何单个字符集合运算符:用一些单个字、一个连续范围或断续的字符集合作为通配符[set]:用字符集合作通配符匹配单个字符,如:[aeiou],[a-o],[a-h,w-z][!set]:除了集合外的所有字符组成的集合作通配符2.花括号展开式(可以嵌套):格式:[前导字符串]{字符串1[{嵌套字符串1…}][,字符传2... 阅读全文
posted @ 2009-12-31 18:52 3qfly 阅读(322) 评论(0) 推荐(0) 编辑
摘要: 我们继续解析makefile,vivi的makefile的开始部分是设置了一些版本信息以及编译器的一些设置,接下来的工作就开始真是的编译了。all : do-it - all ifeq (.config, $ ( wildcard .config))include .configelseCONFIGURATION = configdo-it - all : configendifdo-it - a... 阅读全文
posted @ 2009-12-30 21:04 3qfly 阅读(399) 评论(0) 推荐(0) 编辑
摘要: 刚开始我们说过,在生成配置文件有很多方法,可以使用make menuconfig也可以使用make config,那么这些实现是在makefile的什么地方:oldconfig: $(CONFIG_SHELL) scripts/Configure -d arch/config.inconfig: $(CONFIG_SHELL) scripts/Configure arch/config.inm... 阅读全文
posted @ 2009-12-30 21:04 3qfly 阅读(242) 评论(0) 推荐(0) 编辑
摘要: vivi的主makefile解析完了,但是如果仔细分析vivi的源码会发现,在实际的vivi的源码还有很多其他的makefile,这里我们这么进行分类,在vivi/下的Makefile我们称之为主makefile,在 arch/目录下的makefile称之为平台makefile,而在其他目录下的makefile称之为子makefile,这样的分类是根据它的功能来划分的,在一些的子目录下,都有独立的... 阅读全文
posted @ 2009-12-30 21:04 3qfly 阅读(558) 评论(0) 推荐(1) 编辑
摘要: 这段时间学习的压力要小的多,处理做LFS外,还编译了vivi,vivi是mizi公司一款bootloader,总体说了,这是一个轻量级的bootloader,代码的规模比较小,非常适合用于学习研究,不想uboot,万行的代码,不是那么容易读的,同时,vivi还有一个优点,就是它的Makefile文件结构,完全是仿照kernel的Makefile,所以,学习vivi的Makefile是很有价值的,可... 阅读全文
posted @ 2009-12-30 21:03 3qfly 阅读(802) 评论(0) 推荐(0) 编辑
摘要: bash实现“多进程” 在bash中,使用后台任务来实现任务的“多进程化”。在不加控制的模式下,不管有多少任务,全部都后台执行。也就是说,在这种情况下,有多少任务就有多少“进程”在同时执行。我们就先实现第一种情况:实例一:正常情况脚本#!/bin/bashfor((i=0;i<5;i++));do{sleep3;echo... 阅读全文
posted @ 2009-12-30 20:04 3qfly 阅读(1537) 评论(0) 推荐(1) 编辑
摘要: 0:80 55 55 bc 7f 41 64 6d 69 6e 00 00 00 00 00 00 000:90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 000:a0 00 00 00 00 90 6e 00 00 a8 01 00 00 00 00 00 00打开你vss数据库所在的文件夹,打开data目录,找到um.dat文件,用十六进制编辑器... 阅读全文
posted @ 2009-12-20 20:04 3qfly 阅读(468) 评论(0) 推荐(0) 编辑
摘要: winmerge使用手册http://winmerge.org/2.6/manual/index.html解决版本冲突的命令。在冲突解决之后,需要使用svn resolved来告诉subversion冲突解决,这样才能提交更新。冲突发生时,subversion会在Work Copy中保存所有的目标文件版本(上次更新版本、当前获取的版本,即别人提交的版本、自己更新的版本、目标文件。假设文件名是san... 阅读全文
posted @ 2009-12-20 18:18 3qfly 阅读(427) 评论(0) 推荐(0) 编辑
摘要: f [ condition ]then actionfi注意:“if”和“[”之间需要空格,如果你不空格,shell会报告语法错误的。我就被这个浪费了好一阵时间conditon测试类型对照表运算符 描述 示例文件比较运算符 -e filename 如果 filename存在,则为真 [ -e /var/log/syslog ]-d filename ... 阅读全文
posted @ 2009-12-20 14:34 3qfly 阅读(1144) 评论(0) 推荐(0) 编辑