版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Shell基础,授课内容 shell简介 shell功能 shell变量、命令 正则表达式 shell编程简介 授课目标 学会使用shell的功能及变量的设置,Shell简介,什么是shell shell是一个独立于OS的应用程序,是一个具有交互性的命令行解释器。 shell的作用 解释键入的命令以及执行的一些特定的功能,并传到内核执行。,Shell简介,shell 是计算机用来解释你输入的命令然后决定进行何种处理的程序。shell 也可以在非交互模式下调用。 在Linux系统下有几个不同的shell: bash Bourne Again shell sh Bourne shell,在很多UN
2、IX下是标准的shell csh C shell,和C语言语法相近,大部分UNIX下有效 pdksh public domain Korn shell tcsh 微型C shell, 在小的系统里经常使用 一般的Linux系统都将bash作为默认的shell 查看你自己的shell类型: echo $SHELL,Shell功能(一),shell功能 shell程序的执行 首先给文件加执行权限(chmod +x filename) 1、用sh执行 (sh filename) 2、./ 执行 (./filename) 变量的值的替换 可以用set命令查看和设置变量值 用unset命令去除变量值 命
3、令的替换 可以用反引号替换(echo date) 例: rm -i find ./ -size 0,Shell功能(二),shell功能 自动补齐(按TAB键) 通配符(?、*、),Shell功能(三),I/O重定向和管道 输出重定向(、1、2、2用户可以用set、env命令查看 $HOME使用者自己的目录 $PATH执行命令时所搜寻的目录 $TZ时区 $MAILCHECK每隔多少秒检查是否有新的信件 $PS1在命令列时的提示号 $PS2当命令尚未打完时,Shell要求再输入时的提示号 $MANPATHman指令的搜寻路径,Shell变量与参数,预定义变量 预定义变量和环境变量相类似,也是在s
4、hell一开始时就定义了的变量,所不同的是,用户只能根据shell的定义来使用这些变量,而不能重定义它。所有预定义变量都是由$符和另一个符号组成的 $0这个程序的执行名字 $n这个程序的第n个参数值,n=1.9 $*这个程序的所有参数的内容 $#这个程序的参数个数 $这个程序的PID $!上一个后台程序的PID $?上一个指令的返回值,Shell变量与参数,用户定义变量 变量名=变量值 gdlc=welcome to gdlc 查看变量值:echo $gdlc,Shell特殊符号使用,shell使用两种引号和反斜线 双引号“”(让引号内的变量生效) 单引号(引号内的变量当作一个字符使用) 反斜
5、线(禁用特殊字符功能$) 后引号(让引号内的命令生效) var=hello echo “var is $var” echo var is $var echo “var is $var” echo ls var2=date; echo $var2,正则表达式,正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。 正则表达式是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。,正则表达式,元
6、字符及其在正则表达式上下文中的行为: :将下一个字符标记为一个特殊字符、或一个原义字符、或一个后向引用、或一个八进制转义符。 例如:n 匹配字符n。n 匹配一个换行符,序列匹配,(匹配 (。 :匹配输入字符串的开始位置。 例如:z能匹配 所有以“z”开头的字符串 $:匹配输入字符串的结束位置。 例如:$o能匹配所有以“o”结尾的字符串 *:匹配前面的子表达式零次或多次。 例如:zo*能匹配 “z” 以及 “zoo”;* 等价于0,。 +:匹配前面的子表达式一次或多次。 例如:zo+能匹配zo以及zoo,但不能匹配z。+等价于 1,。 ?:匹配前面的子表达式零次或一次。 例如:do(es)?可以
7、匹配do或does。?等价于0,1。,正则表达式,n:n是一个非负整数,匹配确定的n 次。 例如:o2不能匹配Bob中的o,但能匹配food中的两个o。 n,:n是一个非负整数,至少匹配n 次。 例如:o2,不能匹配Bob中的o,但能匹配foooood 中的所有o。o1,等价于o+;o0,等价于o*。 n,m:m和n均为非负整数,其中,n=m。最少匹配n次且最多匹配m次。 例如:o1,3 匹配fooooood 中的前三个o。o0,1等价于o?。 注意:在逗号和两个数之间不能有空格。 ?:当该字符紧跟在任何一个其他限制符 (*, +, ?, n, n, n,m) 后面时,匹配模式是非贪婪的。该模
8、式尽可能少的匹配所搜索的字符串,默认的贪婪模式是尽可能多的匹配所搜索的字符串。 例如:对于字符串 oooo,o+? 将匹配单个 o,而o+ 将匹配所有 o。,shell编程的流程控制简介,if条件语句 case条件选择 for循环 while和until循环 shift语句 select语句 goto跳转控制 test测试命令,shell 函数简介,shell语言使用户能够定义自己的函数 同用户在C语言或其他编程语言中定义的函数一样工作 bash和pdksh支持函数,tcsh不支持函数 以下是bash中一个函数的语法格式: fname () shell commands 定义函数后,程序中调用
9、该函数的格式(bash中): fname parm1 parm2 parm3 调用函数时,可以向函数传递任意多个参数,函数将这些参数看做是存放其命令行参数的位置变量。,程序的调试(一),很多时候,调试shell程序比编写程序花费的时间还要多。 shell程序的调试主要是利用bash命令解释程序的选择项,也可以在程序中加入echo语句作调试,相当于C中 的printf调试。 调用bash的形式是: bash -选择项 shell程序文件名,程序的调试(二),shell中几个常用的调试参数 -e:如果一个命令失败就立即退出 -n:读入命令但是不执行它们 -u:置换时把未设置的变量看作出错 -v:当读入shell输入行时把它们显示出来 -x:执行命令时把命令和它们的参数显示出来 以上所有选项也可以在Shell程序内部用“set -选择项”的形式引用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 上海浦东职业技术学院《病理生理学》2025-2026学年期末试卷
- 沈阳音乐学院《古代文学复兴》2025-2026学年期末试卷
- 沈阳建筑大学《国际结算实务》2025-2026学年期末试卷
- 沈阳体育学院《管理咨询》2025-2026学年期末试卷
- 沈阳医学院《教育文化学》2025-2026学年期末试卷
- 唐山幼儿师范高等专科学校《修辞学》2025-2026学年期末试卷
- 上海政法学院《口腔颌面影像诊断学》2025-2026学年期末试卷
- 山西农业大学《中药材加工与养护学》2025-2026学年期末试卷
- 兴安职业技术大学《小学教育学》2025-2026学年期末试卷
- 二手车评估师职业资格考试考题及答案
- (一模)南京市、盐城市2026届高三年级第一次模拟考试英语试卷(含官方答案)
- 2026年OpenClaw安全部署与实践指南
- 雨课堂学堂在线学堂云《机器学习数学基础(国防科技)》单元测试考核答案
- 第一单元第3课《多元表达》课件人教版初中美术八年级下册
- 2026年广东省深圳市高三一模英语试题(含答案)
- 2026贵州三支一扶招聘878人考试参考题库及答案解析
- 2025北京空港航空地面服务有限公司招聘50人笔试历年参考题库附带答案详解
- 2025公安部新闻传媒中心招聘12人(在职人员)(公共基础知识)测试题附答案解析
- 2026年劳务员考试题库【完整版】
- 《机械制造装备设计》课件
- 2025年药物临床试验院级培训考核试题附答案
评论
0/150
提交评论