Linuxshell程序设计(一).ppt
《Linuxshell程序设计(一).ppt》由会员分享,可在线阅读,更多相关《Linuxshell程序设计(一).ppt(54页珍藏版)》请在课桌文档上搜索。
1、Linux shell程序设计(一),shell是UNIX/Linux系统中一个重要的层次,它是用户与系统交互作用的界面。命令解释器 一种高级程序设计语言,主要内容,6.1 shell概述6.2 命令历史6.3 名称补全6.4 别名6.5 shell特殊字符6.6 shell变量6.7 算术运算6.8 控制结构6.9 shell脚本测试,6.1 shell概述,6.1.1 shell的特点6.1.2 shell的种类6.1.3 shell脚本的建立和执行,6.1.1 shell的特点,命令执行提供文件名扩展字符(通配符)I/O重定向()管道(|)环境控制后台处理(&)结构化的程序模块shell
2、脚本,6.1.2 shell的种类,Bourne shell(简称sh)由Bell实验室的Steven Bourne为UNIX开发是UNIX的默认shell是其他shell的开发基础C shell(csh)加州伯克利大学的Bill Joy为BSD UNIX开发的提供了命令补全、命令别名等C shell与Bourne shell并不兼容,6.1.2 shell的种类,Korn shell(ksh)Bell实验室的David Korn开发的集合了C shell和Bourne shell的优点与sh完全兼容Bourne Again shell(bash)自由软件基金会(GNU)开发的shellLin
3、ux系统中默认的shell继承了上述版本的优点与sh完全兼容,6.1.3 shell脚本的建立和执行,shell脚本的建立shell脚本是一个文件,其中包含将由shell执行的一系列命令。当运行一个shell脚本时,脚本文件中的每一条命令被传送给shell执行。方法:利用编辑器(如vi),6.1.3 shell脚本的建立和执行,【例6.1】由几条简单命令组成的shell程序datepwdcd.ls-l,6.1.3 shell脚本的建立和执行,执行shell脚本的方法输入定向到shell脚本格式$bash 脚本名以脚本名作为bash参数格式$bash 脚本名 参数将shell脚本的权限设置为可执
4、行,直接执行例如,$chmod a+x ex1$PATH=$PATH:.#把当前目录赋给变量PATH或者将ex1拷贝到/bin下$ex1,6.1.3 shell脚本的建立和执行,【例6.2】显示当前的日期时间、执行路径、用户账号及所在的目录位置。#!/bin/bash/调用bash进行解释#This script is a test!echo n“Date and time is:”date echo“The executable path is:$PATH”echo“Your name is:whoami”echo-n“Your current directory is:”pwd#end见e
5、x2,6.1.3 shell脚本的建立和执行,【例6.3】统计车间生产数据,每天上午和下午下班前必须对数据进行双次备份,且要求保存最近三次备份,要备份的数据存放于/home/xxh/workdata/中,最近三次备份文件为:worknewdata.tar、work2nddata.tar、wok3rddata.tar。备份文件存放于/home/xxh/disk1backup/和/home/jsj/disk2backup/中,改手工为shell程序进行备份。cd/home/xxh/disk1backup/ls lcd/home/jsj/disk2backup/ls l,6.1.3 shell脚本的
6、建立和执行,步骤1:分析流程(手工)(1)rm/home/xxh/disk1backup/work3rddata.tar(2)mv/home/xxh/disk1backup/work2nddata.tar/home/xxh/disk1backup/work3rddata.tar(3)mv/home/xxh/disk1backup/worknewdata.tar/home/xxh/disk1backup/work2nddata.tar(4)tar cf/home/xxh/disk1backup/worknewdata.tar/home/xxh/workdata/(5)rm/home/jsj/di
7、sk2backup/work*data.rar(6)cp/home/xxh/disk1backup/work*data.tar/home/jsj/disk2backup/(7)使用输出任务完成的提示信息,6.1.3 shell脚本的建立和执行,步骤2:使用vi编辑shell程序:autobackupdata.shell,内容如下:#!/bin/bash#delete file workdata.tarrm/home/xxh/disk1backup/work3rddata.tar#rename file work2nddata.tar to work3rddata.tarmv/home/xxh/
8、disk1backup/work2nddata.tar/home/xxh/disk1backup/work3rddata.tar#rename file worknewdata.tar to work2nddata.tarmv/home/xxh/disk1backup/worknewdata.tar/home/xxh/disk1backup/work2nddata.tar#backup/home/xxh/workdata to/home/xxh/disk1backup/worknewdata.tartar cf/home/xxh/disk1backup/worknewdata.tar/home
9、/xxh/workdata/#delete file worknewdata.tar,work2nddata.tar和work3rddata.tar in/home/jsj/disk2backuprm/home/jsj/disk2backup/work*data.tar#copy/home/xxh/disk1backup/work*data.tar to/home/jsj/disk2backupcp/home/xxh/disk1backup/work*data.tar/home/jsj/disk2backup/echo“task is finished!”,6.1.3 shell脚本的建立和执
10、行,步骤3:调试程序bash autobackupdata.shell若有错,改错。步骤4:增加shell程序的可执行权并运行chmod a+x autobackupdata.shell步骤5:检测,6.1.3 shell脚本的建立和执行,说明:如果文件被标记为可执行的,但不是被编译过的程序,shell就认为它是个shell脚本从用户的观点看,执行shell脚本的方式与执行一般的可执行文件的方式相似。shell脚本经常被用来执行重复性的工作。,6.2 命令历史,6.2.1 显示历史命令6.2.2 执行历史命令,6.2.1 显示历史命令,功能用户可以列出以前输入的命令,查找用户已键入的命令,编辑
11、和重新执行以前的命令。语法格式history 选项 参数说明可以使用键盘上的方向按键,重复过去用过的命令:“”键,“”键,6.2.2 执行历史命令,功能是一种命令替换,它以字符“!”开头,,6.2.2 执行历史命令,说明:使用用户主目录下面的文件“.bash_history”来保存历史命令。历史文件中能够保留的命令个数,默认值为1000。可以利用HISTSIZE变量重新设定新值清除历史清单里的所有记录$history-c,6.3 名称补全,输入目录名或文件名或命令名的开头部分,Linux根据输入的字母自动补全剩余部分。方法:按tab键,6.4 别名,6.4.1 定义别名alias6.4.2 取
12、消别名unalias,6.4.1 定义别名,格式alias name=value例如:$alias/显示别名清单$alias ll/显示别名ll的内容$alias lll=ls-a/赋值号两边不能有空格注意:定义别名时,往往用单引号将内容括起来,防止产生歧义。,6.4.2 取消别名,功能从别名表中删除指定的别名。例如:$unalias ll说明:unalias命令可以在一个命令中同时取消多个别名的定义,6.5 shell特殊字符,6.5.1 一般通配符6.5.2 引号6.5.3 输入/输出重定向6.5.4 注释、管道操作符、后台命令,6.5.1 一般通配符,星号(*)功能匹配任意字符的出现。问
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Linuxshell 程序设计

链接地址:https://www.desk33.com/p-242021.html