Tag: shell

前几天写了一个运维工具,用来监控夜间业务的处理情况。

虽然是生产网,但由于都是内部网络,所以决定谨慎采用snmp来获取一些信息。其中的一个需求是,根据某个指定的业务日期从远程服务器的日志中分析产生结果,然后将结果在本地监控机上呈现。

这个需求的实现有很多种方法,我这边利用 net-snmp 的扩展命令 pass 调用 shell 脚本来实现。通过 man snmpd.conf(5) 可知,net-snmp支持自定义的脚本以获取需要的信息,那就是扩展命令exec、extend 和 pass(三者的区别详见此 FAQ)。 › Continue reading…

Tags: , ,

shell简介

shell简介

我想大家对shell应该不会太陌生,因为我们平时在使用linux命令的时候,就是通过shell来解释的。简单的说,shell的任务是将用户在命令行输入的命令翻译成操作系统指令。一般linux的默认shell是Bash,当然它还安装有其他的shell,比如sh、ksh、tcsh等等,要想查看你的系统自带了哪些shell,可以用这个命令:chsh -l (chsh命令的作用是更改使用者shell设定,它的使用权限是所有使用者)。

简单的说一下shell的历史:

在 AT&T 的 Dennis Ritchie 和 Ken Thompson 设计 UNIX™ 的时候,他们想要为用户创建一种与他们的新系统交流的方法。那时的操作系统带有命令解释器。命令解释器接受用户的命令,然后解释它们,因而计算机可以使用这些命令。

但是 Ritchie 和 Thompson 想要的不只是这些功能,他们想提供比当时的命令解释器具备更优异功能的工具。这导致了 Bourne shell(通称为 sh)的开发,由 S.R. Bourne 创建。自从 Bourne shell 的创建,其它 shell 也被一一开发,如 C shell(csh)和 Korn shell(ksh)。

当自由软件基金会想寻求一种免费的 shell,开发者们开始致力于 Bourne shell 以及当时其它 shell 中某些很受欢迎的功能背后的语言。这个开发结果是 Bourne Again Shell,或称 bash

这里还有UNIX Shell历史回顾两则:http://blog.chinaunix.net/u/13392/showart_70309.html

Tags:
Back to top