




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第11章shell程序设计主要内容Shell的作用Shell程序的编辑和运行基于Bash的Shell程序设计变量声明表达式条件判断控制结构参数访问Shell的作用shell是用户和系统内核之间的接口程序shell是命令解释器在本章中,shell指linux的终端
即解释用户命令和shell程序的文字终端硬件shell操作系统图形界面其它用户界面用户linux下的shelllinux下的shell通过cat/ect/shells命令查看安装的shellshell及路径查看shell的命令shell程序Shell程序的特点及用途:shell程序可以认为是将shell命令按照控制结构组织到一个文本文件中,批量的交给shell去执行不同的shell解释器使用不同的shell命令语法shell程序解释执行,不生成可以执行的二进制文件可以帮助用户完成特定的任务,提高使用、维护系统的效率了解shell程序可以更好的配置和使用linux
基于bash的shell程序简单程序示例greeting.shecho"ProgrammeEnds."12say_hello11echo"ProgrammeStartsHere....."10}9echo"Hello$name"8readname7echo"EnterYourName,Please.:"6{5functionsay_hello()4#aFunction3#aSimpleshellScriptExample2#!/bin/bash1解释输出提示,提示程序结束调用函数程序开始的第一条命令,输出提示信息函数结束输出读入用户的输入到变量nameecho命令输出字符串函数开始以functin开始,定义函数同上以#开始,其后为程序注释以#!开始,其后为使用的shell基于bash的shell程序程序编译和运行过程一般步骤:编辑文件保存文件将文件赋予可以执行的权限运行及排错常用到的命令:vi,编辑、保存文件ls-l查看文件权限chmod改变程序执行权限直接键入文件名运行文件shell程序设计一般结构shell类型函数主过程#!/bin/bashfunctionfun1(){}......funcitonfunn(){}.................函数定义shell类型主过程变量的声明和使用变量的引用格式:
$变量名,或者${变量名}
变量名为一个字符用方式一,变量名多于一个字符建议用第2中方式例子:
a=1
abc="hello"
echo$a
echo${abc}简单数学表达式expr命令计算一个表达式的值格式:exprarg例子:计算(2+3)×4的值
1、分步计算,即先计算2+3,再对其和乘4
s=`expr2+3`
expr$s\*4
2、一步完成计算:
expr`expr2+3`\*4
说明:运算符号和参数之间要有空格分开;通配符号(*),在作为乘法运算符时要用\、“”、‘’符号修饰简单数学表达式let命令格式:letarg1[arg2......]例子:计算(2+3)×4的值
lets=(2+3)*4说明:与expr命令相比,let命令更简洁直观当运算符中有<、>、&、|等符号时,同样需要用引号(单引号、双引号)或者斜杠来修饰运算符条件判断常见的条件:变量属性;文件属性;命令执行结果;多种条件的逻辑组合;判断结果的一般定义:真:0假:1格式:testcondition[condition]条件判断测试文件属性常用的文件属性条件判断-ffn如果fn存在且fn为普通文件则返回真,否则返回假。-bfn如果fn存在且fn为块设备则返回真,否则返回假。-efn如果fn存在则返回真,否则返回假。-dfn如果fn存在且fn为目录则返回真,否则返回假。-rfn如果fn存在且fn可读则返回真,否则返回假。-wfn如果fn存在且fn可写则返回真,否则返回假。-xfn如果fn存在且fn可执行则返回真,否则返回假。-Ofn如果fn存在且被当前用户拥有则返回真,否则返回假。-Lfn如果fn存在且fn为符号链接则返回真,否则返回假。条件判断字符串属性常用字符串属性条件判断string_1=string_2如果string_1和string_2两个字符串相等则返回真,否则返回假;string_1!=string_2如果string_1和string_2两个字符串不相等则返回真,否则返回假;-zstring如果字符串string的长度为0则返回真,否则返回假;-nstring如果字符串string长度不为0则返回真,否则返回假;string同-nstring,如果字符串string长度不为0返回真,否则返回假。控制结构控制结构:
根据某个条件的判断结果,改变程序执行的路径。可以简单的将控制结构分为分支和循环两种。常见分支结构:ifcase常见循环结构:forwhileuntil
if分支格式:
说明:中括号中的部分可省略;当条件为真(0)时执行then后面的语句,否则执行else后面的语句;以fi作为if结构的结束。if条件1then命令[elif条件2then命令][else命令]fifor循环格式说明:“列表”为存储了一系列值的列表,随着循环的进行,变量从列表中的第一个值依次取到最后一个值;do和done之间的命令通常为根据变量进行处理的一系列命令,这些命令每次循环都执行一次;如果中括号中的部分省略掉,Bash则认为是“in$@”,即执行该程序时通过命令行传给程序的所有参数的列表。
for变量[in列表]do 命令(通常用到循环变量)donewhile循环与until循环格式:说明:while循环中,只要条件为真,就执行do和done之间的循环命令;until循环中,只要条件不为真,就执行do和done之间的循环命令,或者说,在until循环中,一直执行do和done之间的循环命令,直到条件为真;避免生成死循环。while/until条件do 命令done函数对变量的访问示例利用shift访问参数变量
functiondemo_fun()函数开始{...... while[-n"$1"]访问变量$1,即第一个变量 do echo"Parameters(\$$count)is:$1"输出第一个变量 letcount=$count+1变量计数加1 shift变量左移,$1变为原来$1的右侧的变量 done即变为下一个变量} ......课后练习什么是shell程序?Redhatlinux9有哪些种shell?什么是shell程序?比较shell程序和其它程序的异同。说明shell程序的一般格式。在Bash中如何声明变量?Bash中变量声明和c/c++程序中变量声明有什么不同?简述$n(n=0、1、2......),
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年山西电力职业技术学院高职单招职业技能测试近5年常考版参考题库含答案解析
- 2025年山东服装职业学院高职单招(数学)历年真题考点含答案解析
- 2025年安徽水利水电职业技术学院高职单招(数学)历年真题考点含答案解析
- 学校传染病防治知识培训
- Axure培训课件教学课件
- acls培训课件教学课件
- 新发展英语(第二版)综合教程3 课件 Unit 4 Expressing Compliments Appreciation and Encouragement
- 人教版数学六年级下册难点解决问题专项集训
- 南京工业大学浦江学院《金融数据挖掘》2023-2024学年第二学期期末试卷
- 2025年安徽省宣城市郎溪县七校第二学期高三英语试题期中考试试题含解析
- 现代一体化手术室建设发展现状及展望
- 经纬度数转换工具
- 会计师事务所11内部分配和考核晋升制度
- NB_T 10438-2020《风力发电机组 电控偏航控制系统技术条件》_(高清最新)
- 浅谈如何搞好班组安全管理工作
- 混凝土凝结时间计算及报告(样表)
- 外研版小学英语五年级下册期中测试卷二
- 第七章_材料显微断口分析
- 创伤护四项技术
- 减速器的测绘
- dse7320软件操作手册
评论
0/150
提交评论