Shell脚本 基础知识

Shell脚本 基础知识

ID:42793579

大小:805.70 KB

页数:16页

时间:2019-09-22

Shell脚本 基础知识_第1页
Shell脚本 基础知识_第2页
Shell脚本 基础知识_第3页
Shell脚本 基础知识_第4页
Shell脚本 基础知识_第5页
资源描述:

《Shell脚本 基础知识》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、◆1.1语法基本介绍1.1.1开头程序必须以下面的行开始(必须方在文件的第一行):#!/bin/sh符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/sh来执行程序。当编辑好脚本时,如果要执行该脚本,还必须使其可执行。要使脚本可执行:编译chmod+xfilename这样才能用./filename来运行1.1.2注释在进行shell编程时,以#开头的句子表示注释,直到这一行的结束。我们真诚地建议您在程序中使用注释。如果您使用了注释,那么即使相当长的时间内没有使用该脚本,您也能在很短的时间内明白该脚本的作用及工作原理。1.

2、1.3变量在其他编程语言中您必须使用变量。在shell编程中,所有的变量都由字符串组成,并且您不需要对变量进行声明。要赋值给一个变量,您可以这样写:#!/bin/sh#对变量赋值:a="helloworld"#现在打印变量a的内容:echo"Ais:"echo$a有时候变量名很容易与其他文字混淆,比如:num=2echo"thisisthe$numnd"这并不会打印出"thisisthe2nd",而仅仅打印"thisisthe",因为shell会去搜索变量numnd的值,但是这个变量时没有值的。可以使用花括号来告诉shell我们要打印的是num变量:num

3、=2echo"thisisthe${num}nd"这将打印:thisisthe2nd1.1.4环境变量由export关键字处理过的变量叫做环境变量。我们不对环境变量进行讨论,因为通常情况下仅仅在登录脚本中使用环境变量。【什么是shell】简单点理解,就是系统跟计算机硬件交互时使用的中间介质,它只是系统的一个工具。实际上,在shell和计算机硬件之间还有一层东西那就是系统内核了。打个比方,如果把计算机硬件比作一个人的躯体,而系统内核则是人的大脑,至于shell,把它比作人的五官似乎更加贴切些。回到计算机上来,用户直接面对的不是计算机硬件而是shell,用户把

4、指令告诉shell,然后shell再传输给系统内核,接着内核再去支配计算机硬件去执行各种操作。笔者接触的linux发布版本(Redhat/CentOS)系统默认安装的shell叫做bash,即BourneAgainShell,它是sh(BourneShell)的增强版本。BournShell是最早行起来的一个shell,创始人叫StevenBourne,为了纪念他所以叫做BournShell,检称sh。那么这个bash有什么特点呢?1)记录命令历史我们敲过的命令,linux是会有记录的,预设可以记录1000条历史命令。这些命令保存在用户的家目录中的.bas

5、h_history文件中。有一点需要你知道的是,只有当用户正常退出当前shell时,在当前shell中运行的命令才会保存至.bash_history文件中。与命令历史有关的有一个有意思的字符那就是”!”了。常用的有这么几个应用:(1)!!(连续两个”!”),表示执行上一条指令;(2)!n(这里的n是数字),表示执行命令历史中第n条指令,例如”!100”表示执行命令历史中第100个命令;(3)!字符串(字符串大于等于1),例如!ta,表示执行命令历史中最近一次以ta为开头的指令。2)指令和文件名补全在本教程最开始笔者就介绍过这个功能了,记得吗?对了就是按ta

6、b键,它可以帮你补全一个指令,也可以帮你补全一个路径或者一个文件名。连续按两次tab键,系统则会把所有的指令或者文件名都列出来。3)别名前面也出现过alias的介绍,这个就是bash所特有的功能之一了。我们可以通过alias把一个常用的并且很长的指令别名一个简洁易记的指令。如果不想用了,还可以用unalias解除别名功能。直接敲alias会看到目前系统预设的alias:看到了吧,系统预设的alias指令也就这几个而已,你也可以自定义你想要的指令别名。alias语法很简单,alias[命令别名]=[’具体的命令’]。4)通配符在bash下,可以使用*来匹配零

7、个或多个字符,而用?匹配一个字符。5)输入输出从定向输入重定向用于改变命令的输入,输出重定向用于改变命令的输出。输出重定向更为常用,它经常用于将命令的结果输入到文件中,而不是屏幕上。输入重定向的命令是<,输出重定向的命令是>,另外还有错误重定向2>,以及追加重定向>>,稍后会详细介绍。6)管道符前面已经提过过管道符”

8、”,就是把前面的命令运行的结果丢给后面的命令。7)作业控制。当运行一个进程时,你可以使它暂停(按Ctrl+z),然后使用fg命令恢复它,利用bg命令使他到后台运行,你也可以使它终止(按Ctrl+c)。【变量】前面章节中笔者曾经介绍过环境变量P

9、ATH,这个环境变量就是shell预设的一个变量,通常shell预

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。