版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Shell算术运算,求1+2+3+.+100的和是? 思路: 使用while循环,注意循环体和循环终止条件 注意算术运算的使用,1,#!/bin/bash SUM=0 I=0 while $I -le 100 do SUM=$(SUM+I) I=$(I+1) done echo 由1+2+3+.+100的和是:$SUM,2,文件拷贝,在根目录下创建四个文件m1.txt,m2.txt,m3.txt,m4.txt,用Shell编程,实现自动创建m1,m2,m3,m4四个目录,并将m1.txt ,m2.txt,m3.txt,m4.txt 四个文件分别拷贝到各自相应的目录下 思路: 用touch命令创
2、建文件,mkdir命令创建目录 使用while循环依次拷贝,目录和文件的表示,3,#!/bin/bash cd / touch m1.txt m2.txt m3.txt m4.txt I=1 while $I -le 4 do mkdir m$I cp m$I.txt m$I I=$(I+1) done,4,判断拷贝,用Shell编程,判断一文件是不是字符设备文件,如果是将其拷贝到 /dev 目录下 思路: 使用read命令从键盘上获取文件名 如何判断是否是字符设备,5,#! /bin/bash echo-e please input filename n read FILENAME if -
3、c $FILENAME then cp $FILENAME /dev else echo Its not Charactor device file fi,6,账号删除,编写shell程序,实现自动删除50个账号的功能。账号名为stud1至stud50 思路: 采用while循环删除,循环中变量的对应表示stud$i 查看账户是否存在:在/etc/passwd文件查找 如何搜索指定用户 ls /etc/passwd | grep stud$i,7,#! /bin/bash #deluser.sh i=1 while $i -le 50 do if -n ls /etc/passwd | gre
4、p stud$i then userdel -r stdu$i else echo No find stdu$i i=$($i+1) done,8,创建目录,设计一个Shell程序,在/userdata目录下建立50个目录,即user1user50,并设置每个目录的权限,其中其他用户的权限为:读;文件所有者的权限为:读、写、执行;文件所有者所在组的权限为:读、执行 思路: While循环生成文件目录 判断/userdata是否存在,如果存在直接创建子目录,不存在先创建/userdata再创建子目录 权限赋值rwxr-xr- 数字方式754,9,#! /bin/bash #adddir.sh i
5、=1 while $i -le 50 do if -d /userdata then mkdir -p /userdata/user$i else mkdir /userdata mkdir -p /userdata/user$i fi chmod 754 /userdata/user$i i=$($i+1) done,10,读程序,写注释,#!/bin/sh # /etc/rc.d/rc.httpd # Start/stop/restart the Apache web server. # To make Apache start automatically at boot, make th
6、is # file executable: chmod 755 /etc/rc.d/rc.httpd case “$1 in start) /usr/sbin/apachectl start ; stop) /usr/sbin/apachectl stop ; restart) /usr/sbin/apachectl restart ; *) echo “usage $0 start|stop|restart” ; esac,11,case “$1 in #case结构开始,判断“位置参数”决定执行的操作。本程序携带一个“位置参数”,即$1 start) #若位置参数为start /usr/s
7、bin/apachectl start ; #启动httpd进程 stop) #若位置参数为stop /usr/sbin/apachectl stop ; #关闭httpd进程 restart) #若位置参数为stop /usr/sbin/apachectl restart ; #重新启动httpd进程 *) #若位置参数不是start、stop或restart时 echo “usage $0 start|stop|restart” ; #显示命令提示信息:程序的正确调用方法 esac #case结构结束 (2)程序的功能是启动,停止或重新启动httpd进程 (3)程序的调用方式有三种:启动,
8、停止和重新启动。,12,添加用户,设计一个shell程序,添加一个新组为class1,然后添加属于这个组的30个用户,用户名的形式为stdxx,其中xx从01到30。 思路: 使用while循环添加 使用useradd命令添加 应增加用户的主目录,以及修改目录权限和组的权限,13,#!/bin/sh i=1 groupadd class1 while $i -le 30 do if $i -le 9 ;then USERNAME=stu0$i else USERNAME=stu$i fi useradd $USERNAME mkdir /home/$USERNAME chown -R $USERNAME /home/$USERNAME chgrp -R class1 /home/$USERNAME i=$($i 1) done,14,压缩备份,设计一个shell程序,备份并压缩/etc目录的所有内容,存放在/root/bak目录里,且文件名为如下形式yymmdd_etc,yy为年,mm为月,dd为日 思路: 判断目录是否存在,若不存在首先建立目录 使用tar命令进行压缩 格式化日期作为文件名 Date +%y%m%d,15,#!/bin/sh DIRNAME=ls /root | grep bak if -z $DIRNAME ; then mkdir
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论