欢迎来到天天文库
浏览记录
ID:41033239
大小:19.73 KB
页数:5页
时间:2019-08-14
《简单shell编程》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、简单shell编程一.Shell编程概述问题1:请各位同学在home目录下创建5个目录,目录名称分别为student0,student1,student2,student3,student4.且修改它们的权限为所有用户都具有完全的操作权限。问题2:请各位同学在home目录下创建100目录,目录名称为class1—class100.解决办法:通过一个shell脚本程序来实现,程序如下,用vi编辑器建立一个firstshell文件,内容如下:#!/bin/bash//指明该程序被那个shell来执行!cd/home/shelldir//进入home/shelldir目录mkdirne
2、wdir//在shelldir目录下新建newdir目录i=0//给变量i赋初值while[$i–lt50];do//循环,判断i是否小于50,成立继续循环leti=i+1//让i变量值增加1mkdir/home/shelldir/newdir/student$i//在newdir目录下创建student1到student50chmod754/home/shelldir/newdir/student$idone保存文件,退出vi,通过执行#chmoda+xfirstshell修改文件权限,赋予文件可执行权限,通过#./firstshell或者#/bin/bashfirstshel
3、l来执行程序,查看程序运行结果。程序说明:1.程序必须以下面的行开始(必须方在文件的第一行): #!/bin/bash符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/bash来执行程序。2.当编辑好脚本时,如果要执行该脚本,还必须使其可执行。要使脚本可执行,必须为脚本添加可执行权限。#chmod+xfilename3.输入:#./filename来执行脚本程序。如同其他语言一样,通过我们使用任意一种文字编辑器,比如nedit、kedit、emacs、vi等来编写我们的shell程序。Linux中有好多中不同的shell,通常我们使用bash
4、(bourneagainshell)进行shell编程,因为bash是免费的并且很容易使用。这些脚本同样可以在其他bash中使用。注:1.可以通过#echo$SHELL查看当前系统所运行的shell类型;2.可以通过#chsh查看系统上所有的shell。3.可以直接通过输入shell名来运行新的shell。比如#ash,启动ash。二.为什么要进行shell编程在Linux系统中,虽然有各种各样的图形化接口工具,但是shell仍然是一个非常灵活的工具。Shell不仅仅是命令的收集,而且是一门非常棒的编程语言。可以通过使用shell使大量的任务自动化,shell特别擅长系统管理任务
5、,尤其适合那些易用性、可维护性和便携性比效率更重要的任务。三.shell程序组成Shell程序有注释,shell命令,变量,表达式,流程控制等组成。1.shell程序注释在进行shell编程时,以#开头的句子表示注释,直到这一行的结束。初学者要养成在程序中使用注释的习惯。如果使用了注释,那么即使相当长的时间内没有使用该脚本,也能在很短的时间内明白该脚本的作用及工作原理。这种习惯对一个优秀的技术人员来说非常重要2.命令a.linux下常用的各类命令,比如ls,cd,mkdir,pwd,rm,rmdir等等。b.shell中的算术运算。如leti=i+13.变量在其他编程语言中可以使
6、用变量。在shell编程中,也有各种变量,特别是在C语言中,变量使用之前一定要先定义,然后再使用;shell程序中也可以使用各种变量,shell编程中所有的变量都由字符串组成,并且shell程序中的变量不需要提前进行声明定义,可以直接使用。如程序中所示:i=0//变量名=值取出变量值可以加一个美元符号($)在变量前面:$iShell脚本中除了用户自己定义的变量仅在程序内有效,还有系统定义的变量,比如环境变量。由export关键字处理过的变量叫做环境变量。我们不对环境变量进行讨论,环境变量至关重要,在后面章节中会详细介绍。4..shell脚本程序中的表达式表达式是shell脚本中必
7、不可少,如实例程序中的数学表达式leti=i+1shell程序中的数学表达式需要一些程序来完成,如let,expr等。Shell中还有其他的表达式比如关系表达式等如两数比较的$i–lt505.shell中的流程控制语句循环语句分支语句练习:请大家自己编写一个shell脚本程序,来清除在前面实例中新建的所有目录。备注:shell编程以后会很常用,大家一定认真练习下。
此文档下载收益归作者所有