- 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 脚本最常用于系统管理工作,或者用于结合现有的程序以完成小型、特定的工作。
脚本编程语言与编译型语言的差异
许多中、大型程序都是编译型语言,如 Fortran 、Ada 、C、 C++ 或者 Java (有些特殊)。这类程序只
要从源代码( Source Code)转换成目标代码( Object Code )便能直接通过计算机执行。这样的好处是
高效,缺点是它们多半运行于底层,处理的是字节、数字或是机器层级的对象,很难进行“将一个目录
里所有文件复制到另一个目录中”这类对文件的简单操作。
脚本语言通常是解释型( interpreted )的,由解释器( interpreter )读入程序代码,将其转换成内部
形式。 好处是它们多半运行在比编译型语言高的层次, 能够轻易处理文件与目录之类的对象, 缺点是效
率不如编译型。但是编写更快,而且目前的速度也已经足够快,常用脚本语言有: awk 、Perl、Python 、
Ruby 与 Shell。Shell 的特点有:
1. 简单性
2. 可移植性
3. 开发容易
一个简单的脚本
who 命令可以知道系统有谁登陆,如果有很多用户在登陆,结果会很长,可以使用 wc( 字数统计 )
命令,算出行数 (line) 、字数 (word) 和字符数 (character) 。可以使用 wc –l ,只计算出行数
$ who | wc –l
| 管道符号可以在两个命令之间建立管道( pipeline ):who 的输出成为了 wc 的输入。下面就写一
个 shell 脚本将管道转变成一个独立的命令。
其实在 Shell 中开发周期很类似,先直接在命令行上测试,之后写入到独立的脚本中。
第一行的 #!
当 Shell 执行一个程序时,要求 Unix 内核启动一个新的进程( process),在该进程里执行指定的程
序。内核知道怎样为编译型程序执行,但 Shell 是解释型程序,当 Shell 要求内核执行时,内核无法执
行,会回应 ”not executable format file ”不是可执行的格式文件的错误信息。 Shell 收到此错误信息时,就
会确定不是编译型程序,是 Shell 脚本,接着会启动一个新的 /bin/sh 副本来执行该程序。
在当前有很多种 Shell,需要通过第一行 #! 来指定用哪个 Shell 来执行。一般如下:
#! 解释器地址 选项
比如标准的 Shell 脚本:
#! /bin/sh
1
或者独立的 awk 程序:
# ! /bin/awk –f 这样就表示为是一个 awk 程序。
下面有些陷阱( gotchas )需要注意:
1. 系统对第一行 # !长度是有限制的,从 63 到 1024 个字符不等,因此尽量不要超过 64 个字符
2. 别在选项之后放置任何空白,因为空白也会跟着选项一起传递给被引用程序
3. 知道解释器的完整路径,可以用来规避可一直行问题。
下面的写法可以避免某种程度的欺骗式攻击( Spoofing Attack )。即添加选项符 -,但不添加选项内
容
#! /bin/sh -
Shell 元素
命令与参数
Shell 最基本工作就是执行命令。以空白隔开命令行的各个部分。命令行可以有选项 option ,分号 ;
可用来分割同一行里的多条命令。如果使用的是 符号而不是分号,则 Shell 将在后台执行其前面的命
令,即 Shell 不用等到该命令完成,就可以继续执行下一个命令。
变量
Shell 里变量值可以
您可能关注的文档
- SEO实战密码:搜索引擎工作原理三个阶段简介参照.pdf
- SEO站内优化的步骤参考.pdf
- Session机制详解(jsp-servlet_技术实用.pdf
- SET-QP-24-TS生产过程控制程序参考.pdf
- SFC重装机兵(MMR)全物品搜索攻略隐藏道具知识.pdf
- Sfilter分析笔记之绑定卷一整理.pdf
- Sftp服务器搭建知识.pdf
- S-GeMs软件基本原理及三维地质建模应用汇编.pdf
- SG-T121密封材料嵌缝、细石混凝土屋面检验批质量验收记录资料.pdf
- ShadoWin多服务器架构借鉴.pdf
- 2025cpa时间_原创精品文档.docx
- 2025年通信专业技术-通信专业技术(中级)-中级通信专业技术(终端与业务实务)历年参考题典型考点含.docx
- 2025年学历类自考专业(英语)现代英语语法-英语写作参考题库含答案解析.docx
- 2025年事业单位工勤技能-广东-广东假肢制作装配工一级(高级技师)历年参考题典型考点含答案解析.docx
- 2025年事业单位工勤技能-河南-河南管道工一级(高级技师)历年参考题典型考点含答案解析.docx
- 2025年学历类自考普通逻辑-国际企业管理参考题库含答案解析.docx
- 2025年事业单位笔试-云南-云南药学(医疗招聘)历年参考题典型考点含答案解析.docx
- 2025年学历类自考国际技术贸易-企业经营战略概论参考题库含答案解析.docx
- 2025cpa大纲变化_原创精品文档.docx
- 2025年教师考试-教师资格-面试-教师资格证-初中英语(面试)历年参考题典型考点含答案解析.docx
原创力文档


文档评论(0)