- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
Shell是linux为方便用户访问核心服务而提供的命令接口。大多数情况下,用户要使用linux提供的各种服务必须通过shell方可进行。本单元将介绍linux系统下shell的功能和特点,及在linux系统下使用shell进行编程的方法。;1.Shell的作用
shell是一个特殊的应用程序,它介于操作系统内核与用户之间,负责接收用户输入的操作指令(命令)并进行解释,将需要执行的操作传递给内核执行。因此,shell程序在系统中充当了一个“命令解释器”的角色。例如,微软公司的windows10操作系统中的“cmd.Exe”就属于shell程序。
2.Shell的类型
在UNIX/linux操作系统中,能够使用的shell程序有很多种,功能也比windows系统中的“cmd。exe”要强大的多。其中,最常见的Shell有四种,分别为Bash、zsh、tcsh和ksh。其中,这几种Shell的功能在前面章节已经有详细介绍。
3.Shell环境的切换
为了提高系统的兼容性,在Linux系统中一般会提供对各种常见shell程序的支持。通过配置文件“/etc/shells”可以查看系统所支持的Shell程序的路径。查看UbuntuLinux系统中能够使用的Shell程序列表。
4.Shell脚本的概念
凡是使用shell编程语言编写的程序文件都可以称为shell脚本。通俗点说,只要将一些linux命令行按顺序保存到一个文本文件中,并给与这个文件可执行权限,那么这个文件就可以称为shell脚本。当然,shell脚本是为了完成一定的管理任务才创建的,因此脚本文件中的各条命令并不是杂乱无章随便放置的,这就需要用户来进行组织和设计了。
与编译型的高级编程语言不同,shell脚本程序是属于解释执行的,并不需要进行特别编译,只需要有相应的shell命令解释器即可。在linux系统中,存在有大量的shell脚本文件,很多脚本程序是Linux系统中不可缺少的组成部分,功能非常重要。例如,在“/etc/init.d”目录中存在着数量相当多的系统服务启动程序,这些程序全都是Shell脚本文件,可以使用file命令查看这些文件的类型。;5.编写Shell脚本文本步骤
编写一个完整可运行的Shell脚本需要经过以下步骤。
(1)建立包含可执行语句的文本文件
使用文本编辑器程序(如vi)创建脚本文件,文件名中可以使用扩展名(??“.sh”),也可以不使用扩展名,并没有强制的要求。脚本中可能包括的内容如下所示:
运行环境设置:通常位于文件的第一行,用于指定使用哪一个Shell程序进行解释。设置时以“#!”开始,后面紧跟上指定Shell程序的完整路径,如“#!/bin/bash”。
注释行:在脚本文件中,除了以“#!”开头的Shell环境设置行以外,其他以“#”符号开头的内容将被视为注释信息,执行脚本时将予以忽略。编写脚本程序时,添加必要的注释语句是一个良好的习惯,这样将大大增强脚本文件的易读性,方便在不同时间、不同用户间交流使用。
可执行语句:可执行语句是Shell脚本程序中最重要的组成部分。在命令行操作界面中可以执行的命令都可以写入到脚本当中,程序运行时默认情况下将会按照顺序依次解释执行。除此以外,还可以添加一些程序结构语句,用于灵活控制执行过程,提供程序执行效率。
在上述各组成部分中,只有可执行语句是必不可少的,否则就不叫程序了。当缺省运行环境设置时,会自动由当前加载该脚本的Shell解释器负责解释执行。尽管如此,还是建议明确指定Shell环境,以保证脚本程序的完整性和可移植性。
(2)为脚本添加可执行权限。
编写并保存好脚本文件以后,需要执行该程序才能看到操作结果。但是刚刚建立的脚本文件通常不具有可执行属性,因此还得使用chmod命令为文件添加可执行权限(x)。;6.执行Shell脚本
在Shell命令行环境中可以有多种方式执行Shell脚本,下面分别介绍。
(1)直接执行带“x”权限的脚本文件
为脚本文件设置了可执行属性后,在Shell命令行中可以直接通过脚本文件的路径执行脚本程序,这也是最常用的一种方式。
(2)使用Shell解释器程序执行脚本
这种方式可以将脚本文件作为指定Shell解释器程序(如bash、sh等)的参数,由解释器程序负责读取脚本文件中的内容并执行,因此并不需要脚本文件具有可执行的属性。此方法通常只在脚本的调试阶段使用。
(3)使用“.”命令执行脚本
使用Shell解释器程序(如bash)执行指定脚本文件时,是在当前Shell中启动一个子Shell来运行脚本程序。因此脚本程序中定义的环境变量只能在子Shell环境中使用,而无法在用户当前的Shell环境中使用。
使用Bash的内部命令“.”(或使用source命令,其作用相同
您可能关注的文档
- HTML文档习题和答案.docx
- HTML文档习题和答案.pdf
- Linux操作系统第1章.pdf
- Linux操作系统第1章.pptx
- Linux操作系统第2章.pdf
- Linux操作系统第2章.pptx
- Linux操作系统第3章.pdf
- Linux操作系统第3章.pptx
- Linux操作系统第4章.pdf
- Linux操作系统第4章.pptx
- 2026年泉州市惠安县总医院(第四季度)编外、外包卫技等人员招聘的备考题库及一套完整答案详解.docx
- 2026年泉州市惠安县总医院(第四季度)编外、外包卫技等人员招聘的备考题库及答案详解参考.docx
- 2026年泉州市惠安县总医院(第四季度)编外、外包卫技等人员招聘的备考题库及一套参考答案详解.docx
- 2026年泉州市惠安县总医院(第四季度)编外、外包卫技等人员招聘的备考题库及1套完整答案详解.docx
- 2026年泉州市惠安县总医院(第四季度)编外、外包卫技等人员招聘的备考题库有答案详解.docx
- 2026年泉州市惠安县总医院(第四季度)编外、外包卫技等人员招聘的备考题库及完整答案详解一套.docx
- 2026年泉州市德化县消防救援大队面向社会招聘政府专职消防员备考题库附答案详解.docx
- 2026年泉州市德化县消防救援大队面向社会招聘政府专职消防员备考题库完整参考答案详解.docx
- 2026年泉州市德化县消防救援大队面向社会招聘政府专职消防员备考题库附答案详解.docx
- 2026年泉州市惠安县总医院(第四季度)编外、外包卫技等人员招聘的备考题库及1套参考答案详解.docx
原创力文档


文档评论(0)