- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5Shell编程概要
引 言 什么是Shell脚本? 什么时候需要Shell脚本? 如何编写一个简单的Shell脚本? 【问题的提出】 Geecy软件开发公司的开发人员Tom在调试程序的过程中遇到了一个令人烦恼的问题:在运行一个用C语言编写的应用程序的时候,该程序需要读取一个包含当前时间值的文本文件,该文件的格式必须为:第1行是“月-日-年”,第2行是“时:分”。 【问题的提出】(续) date命令的默认显示格式是: “星期 月 日 时:分:秒 时区 年” 因此,Tom每次运行程序前,都要手工修改该数据文件,即先运行date命令,再修改数据文件,最后运行该应用程序。而且从运行date命令到运行该应用程序最长时间不应该超过1分钟,否则就要重新修改数据文件。 认识Shell脚本 用户可以把若干个命令保存到一个文本文件,然后使用该文件的名字一次执行所有的命令。这样的文本文件称为Shell脚本(Shell Script)。以下简称脚本。 编写简单脚本 使用vi编辑一个新文件fist_script: vi first_script 输入以下两行内容: ls -F / date 保存文件并退出vi。 运行脚本 在命令提示符下使用某个Shell执行该脚本。例如: bash first_script 运行脚本(续) 另一种运行方式:修改脚本在开头增加一行: #!/bin/bash 修改脚本的FAP,增加文件拥有者的执行权限: chmod u+x first_script 直接运行脚本: ./first_script 注释脚本 用户可以在脚本中以行为单位插入注释(Comment)。 所注释的行使用字符“#”开头,当Shell遇到“#”开头的行将会忽略该行。 【解决方案】 编写一个shell脚本将当前目录下大于10k的文件转移到/tmp目录下 #/bin/sh for?FileName?in?`ls?-l?|?awk?$510240?{print?$9}`? do? mv?$FileName?/tmp? done ?echo?Done! 设计一个shell程序,添加一个新组为class1,然后添加属于这个组的30个用户,用户名的形式为stdxx,其中xx从01到30 #!/bin/sh i=1 groupadd?class1????????//添加一个名为class1的组 while?[?$i?-le?30?]????//循环30次? do ????if?[?$i?-le?9?]??????//如果i的值小于等于9? ????then? ????????USERNAME=std0${i}? ????else????????????????//i的值在9~30之间? ????????USERNAME=std${i} ????fi?? ????useradd?$USERNAME????//添加一个用户名为$USERNAME的用户? ????chown?-R?$USERNAME?/home/$USERNAME??//改变所属用户? ????chgrp?-R?class1?/home/$USERNAME??//改变所属组? ????i=$(($i+1))????//i自增1?? done 编写shell脚本,实现自动删除50个账号的功能,账号名为stud1至stud50。 #!/bin/sh i=1 while?[?$i?-le?50?] do userdel?-r?stud${i}? i=$(($i+1))? done Shell编程 Shell编程 引言 1 Shell的基本概念 2 Shell语法 3 正则表达式 4 Shell编程综合实例 #!/bin/bash # Add a formatted string of date to data.txt date | cut -f2,3,6 -d | tr - data.txt # Add a formatted string of time to data.txt date | cut -f4 -d | cut -f1,2 -d : data.txt # Display the content of data.txt cat data.txt 2 Shell 语 法 2.1 Shell变量 变量,就是可存放数据的识别符。在pdksh和Bash中,给变量赋值的方法是一样的,即在变量名后紧跟着等号和变量值。 例如,要把变量10赋给变量a,则使用下面的命令: a=10 在tcsh中,可以
您可能关注的文档
- 50部一生不得不看的经典电影.doc
- 50句经典格言,传承千年的智慧.docx
- 5.诗歌鉴赏之表达技巧L.ppt
- 51CTO下载-OA综合办公系统需求规格说明书.doc
- 5183网络信息制作与发布(省网考).doc
- 51CTO下载-杨宝刚教授的ERP培训43页PPT.ppt
- 51单片机基础知识试题题库(复习).doc
- 5.机械采油技术.ppt
- 51CTO下载-H20-20通用说明书.doc
- 海外项目税收知识介绍与比较.ppt
- Compute Abstraction Layer Programming Guide技术文档用户手册.pdf
- High Performance Computing (HPC) Tuning Guide for AMD EPYC™ 7003 Series Processors技术文档用户手册.pdf
- 玩家国度ROG MAXIMUS VI IMPACT 主板 MAXIMUS VI IMPACT 用户使用手册 (简体中文).pdf
- 映翰通边缘计算王国IG系列IG500 IG600用户手册.pdf
- Cloud Infrastructure and Datacenter Design and Configuration技术文档用户手册.pdf
- 构建数据要素为核心的数字经济.pdf
- KYOCERA京瓷激光打印机ECOSYS PA3500cx PA4500cx操作手册.pdf
- INOVANCE汇川MD580S系列低压高性能工程型变频器功能应用手册-中文.PDF
- ASUS华硕服务器 工作站工作站主板P5E3 WS Professional主板安装指南(多国语言版).pdf
- 玩家国度ROG G703 笔记本电脑 ASUS G703VI 系列用户使用手册(斯洛伐克语).pdf
文档评论(0)