摘要: linux bash shell之变量替换::=句法、=句法、:-句法、-句法、=?句法、?句法、:+句法、+句法变量替换和变量默认值设置是紧密相关的,至少从概念出发是如此。参数扩张是将类似于变量的参数用它的值来替换。例如以“echo $VAR”的形式调用一个简单的变量。此外还有更多的特性可以访问。这个句法还包含一些没有扩展的特性,虽然这些特性自身很有意义。首先,这类特性执行默认变量赋值。使用这些特性时,整个表达式需要用花括号括起来。: ${VAR:=”some default”}这些代码开始的冒号是一个正确执行非活动任务的shell命令。在这个句法中,它仅仅扩展了行中紧随其后的所有参数。本例 阅读全文
posted @ 2011-04-22 12:12 fhefh 阅读(39838) 评论(3) 推荐(4) 编辑
摘要: 摘抄自:ABS_CN 当要引用一个变量的值时,一般推荐使用双引号。使用双引号除了变量名[2]前缀($)、后引符(`)和转义符(\)外,会使shell不再解释引号中其它所有的特殊字符。[3]用双引号时$仍被当成特殊字符,允许引用一个被双引号引起的变量("$variable"), 那也是说$variable会被它的值所代替。用双引号还能使句子不被分割开.[4]一个参数用双引号引起来能使它被看做一个单元,这样即使参数里面包含有空白字符也不会被shell分割开了。 1variable1="a variable containing five words" 2CO 阅读全文
posted @ 2011-04-21 21:21 fhefh 阅读(31698) 评论(2) 推荐(2) 编辑
摘要: 单引号内的字符串直接量单引号内的字符串直接量(single-quoted string literal)指的是一对单引号圈引的一串字符。前后两个单引号并不属于字符串的一部分,它们只是用来让Perl识别字符串的开头和结尾。除了单引号和反斜字符外,它们只是用来让Perl识别字符串的开头和结尾。除了单引号和反斜线字符外,单引号内所有字符都代表它们自己(包括换行字符,如果该字符串表示多行的数据的话)。要表示反斜线字符本身,需要在这个反斜线字符前再加一个反斜线字符;要表示单引号本身时,同样在单引号前加一个反斜线字符,来看看一下情况:‘fred’#总共4个字符:f、r、e、d‘barney’#总共6个字符 阅读全文
posted @ 2011-04-19 22:38 fhefh 阅读(5011) 评论(0) 推荐(0) 编辑
摘要: 转载自:http://blog.csdn.net/fox_lht/archive/2010/10/19/5950790.aspx当我还在布鲁克大学上学的时候,Macquarium实验室中充满了苹果公司的Macintosh Plus电脑。一天,我在为第三年的操作系统课程准备一个程序。我的一个小程序报告没有错误,当我运行它时,黑白色的桌面上出现了竖条,我的软盘被退出来了,计算机然后从新启动。经过更仔细的检查,我意识到我在if语句中使用了不正确的判断符号“=”,应该是“==”。这个小错误导致了不可以预见的结果,从那时起,我将C语言当做一个有精神病的室友,我们可以一起生活、一起工作,但是只要你一不注意 阅读全文
posted @ 2011-04-17 21:05 fhefh 阅读(3037) 评论(0) 推荐(0) 编辑
摘要: 转载自:http://blog.csdn.net/fox_lht/archive/2010/09/20/5897336.aspx7.复合命令除了最简单的脚本,你很少想要执行每一个命令。执行一组命令或者重复执行一组命令若干次比执行单个命令更加有助。复合命令是将命令封装在一组其他命令中。从可读性来说,封装后的命令使用缩进格式将会使复合命令的代码清晰并便于阅读。管理员曾经抱怨过我的缩进比标准的缩进少了一个空格(我必须使用尺子在屏幕上测量才能确定此事),我认为这不是什么问题,但是他说,当输入0时,它的程序会崩溃。复合命令总是有两个命令组成。命令的结束符是该命令相反拼写顺序,就像使用括号将命令括住了。例 阅读全文
posted @ 2011-04-17 21:04 fhefh 阅读(2040) 评论(0) 推荐(1) 编辑
摘要: 转载自:http://blog.csdn.net/fox_lht/archive/2010/09/19/5894940.aspx6.表达式表达式是一个计算公式,通过它可以得出一个值。Bash有几个内置的命令和函数是计算表达式,它们不是所有的都有相同的语法或特性。有时相同的表达式有不止一种的计算方法。还有一些指定的特性用于罕见的情形下。很少有编程人员记住所有的这些细小的差别。在一次我和教授兼作家E Ray Skilton先生的对话中,我们讨论了下拉菜单是用于对命令做出选择而不是对记忆的辅助。他从他的Atari计算面前转过头来问我:“你是否因为学习了太多的计算机语言而开始忘记一些命令的语法了?”。 阅读全文
posted @ 2011-04-17 21:03 fhefh 阅读(3288) 评论(0) 推荐(0) 编辑
摘要: 转载自:http://blog.csdn.net/fox_lht/archive/2010/09/15/5886416.aspx5.变量命令执行的结果可以保存到文件中或变量内。因为变量是保存在内存中的,它们可以比文件更快的进行查阅。Bash对变量的大小不进行限制:它们足以保存任何你想要保存的内容。对于外壳脚本程序来说使用变量是最基本的要求。本章将深度讨论变量并阐释如何在外壳脚本程序中使用它们,例如从基本的变量使用到使用eval命令扩展变量。变量的基本使用使用Bash的declare命令可以声明一个变量,例如声明变量COST使用下面的命令:$ declare COST为了兼容Korn外壳语言,你 阅读全文
posted @ 2011-04-17 20:43 fhefh 阅读(6030) 评论(0) 推荐(0) 编辑
摘要: 由于vim自带了omni completionomni completion可以根据文件类型,自动识别,进行关键字补全可以使编辑“vim /etc/vimrc”,来修改:+++++++++++++++++++++++++++++++++""""""""""""""""""""""""""""""&q 阅读全文
posted @ 2011-04-17 09:05 fhefh 阅读(2894) 评论(0) 推荐(0) 编辑
摘要: 1.使用bash --version查看bash的版本2.去http://ftp.gnu.org/gnu/bash/下载bash3.安装bash: 将下载的bash文件放入到某个文件夹,然后进行解压: tar zxvf bash-x.x.tar.gz x.x为版本号码 cd bash-x.x ./configure make make install 阅读全文
posted @ 2011-04-16 19:38 fhefh 阅读(5562) 评论(0) 推荐(0) 编辑
摘要: 转载自:http://blog.163.com/zhang_sheng_cun/blog/static/46288667200792604435190/http://hi.baidu.com/istang/blog/item/b8a38d6e0d0f1fd780cb4a2b.html在终端下使用vim进行编辑时,默认情况下,编辑的界面上是没有显示行号、语法高亮度显示、智能缩进等功能的。为了更好的在vim下进行工作,需要手动设置一个配置文件:.vimrc。在启动vim时,当前用户根目录下的.vimrc文件会被自动读取,该文件可以包含一些设置甚至脚本,所以,一般情况下把.vimrc文件创建在当前用 阅读全文
posted @ 2011-04-16 18:44 fhefh 阅读(8121) 评论(0) 推荐(0) 编辑