版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Linux桌面配置与管理项目12:编写Shell脚本项目介绍项目背景你是某学校的网络管理员,学校共有学生16000人。目前学校已搭建了个人主页发布系统,计划为每位学生开通个人主页服务,以方便学生学习。项目功能需求工作尽可能自动化,新生入校能够批量添加用户;老生离校能够批量删除用户;用户缺省密码与用户名相同;Linux常见的运维脚本语言Shell方便、容易学、Linux/Unix运维最常见Perl功能强大、古老Python面向对象Shell概述Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。Shell还是一个功能相当强大的编程语言,易编写,易调试,灵活性较强。Shell是解释执行的脚本语言,在Shell中可以直接调用Linux系统命令。编写、执行第一个Shell脚本Shell脚本的编写原则使用vim编辑器把Linux命令按照顺序写入到一个文件里范例查看当前所在工作路径并列出当前目录下所有文件及属性信息vimsh001.shpwdls-alShell脚本的执行./sh001.shbashsh001.shchmoda+xsh001.sh#!/bin/bash#author:whj2019-06-10#Forexamplebywhjpwdls–alShell—开通个人账号-sh01开通个人账号创建用户useraddwhj01设置密码passwdwhj01修改家目录权限chmodo+x/home/whj01#!/bin/bash#author:whj2019-06-10#Forexamplebywhjuseradd–s/sbin/nologin
whj01passwdwhj01chmodo+x/home/whj01Shell—开通个人账号-sh02避免交互原来passwdwhj01现在echo"123"|passwd--stdinwhj01#!/bin/bash#author:whj2019-06-10#Forexamplebywhjuseraddwhj01echo"123"|passwd--stdinwhj01chmodo+x/home/whj01Shell—开通个人账号-sh03传递参数原来用户名称写在程序里,不灵活现在用户名称作为参数传递给脚本Shell的命令行参数$# 参数个数$0 脚本文件名$1、$2、$3、$4…… 参数列表#!/bin/bash#author:whj2019-06-10#Forexamplebywhjuseradd-s/sbin/nologinwhj01echo"123"|passwd--stdinwhj01chmodo+x/home/whj01#!/bin/bash#author:whj2019-06-10#Forexamplebywhjuseradd-s/sbin/nologin$1echo"123"|passwd--stdin$1chmodo+x/home/$1Shell—练习-sh003编写一个脚本sh003:显示你目前的身份(whoami);显示你目前所在的目录(pwd)。$whoami$pwdShell—开通个人账号-sh04循环添加forwhile#!/bin/bash#从UserList.txt中读取数据创建用户,UserList.txt中每行一个用户名。groupaddstudentsforUserNamein`catUserList.txt`douseradd-gstudents-s/sbin/nologin$UserNameecho$UserName|passwd--stdin$UserNamechmodo+x/home/$UserNamedoneShell—删除个人账号-sh05编写一个脚本sh05:循环删除批量建的用户foruserdel-r$UserNameShell—添加个人账号-sh06传递参数#!/bin/bashgroupaddstudentsforUserNamein`cat$1`douseradd-gstudents-s/sbin/nologin$UserNameecho$UserName|passwd--stdin$UserNamechmodo+x/home/$UserNamedoneShell—进阶-sh10变量由键盘读取read读取来自键盘输入的变量和用户对谈语法:readatestThisisatest.echo$atestread–p“Pleasekeyinyourname:“–t30namedecho$named让用户由键盘输入内容,将该内容变成名为atest的变量提示用户30秒内输入自己的大名,将该字符串作为名为named的变量内容Shell—进阶练习-sh11让用户输入一个数字,程序可以由1+2+3...一直累加到用户输入的数字为止。Shell—进阶练习-sh12编写一个脚本sh12:先查看一下/root/test/log是否存在;若不存在,则创建一个文件,使用touch来创建,创建完成后离开;如果存在,判断是否为文件,若为文件则将之删除后新建一个目录log,之后离开;如果存在,且该名称为目录,则删除此目录!-e<文件>:如果文件存在,则为真;-f<文件>:如果文件为一个普通文件,则为真;Shell—进阶练习-sh13Yum源配置好麻烦,写个脚本自动配置#!/bin/bashecho'[cdrom]'>/etc/yum.repos.d/cdrom.repoecho'name=cdrom'>>/etc/yum.repos.d/cdrom.repoecho'baseurl=file:///mnt'>>/etc/yum.repos.d/cdrom.repoecho'enable=1'>>/etc/yum.repos.d/cdrom.repoecho'gpgcheck=0'>>/etc/yum.repos.d/cdrom.repomount/dev/cdrom/mntyumlistShell—开通个人账号-sh14分支判断#!/bin/bashcase$2in"-a"|"-A")groupaddstudentsforUserNamein`cat$1`douseradd-gstudents-s/sbin/nologin$UserNameecho$UserName|passwd--stdin$UserNamechmodo+x/home/$UserNamedone;;"-d"|"-D")forUserNamein`cat$1`douserdel-r$UserNamedonegroupdelstudents;;*)echo"Usage:$0UserListFile<-a|-d>";;esacShell实例sh15—文件拷贝输出检查测试文件拷贝是否正常如果cp命令没有拷贝文件myfile到myfile.bak,则打印错误信息。错误信息中$
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025湖北恩施自治州金桥劳务有限责任公司招聘2人笔试历年参考题库附带答案详解
- 2025浙江绍兴八达农产品市场有限公司及下属子公司招聘笔试及人员笔试历年参考题库附带答案详解
- 2026年航空物流快速分拣跨境电商岗位笔试模拟题及答案
- 洋口镇渔港泄洪入海通道综合整治项目渔港大道整治工程10kv配电工程总承包项目招标文件
- 2025浙江杭州市建德市资产经营投资有限公司下属子公司招聘4人笔试历年参考题库附带答案详解
- 2025年北京市法学会所属事业单位公开招聘工作人员笔试历年典型考题及考点剖析附带答案详解
- 供应商信用评级审查保证承诺书6篇
- 给水厂站工程施工档案管理保证措施
- 教育培训工作质量保障承诺书8篇
- 公司战略发展与未来愿景承诺函范文7篇
- 阿达木单抗在非银屑病炎症性皮肤病治疗中的应用专家共识解读
- 电仪修班组安全职责培训课件
- 代理记账公司内部复核制度
- 2025年国有企业招聘招商专业人才20人笔试历年难易错考点试卷带答案解析
- 刑事控告书模板
- 2026年广东高考历史考试题目及答案
- 2026年台州市永宁产业投资集团有限公司公开招聘国企编制工作人员的备考题库完整答案详解
- 2026年高考全国卷语文题库试题附答案完整版
- 2026年高级会计实务考试大纲解析与备考指南
- 日本货币课件
- 带状疱疹常见症状及护理要点讲解
评论
0/150
提交评论