- 1、本文档共21页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《Linux入门引导第21章
第21章 bash编程入门
bash shell能够作为命令解释器提供给用户与计算机交互的平台,同样能够作为一种编程语言为用户完成各种批处理工作。
bash是所有shell中最适用于shell脚本开发的解释性语言,如果详细展开,其篇幅可能要像这么一本书一样多,本章所展现给读者的,是最常用的shell编程基础与技巧。
21.1 创建一个简单的脚本
首先,选择一个合适的编辑器,创建一个脚本文件:
:~/test/bash$ vim helloworld.sh
这里假设使用vim编辑器来创建,通常来说,脚本文件最好以sh为后缀名命名,接着,输入简单的脚本内容:
#!/bin/bash
echo helloworld # 我的第一个脚本!
exit 0
现在来分析一下这个简单的脚本中有些什么:
Sha-Bang
bash脚本以一个名为“Sha-Bang”的“#!”符号开头,后跟bash shell的绝对路径。它告诉系统调用什么shell环境来解释该脚本。“Sha-Bang”只能放在脚本文件的第一行。从第二行开始,任何一行中以井号(#)开头后的字符都属于程序注释,是不会被shell所解释运行的。
echo “hellowolrld”
在这个脚本文件的第二行,有一个echo命令以及一段注释。bash脚本的注释是从一行中第一个非引用井号开始到行为的部分。在任何时候,给程序加上一段注释都是没错的。合理的注释有助于他人或者是自己更好地完成日后的维护工作。
exit 0
一个程序结构在结束后,都应当返回一个值,来让调用脚本的程序判断其返回状态,从而更好地处理程序的执行。在这个脚本中,末尾返回了0表示程序执行成功。还有一种常见的返回值就是1,它表示程序执行失败。
创建完这样一个简单的脚本后,就可以执行它了:
:~/test/bash$ bash helloworld.sh
helloworld
:~/test/bash$
通过命令bash,为脚本创建一个执行环境,使脚本能够运行起来。同样的,可以将脚本加上执行权限,直接执行脚本:
:~/test/bash$ ls -l
总计 4
-rw-r--r-- 1 ghostm55 users 63 04-22 08:36 helloworld.sh
:~/test/bash$ chmod a+x helloworld.sh
:~/test/bash$ ls -l
总计 4
-rwxr-xr-x 1 ghostm55 users 63 04-22 08:36 helloworld.sh
:~/test/bash$ ./helloworld.sh
helloworld
:~/test/bash$
可以看到,在将脚本加上执行权限后,用户就可以直接执行脚本了。
在学习本章的bash编程基础时,这个脚本文件将逐步被拓展,最后成为一个可供学习参考的语法示范脚本。
21.2 变量
在使用bash进行脚本编程时,用户可以通过创建变量来动态地存储数据。变量在许多编程语言中都是必不可少的要素,在shell脚本编程中同样如此。
21.2.1 创建一个变量
创建变量的基本语法如下:
变量名=值
等于号(=)是赋值符号,它能够将右边的值赋给变量。在使用一个变量时,需要注意它是大小写敏感的,变量名不能以数字开头,并且不能同时设置两个相同名称的变量。
现在试着创建一个变量dir:
:~/test/bash$ dir=/etc
:~/test/bash$ echo $dir
/etc
:~/test/bash$ echo dir
dir
在命令行下用户就能直接创建变量了。在对一个命令进行赋值后,如果像要读取变量,那么需要在变量名前加上美元符号($),表示这是一个变量。如果不加,那么变量名将只是一个普通的字符串罢了。
现在继续创建一个名为whereisdir的变量,简单地在该变量中调用dir变量,显示dir变量的值:
:~/test/bash$ whereisdir=dir is $dir # 1
bash: is: command not found
:~/test/bash$ whereisdir=dir is $dir # 2
:~/test/bash$ echo $whereisdir
dir is /etc
:~/test/bash$ whereisdir=dir is $dir # 3
:~/test/bash$ echo $whereisdir
dir is $dir
:~/test/bash$ whereisdir=`echo dir is $dir` # 4
:~/test/bash$ echo $whereisdir
dir is /etc
注释1:在第1次对whereisdir这个变量进
文档评论(0)