Shell脚本设计7.1Shell脚本简介以及编写简单脚本

Shell脚本设计7.1Shell脚本简介以及编写简单脚本

ID:46948753

大小:208.00 KB

页数:14页

时间:2019-12-01

Shell脚本设计7.1Shell脚本简介以及编写简单脚本_第1页
Shell脚本设计7.1Shell脚本简介以及编写简单脚本_第2页
Shell脚本设计7.1Shell脚本简介以及编写简单脚本_第3页
Shell脚本设计7.1Shell脚本简介以及编写简单脚本_第4页
Shell脚本设计7.1Shell脚本简介以及编写简单脚本_第5页
资源描述:

《Shell脚本设计7.1Shell脚本简介以及编写简单脚本》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第16讲第7章Shell脚本设计7.1Shell脚本简介 以及编写简单脚本引言什么是Shell脚本?什么时候需要Shell脚本?如何编写一个简单的Shell脚本?【问题1的提出】Geecy软件开发公司的开发人员Tom在调试程序的过程中遇到了一个令人烦恼的问题:在运行一个用C语言编写的应用程序的时候,该程序需要读取一个包含当前时间值的文本文件,该文件的格式必须为:第1行是“月-日-年”,第2行是“时:分”。【问题1的提出】(续)date命令的默认显示格式是:“星期月日时:分:秒时区年”因此,Tom每次运行程序前,都要手工修改该数据文件,即先运行date命令,再修

2、改数据文件,最后运行该应用程序。而且从运行date命令到运行该应用程序最长时间不应该超过1分钟,否则就要重新修改数据文件。【问题1分析】有两种传统的方法可以完成对该数据文件的修改:(1)使用文本编辑器即先运行date命令,记录下当前时间,然后用vi打开该数据文件,再修改数据文件并保存退出,最后立即运行该C写的应用程序。如果从运行date命令到运行该应用程序最长时间超过1分钟,则影响该程序的调试,导致整个过程必须重做。【问题1分析】有两种传统的方法可以完成对该数据文件的修改:(1)使用文本编辑器(2)使用组合命令使用管道和重定向的组合命令,效率大为提高,但是仍然

3、需要输入两个很长的命令,操作上依然不太方便。date

4、cut-f2,3,6-d“"

5、tr"""-">data.txtdate

6、cut-f4-d""

7、cut-f1,2-d":">>data.txt【问题1分析】(续)这两种方法都存在一些缺点,不够理想。事实上,可以采用编写Shell脚本的方式完成此任务。7.1.1认识Shell脚本用户可以把若干个命令保存到一个文本文件,然后使用该文件的名字一次执行所有的命令。这些命令将逐行执行。这样的文本文件称为Shell脚本(ShellScript)。简称脚本。脚本是一组命令的集合。凡是能够在shell提示符下直接执行的命令,

8、都可以在脚本中使用。脚本中还可以使用一些不能在shell提示符下直接执行的语句,这些语句只有在脚本中使用才有效。7.1.2编写简单脚本使用vi编辑一个新文件fist_script:vifirst_script输入以下两行内容:ls-F/date保存文件并退出vi。7.1.3运行脚本在命令提示符下使用某个Shell执行该脚本。例如:bashfirst_script这种方法指定了一个特定的shell版本,此处是bash,来执行该脚本文件;指定的shell将首先读入脚本文件first_script,然后逐行执行脚本中的命令,并依次输出结果。当脚本文件中的命令依次执行

9、完毕,该临时的子shell也自动结束运行,返回到用户原来使用的shell状态下。7.1.3运行脚本(续)另一种运行方式更为常见,即在文件中的开始部分指定一个将要使用的shell,例如,首先修改脚本,在开头增加一行:#!/bin/bash--其中#!必须是第一行的前两个字符,后接具体shell的绝对路径。然后修改脚本的FAP,增加文件拥有者的执行权限:chmodu+xfirst_script最后,象使用系统命令一样直接运行脚本:./first_script注意:无空格7.1.3运行脚本(续)关于直接运行脚本:./first_script中的“./”;由于默认搜索

10、路径PATH并不包含当前工作目录,因此需要添加“./”指定当前需要运行的脚本切确的路径是在当前目录中。显然,也可以使用绝对路径方式来直接告诉系统当前需要运行的脚本的切确路径。用户可以从文件/etc/shell获知系统中所有可用的shell以及其绝对路径。7.1.4注释脚本为了增加可读性,用户可以在脚本中以行为单位插入注释(Comment)。所注释的行使用字符“#”开头,当Shell遇到“#”开头的行将会忽略该行,即运行时,注释并不会显示出来。【问题1解决方案】1、首先用vi创建新文件update;2、输入下面的内容;3、为脚本update加上执行权限:chmo

11、du+xupdate4、随时可以通过执行脚本update快速生成测试数据文件data.txt#!/bin/bash#Addaformattedstringofdatetodata.txtdate

12、cut-f2,3,6-d""

13、tr"""-">data.txt#Addaformattedstringoftimetodata.txtdate

14、cut-f4-d""

15、cut-f1,2-d":">>data.txt#Displaythecontentofdata.txtcatdata.txt

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

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

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