Bash文件描述符重定向符号的另类理解
在Unix平台工作的人都使用过Shell的重定向功能,多数人接触较多的是简单的重定向,比如: cmd > some_file 将cmd命令的标准输出重定向到some_file中 cmd < some_file 将some_file的内容作为cmd命令执行的标准输入,或者简单的说cmd命令从some_file读取输入 ...
在Unix平台工作的人都使用过Shell的重定向功能,多数人接触较多的是简单的重定向,比如: cmd > some_file 将cmd命令的标准输出重定向到some_file中 cmd < some_file 将some_file的内容作为cmd命令执行的标准输入,或者简单的说cmd命令从some_file读取输入 ...
近日,Bash Shell正式发布了其4.0版本,该版本可以看作3.x的bugfix版,同时增加了诸如"Associative Arrays"等新特性。在Bash Shell的官方站点你可以下载到最新的4.0版本,不过在GNU的Bash主页上,似乎还找不到4.0版本的所在。Bash作为Linux系统默认Shell,一直受到广泛关注,而且它还是目前几大Shell(Bourne Shell, C Shell、Korn Shell、Bash Shell)里唯一还继续维护和更新的Shell版本了,目前其主要维护者是Chet Ramey,Bash的两个原始作者之一。 ...
拥有了某种工具,往往不等于就能使用好这种工具。拥有工具简单,用好工具、发挥出最大作用则较难。CSCOPE让VIM的使用者有了与SourceInsight"平起平坐“的机会,但是能否将CSCOPE的功能发挥出来还要看你是如何使用它了。 自从VIM”重装上阵“以后,我一直在使用CSCOPE。在使用过程中还是发现了一些”别扭“的事情。一般我会在一个大型Project的源代码的顶层目录使用CSCOPE -Rbq来生成cscope.out文件,如果你在cscope.out所在目录执行VIM的话,VIM会优先将cscope.out作为”符号交叉索引库“(与ctags相比),但是如果你在某个子目录下执行VIM进入编辑状态的话,因当前目录没有cscope.out,所以VIM无法加载cscope.out文件,也就无法在文件间跳转。而必要时你还需要手动执行命令行:cs add {TOP_LEVEL_PATH}/cscope.out才能连接到cscope,发挥其功用。 ...
俗话说:“工欲善其事,必先利其器”。在Unix/Linux上做开发,这里的’器’也同样包括Unix Shell Script,遗憾亚,虽然自己在Unix上开发已经快2年了,但是对Unix Shell Script可以说是’Script盲’一个,很多稍微复杂些的Script自己根本都看不懂。其实这也是自己栽下的’苦果’,因为以前我一直’歧视’Script language,认为那不是真正程序员该精通的,所以也就没有认真钻研过。目前认识到了解一定的Script技术,可以很大程度提高自己的工作效率,有些小工具用Script实现方便极了。这里’扫盲’一是给自己’扫盲’,二是把这些基础的Script技术和那些对和我一样对Script不熟悉的人一起分享。这篇中的所涉及的Shell语法均为符合POSIX标准的语法,可能很多Shell不能与该语法完全相吻合。自己感觉Bash与POSIX Shell语法最为接近。 ...
在Linux上学习Linux内核我想应该是最好的方法了。Linux对我来说绝对是一个新鲜环境,搭建在Linux上的工作环境就是我的首要工作,这篇blog记录的就是我在Linux上的工作环境,也希望对大家有些借鉴意义。 我的Linux是在一个多月以前安装的[注1],安装的版本是Fedora Core 4。我使用的是本地磁盘映像安装,磁盘映像文件很大,总共4个,大约2.4G体积。安装过程倒是没有像网上很多人说得那样不顺利,包括修改、合并分区在内大约用了3个小时就看到Linux的桌面了。 ...