阅 读 文 章

SA118翻译(10)

[来源:网上转载 (http://www.chinaunix.net) | 作者:网友(hfzheng) | 时间:2007-05-27 | 浏览:人次 ]


第十一章 Korn shell
翻译:hfzheng
hfzheng@sohu.com
转载请保留此信息
作为命令翻译器的shell
在任何UNIX环境下,shell通常作为命令翻译器。通过对命令行方式下键入的命令或者放在脚本文件中的命令行进行翻译,可以和内核进行交互。Shell接收、分析、处理来自用户或者脚本文件的输入,作为命令翻译器对这些输入进行翻译,并对不正确的命令给出错误信息。
Shell是可以切换的,因此用户在任何时候都可以选择使用哪个命令翻译器,在Bourne shell、C shell、Korn shell之间切换是很容易的。
尽管shell最终负责确保命令行提示符下键入的任何命令的正确执行,shell还有其他重要的功能。
作为命令翻译器的shell的职责:
1、shell在所有由shell环境变量PATH定义的目录位置中搜索命令,shell从左到右搜索PATH定义的、以:分割的目录;
2、shell设置管道、输入输出重定向和后台处理;
3、shell可以由用户定制,通过为命令或者命令序列创建别名,或者当别名不够时创建函数来定制;
4、通过设置shell变量TERM,shell可以适应不同的终端环境;
5、shell保存了键入命令完成机制;
6、shell在历史列表中保存了先前执行过的命令,可以用于重新运行或编辑;
7、通过使用shell初始化文件,系统可以为每个用户定制shell。
输入输出重定义和管道
接下来的部分讨论重定向和输入输出管道
重定向数据I/O
通常情况下,shell从键盘接收或者读取输入的命令,显示或者写命令输出到终端屏幕。不过,你可以使用重定向字符<和>;来告诉shell重定向命令输入和输出。
I/O重定向通常用于命令行的输入和输出到文件中或者到shell脚本中。
输入重定向从文件中读取必要的输入而不是接收自键盘,输出重定向把一个命令的输出送到一个文件或者送到其他命令(使用管道)而不是送到终端屏幕。
文件描述子
由shell创建的每个进程都关联着一个文件描述子,列出如下:
文件描述子功能
0 stdin标准输入
1 stdout标准输出
2 stderr标准错误
这些描述子由shell所使用,用于确定命令的输入来自何处,命令的输出和出错信息送到什么地方。
标准命令输入和输出
以下部分对标准命令适用:
1、标准输入(stdin):文件描述子总是0
2、标准输出(stdout);文件描述子总是1
3、标准出错(stderr):文件描述子总是2
处理文件内容所有命令都通过读标准输入、写标准输出来实现的。
重定向标准输入、标准输出、标准出错
可以修改标准输入、标准输出、标准出错的默认行为。
重定向标准输入
下面解释如何重定向一个标准输入命令:
command < filename 或者 command 0< filename
command从一个名为filename的文件中读取它的输入,而不是从键盘中接收。例如:
$ mailx user1 < ~/dante
重定向标准输出
下面解释如何重定向一个标准输出命令:
command >; filename 或者 command 1>; filename
command把结果输出到一个名为filename的文件中,如果文件filename不存在,将会被创建,如果文件filename存在,重定向覆盖文件filename的内容。例如:
$ ps –ef >; process_list
使用添加模式重定向标准输出
下面解释如何使用添加模式重定向一个标准输出命令:
command >;>; filename
命令的输出被重定向到文件filename中,如果该文件存在,则把命令输出添加到文件内容的末尾。不过文件filename不存在,则创建该文件,例如:
$ cat /etc/passwd  >; my_file &#59; cat my_file
论坛热门帖子: [lch203] 写得蛮好的linux学习笔记(10-21)
[黑马制造] 学习java的30个目标(10-19)
[笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19)
[udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18)
[沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18)
TAG标签: 翻译 命令 文件 变量 shell 一个 使用 可以 执行 输出

上一篇:SA118翻译(9)

下一篇:SA118翻译(11)

最新评论 共有0位网友发表了评论

发表评论

评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名:(注册)
密码:
验证码:
匿名发表

网站地图友情连接交流论坛网站投稿广告服务联系我们留言本站长统计
Some rights reserved: www.chmhome.com, 鄂ICP备07010232号 E-mail:chinakafei@live.com,QQ:552766
中国咖啡技术网(Chmhome):国外编程技术书籍,中文编程手册,经典编程文章,交流技术,技术软件下载,计算机论文,毕业论文.