QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 560|回复: 0

shell是什么?它的关键在那里?

[复制链接]
发表于 2004-12-1 20:19:52 | 显示全部楼层 |阅读模式
命令解释程序(shell)是操作系统和用户的接口。这里的用户是操作系统中用户的概念,包括真正使用计算机系统的人和操作系统直接处理的进程。如此, shell可以认为是一个界面程序。对一个界面程序而言,界面的用户友好性就是其关键。Shell无非是读命令,解释命令,执行命令,显示结果,如此循环。那界面在那里呢?显然界面有两个层次,一是使用者和shell的界面,体现为读命令和显示结果,另一个层次是进程和shell的界面,体现为解释命令和执行命令。
进程和shell的界面是操作系统相关的进程和shell的约定。比如如何解析参数,如何传递参数。像ls *txt用户的意思是显示当前目录所有后缀为txt的文件。如果操作系统在内核层不支持进程工作目录,那么给ls就应该传递全路径。如果内核支持工作目录,就可以传相对路径了。再比如如果操作系统支持的程序参数的个数有限制的话,shell就应该做相应的判断。这一部分的内容是操作系统相关的,就不讨论了。那就剩使用者和shell的界面。就是在读命令,在显示结果。而显示结果的界面是系统到用户的单向通道。就是系统把执行的一些信息显示给用户看,比较简单,先不考虑。那关键就在读命令了。可见shell的关键在界面,界面的关键在读命令。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-6 23:35 , Processed in 0.090445 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表