- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Unix Shell 介绍
Unix Shell 介绍(S. R. Bourne)
Unix Shell 介绍
S. R. Bourne
Bell 实验室 Murray Hill, New Jersey 07974
翻译:寒蝉退士
译者声明:译者对译文不做任何担保,译者对译文不拥有任何权利并且不负担任何责任和义务。
原文:/7thEdMan/shell.bun
摘要
shell 是提供到 UNIX 操作系统的接口的一个命令编程语言。它的特征包括控制流原语、参数传递、变量和字符串替换。还可获得如 while、if then else、 case 和 for 这样的构造。在 shell 和命令之间可以有双向通信。可以把字符串值参数、典型的文件名字和标志传递给命令。命令设置的返回值可用来决定控制流,而来自命令的标准输出可用作 shell 输入。
shell 可以修改命令在其中运行的环境。输入和输出可以重定向到文件,可以调用通过“管道”通信的进程。通过按照可以由用户指定的顺序查找文件系统中的目录来找到命令。命令可以读取自终端或文件,这允许把命令过程存储起来以备将来使用。
November 12, 1978
1.0 介绍
1.1 简单命令
1.2 后台命令
1.3 输入输出重定向
1.4 管道线和过滤器
1.5 文件名生成
1.6 引用
1.7 提示
1.8 shell 和登录
1.9 总结
2.0 shell 过程
2.1 控制流 - for
2.2 控制流 - case
2.3 立即文档
2.4 shell 变量
2.5 test 命令
2.6 控制流 - while
2.7 控制流 - if
2.8 命令组合
2.9 调试 shell 过程
2.10 man 命令
3.0 关键字参数
3.1 参数传送
3.2 参数替换
3.3 命令替换
3.4 求值和引用
3.5 错误处理
3.6 故障处理
3.7 命令执行
3.8 调用 shell
致谢
附录 A - 文法
附录 B - 元字符和保留字
1.0 介绍
shell 既是一个命令语言又是提供到 UNIX 操作系统的接口的一个编程语言。这个备忘录用例子描述 UNIX shell。第一章覆盖多数终端用户的日常需要。熟悉 UNIX 对读本章是很有利的,否则可阅读如“UNIX for beginners”这样的文章。第 2 章描述主要意图用在 shell 过程中的那些特征。这包括 shell 提供的控制流原语(primitive)和字符串值变量。在读本章的时候编程语言的知识将是有帮助的。最后一章描述 shell 的更高级的特征。文中的“参见 pipe (2)”引用的是 UNIX 手册的一个章节。
1.1 简单命令
简单命令由一个或多个用空白分隔的字组成。第一个字是要执行的命令的名字;所有余下的字被作为传递给命令的实际参数。例如,
who
是打印用户登录的名字的一个命令。命令
ls -l
打印在当前目录中的文件的一个列表。实际参数 -l 告诉 ls 打印每个文件的状态信息、大小和建立日期。
1.2 后台命令
要执行一个命令,shell 通常建立一个新进程并等待它完成。可以执行一个命令而不用等待它完成。例如,
cc pgm.c
调用 C 编译器来编译文件 pgm.c。尾随的 是指示 shell 不等待命令完成的一个操作符。为了跟踪这样一个进程,shell 在建立它之后报告它的进程编号。可以使用 ps 命令来获得当前活跃进程的一个列表。
1.3 输入输出重定向
多数命令在最初连接到这个终端上的标准输出上生成输出。这个输出可以通过写操作发送到一个文件,例如,
ls -l file
记号 file 由 shell 来解释并且不作为一个实际参数传递给 ls。如果文件不存在则 shell 建立它;否则文件的最初内容被来自 ls 的输出所替代。可以使用下面的记号把输出添加到一个文件
ls -l file
在这种情况下如果 file 不存在则也建立它。
可以通过写操作使一个命令的标准输入接受自一个文件而不是终端,例如,
wc file
命令 wc 读它的标准输入(在这种情况下重定向自文件)并打印发现的字符、字和行的数目。如果只需要行的数目则可以使用
wc -l file
1.4 管道线和过滤器
可以通过写‘管道’操作符 | 把一个命令的标准输出连接到另一个命令标准输入上,如在
ls -l | wc
中以这种方式连接的两个命令组成一个管道线与下面的表述
ls -l file; wc file
除了未使用 file 之外整体效果上等同。但这两个进程是用管道连接的(参见 pipe (2))
您可能关注的文档
- 危大工程节后复工重新验收情况汇总表.docx
- 购物中心120B塔吊挖井桩基础方案.doc
- [江苏]支撑立柱桩专项施工方案(地下人防工程).doc
- (桥梁人论坛分享)塔吊基础设计计算方案.docx
- 路桥知识竞赛300题(一).doc
- 07年造价员考试土建卷案例分析及答案.doc
- QTZ60塔机装拆方案1.doc
- 10m+16m+10m桥台桩计算书.doc
- Bash Shell字符串操作小结.docx
- 拱桥桥型小结1-1-1.doc
- 四川省德阳市罗江中学2025届高三考前热身化学试卷含解析.doc
- 山东省枣庄现代实验学校2025届高三下学期第五次调研考试化学试题含解析.doc
- 吉林省长春市十一高中等九校教育联盟2025届高三一诊考试生物试卷含解析.doc
- 2025届江苏省盐城市伍佑中学高考仿真模拟化学试卷含解析.doc
- 2025届广西贺州中学高考冲刺押题(最后一卷)生物试卷含解析.doc
- 安徽省池州市贵池区2025届高三第一次模拟考试生物试卷含解析.doc
- 宁夏银川一中2025届高三(最后冲刺)化学试卷含解析.doc
- 广东省广州市增城区四校联考2025届高考压轴卷化学试卷含解析.doc
- 2025届邯郸市第一中学高考生物必刷试卷含解析.doc
- 2025届安徽省安庆市石化第一中学高考仿真卷化学试卷含解析.doc
文档评论(0)