- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章 shell和shell编程 6.1 shell简介 6.2 shell变量 6.3 shell脚本 6.4 条件测试 6.5 控制流 6.6 here文本 6.7 函数 6.8 调试脚本 6.9 awk 6.10 几个特别的shell脚本 6.11 几个有用的工具 6.1 shell简介 shell俗称操作系统的“外壳”,实际上就是命令解释程序,它提供了用户与Linux内核之间的接口。shell负责与用户交互,它会分析、执行用户输入的命令,给出结果或出错提示。 每个用户账号在创建时都要给他指定一个shell。当用户以该账号注册成功后,此指定的shell就马上被执行,用户可以在屏幕上看到shell的提示符并处于交互状态,直至logout。用户、shell、内核的关系如学图所示。 6.1.1 几个常用的shell Linux下常用的shell有:bash、ash、csh、tcsh、zsh、sh、等,可以通过下面的命令来查看用户当前的shell: echo $SHELL $SHELL是一个环境变量,它记录用户所使用的shell类型。 Linux系统中能使用的shell必须在/etc/shell文件中列出。下图展示了该文件的内容。 1. ash ash shell是由Kenneth Almquist编写的,Linux中占用系统资源最少的一个小shell,它只包含24个内部命令,因而使用起来很不方便。 2. bash bash是Linux系统默认使用的shell,它由Brian Fox和Chet Ramey共同完成,是Bourne Again Shell的缩写,内部命令一共有40个。Linux使用它作为默认的shell是因为它有如下的特色: (1)可以使用类似DOS下面的doskey的功能,用方向键查阅和快速输入并修改命令。 (2)自动通过查找匹配的方式给出以某字符串开头的命令。 (3)包含了自身的帮助功能,你只要在提示符下面输入help就可以得到相关的帮助。 3. ksh ksh是Korn shell的缩写,由Eric Gisin编写,共有42条内部命令。该shell最大的优点是几乎和商业发行版的ksh完全兼容,这样就可以在不用花钱购买商业版本的情况下尝试商业版本的性能了。 4. csh csh是Linux比较大的内核,它由以William Joy为代表的共计47位作者编成,共有52个内部命令。该shell其实是指向/bin/tcsh这样的一个shell,也就是说,csh其实就是tcsh。 5. zch zch是Linux最大的shell之一,由Paul Falstad完成,共有84个内部命令。如果只是一般的用途,是没有必要安装这样的shell的。 6.1.2 为用户指定shell 在增加用户那一节中已经提到过了,用户的shell的信息是保存在/etc/passwd中,所以要为用户指定新的shell,最本质的做法就是对/etc/passwd进行修改。 另外RedHat Linux已经提供了命令来对用户使用的shell进行修改。请看下面的命令。 usermod –s shellname username usermod可以带一个-s的参数来对用户使用的shell进行修改。shellname是新shell的名称。username是想修改的用户。 别外一条修改shell的命令是chsh。 用法: chsh –s shellname username chsh –l -l的选项是列出有哪些sh可供选择。等同于cat /etc/shell命令。 -s的用法和usermod的用法是一样。有一点要注意的是shellname必须是指定完全路径,一般shell都是放在/bin/目录下面的。 6.2 shell变量 6.2.1 什么是shell变量 变量可以定制用户本身的工作环境。使用变量可以保存有用信息,使系统获知用户相关设置。变量也用于保存暂时信息。 按照变量的作用来分,可以分为环境变量和本地变量。 6.2.2 本地变量 登录进程称为父进程。shell中执行的用户进程均称为子进程。本地变量,是在当前shell环境,当前进程的生存期内有效的变量。即用户的当前shell环境,当用户注销,或者启用子shell、子进程时不起作用。 1. 定义本地变量 在bash shell环境下,定义本地变量的设置格式如下: 变量名=变量值 export变量名=变量值 2. 显示本地变量 变量的显示使用echo命令,格式如下: echo $变量名 或echo ${变量名} 3. 释放本地变量 释放本地变量时使用unset 命令,格式如下: unset 变量名 表6-1 常见的几个环境变量
您可能关注的文档
最近下载
- 2024年公开选拔领导干部面试题及参考答案全解.doc
- 【9化第一次月考】合肥市第四十五中学2024-2025学年九年级上学期第一次月考化学试题.docx VIP
- 第四章 神奇的透镜单元复习(教学设计)八年级物理上册(沪科版2024).docx VIP
- 2024年中考语文二轮复习:名家散文阅读(毕淑敏)练习题汇编(含答案解析).docx VIP
- 【9化第一次月考】芜湖市鸠江区2024-2025学年九年级上学期第一次月考化学试题.docx VIP
- 《诡案组》(1-14卷文字全本)作者:求无欲.txt VIP
- 数字出版概论课件陈丹第一章数字出版及其发展历程;第二章数字出版研究及其学科体系.pptx VIP
- 2023-2024学年初三化学上学期第一次月考.docx VIP
- 2024年中考语文二轮复习:名家散文阅读(汪曾祺)练习题汇编(含答案解析).docx VIP
- 2025凉山州继续教育公需科目满分答案-《网络数据安全管理条列》解读.docx VIP
文档评论(0)