玩转Bash脚本
介绍Unix-like系统下最流行的Shell——Bash的脚本语法。不管是linux或者OS X都采用了Bash。本系列博文从一门编程语言的角度来介绍Bash,而非是介绍Shell中的各种命令。内容包括变量,流程控制,数组,函数,字符串处理等等。满足linux初学者的日常需要。
果冻虾仁
这个作者很懒,什么都没留下…
展开
-
玩转Bash脚本:循环结构之while循环
和其他语言一样Bash的循环结构中也有while语句。它的基本结构为 while 条件;do 循环体;done 和其他语言不同的是,bash脚本中的while条件很丰富,可以是方括号[]就像if那样的条件,也可以是终端的命令作为条件。bash的死循环结构十分简洁不用while(1)不用while(true),只要while :。此外bash的while还能和重定向符号>和<联用。怎么样,有趣吧。原创 2015-01-31 16:27:56 · 122144 阅读 · 2 评论 -
玩转Bash脚本:循环结构之for循环
暌违多日。为大家奉上《玩转Bash脚本》系列的第7篇,这次我来介绍一下Shell脚本中循环结构里面的for循环。shell脚本除了自身风格的for循环外,还支持C语言风格的for循环哦原创 2014-12-13 19:56:09 · 59902 阅读 · 0 评论 -
玩转Bash脚本:数值计算
Bash中的数学运算并不如其他语言般简便,因为Bash把所有变量都视作字符串,所以a=1+2,a并不等于3,而是等于字符串1+2。为了解决这一问题,有如下几种方案。$[ ],$(()) ,expr,bc,let原创 2014-10-22 11:36:55 · 28794 阅读 · 2 评论 -
玩转Bash脚本:选择结构之case
之前讲过if结构,本文讲到了bash脚本选择结构中的case语句,本以为case内容不多。然而在写作过程中才发现,可以写的内容这么多。包括一些不常见的用法,比如用 ;& 或 ;;&来代替;; 结束一个条件。还有条件中(也就是右括号里面)支持的正则表达式,*、?、[ ]、()。还有POSIX的字符类。原创 2014-10-05 12:32:34 · 21084 阅读 · 0 评论 -
玩转Bash脚本:特殊变量
在前面博文中我讲过了变量基础部分《变量基本概念及其初始化》。我们知道假如我们有初始化一个变量a=hello,那么如果我们想打印它的值,我们需要使用echo $a。但是除此之外还有很多特殊的变量,可供 $ 使用。本文讲到了$0 # * @ _ ? ! -这几个特殊变量的含义。脚本的参数正如同C语言中有main(int argc,char **argv),Java中有main(String[]args)一样,Bash同样能对执行脚本时附加的参数做操作。原创 2014-09-25 20:56:07 · 3980 阅读 · 0 评论 -
玩转Bash脚本:选择结构之if
几乎所有的编程语言中都有流程控制的概念,即顺序结构、选择结构和循环结构。选择结构也称分支结构,比如C类语言中的 if 和 switch语句。if的条件前面我已经讲过了test表达式及其简化版 [ ] 运算符的使用,这些判断的语句即可作为if结构的条件。Bash shell中我们可以使用的任何能够有真假判断功能的命令(无论是内部命令,还是外部命令)都可以作为判断的条件。原创 2014-09-17 09:42:54 · 4128 阅读 · 0 评论 -
玩转Bash脚本:变量基本概念及其初始化
与其他语言不同的是Bash属于无类型语言,如果强要说一种类型,可以认为都是字符串。本文介绍Bash变量基本概念以及初始化的三种方式。另外还有赋随机值的方法。原创 2014-08-06 17:26:05 · 8222 阅读 · 0 评论 -
玩转Bash脚本:test测试语句
之前写的这篇博文,最近发现讹误太多,又被多家网站(比如推酷,51CTO)转载过了。为避免误人子弟,贻害苍生。今特此更正:关于真值的讨论,尤其关于test测试字符串时的一些错误。还有莫名其妙的 -n 选项。 并且更改了排版。test就是测试的意思,常用在流程控制语句中作为条件。本文涉及test用于整数,字符串,文件比较时的一些选项。还有test的简化版 [ ]的一些介绍。原创 2014-08-05 10:26:06 · 7079 阅读 · 0 评论