如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第6章Shell编程Shell概述Shell关系图什么是ShellShell解析命令过程常用的Shell2.BashBash是大多数Linux系统的默认Shell。Bash有以下的优点:1)补全命令。在Bash命令提示符下输入命令或程序名时,若没有输全命令或程序名,按“Tab”键,Bash将自动补全命令或程序名。2)通配符。在Bash下可以使用通配符“*”和“?”。“*”可以替代多个字符,而“?”则替代一个字符。3)历史命令。Bash能自动跟踪用户每次输入的命令,并把输入的命令保存在历史列表缓冲区中。4)别名。在Bash下,可用alias和unalias命令给命令或可执行程序起别名和删除别名,这样就可以用自己习惯的方式输入命令。aliaslm=`ls-al`以后用lm命令就相当于ls-al5)输入/输出重定向。输入重定向用于改变命令的输入,输出重定向用于改变命令的输出系统默认的输入为键盘、输出为显示器,输入/输出重定向可以改变输入输出例:输入重定向mail–s“test”root</etc/passwd;将</etc/passwd内容邮寄给root用户,如果不用输入重定向,则要手动输入。例:输出重定向ls>dir.out上面命令将ls命令的输出保存为文件dir.out。ls>>dir.out上面命令将ls命令的输出追加到文件dir.out。6)管道。管道用于将一系列的命令连接起来,也就是把前面命令的输出作为后面命令的输入。管道的命令是“|”。管道的功能和用法与DOS/Windows系统的完全相同。例:catdir.out|grep"test"|wc–l命令演示:lastlast|greprootlast|greproot|wc-l7)提示符。Bash有两级提示符。第一级提示符就是登录Shell时见到的,默认为“$”。可以通过重新给PS1变量赋值来改变第一级提示符。当Bash需要进一步提示以便补全命令时,它会显示第二级提示符。第二级提示符默认为“>”,可以通过重新给PS2变量赋值来改变第二级提示符。一些特殊意义的字符也可以加入提示符赋值中。8)作业控制。作业控制是指在一个作业执行过程中,控制执行的状态。可以挂起一个正在执行的进程,并在以后恢复执行该进程。想想:一个命令只能完成一项任务,有时我们要求做系统处理的工作较多,而且什么时候执行也不定,怎么办?采用命令的组合,命令的组合就是简单的编程过程3.shell脚本的建立和执行(1)shell脚本的建立Shell程序可以存放在文件中,这种被shell解释执行的命令文件称为shell脚本。Shell脚本程序与DOS/Windows系统的.bat批处理文件极为相似,但功能远远超过.bat批处理文件。它与WindowsNT系列网络操作系统中的脚本的功能和作用类似。shell脚本可以包含任意从键盘键入的Linux命令。建立shell脚本的步骤与建立普通文本文件的方式相同,利用编辑器(如vi)进行程序录入和编辑加工。(2)执行shell脚本的方式执行shell脚本的方式基本上有下述三种。1)输入重定向。即用输入重定向方式让shell从给定文件中读入命令行,并进行相应处理。其一般形式:bash<脚本名例:bash<ex12)以脚本名作为参数。其一般形式:bash脚本名例:bashex2/usr/meng/usr/zhang过程与第一个类似,但可以带参数,增加灵活性3)将shell脚本的权限设置为可执行,然后在提示符下直接执行它。通常,用户是不能直接执行由正文编辑器(如vi)建立的shell脚本的,因为直接编辑生成的脚本文件没有“执行”权限。如果要把shell脚本直接当作命令执行,就需要利用命令chmod将它置为有“执行”权限。例如,chmoda+xex2就把shell脚本“ex2”设置为对所有用户都有“执行”权限。然后,在提示符后输入脚本名“ex2”就可直接执行该文件。例如:ex2在windos环境,一个用户一般都有自己的个性化桌面,随系统启动时的程序:如qq,等等,这些设置用户工作环境在Linux一般通过一些变量来完成。Shell环境变量在用户登录过程中系统要做的一件事就是建立用户环境,就是Shell下的控制及设置,包括文件搜索路径、用户目录和系统提示符等。Linux(Shell)环境由许多变量和这些变量的值组成,通过设置这些环境变量来控制用户环境。1.常用的环境变量1)HOME:用户主目录的全路径名。主目录是开始工作的位置,默认情况下,普通用户的主目录为/home/用户名,root用户的主目录为/root。例如,如果你的用户名为