shell一个非常重要的特性是它可作为一种程式语言来使用。因为shell是一个解释器,所以它不能对为它编写的程式进行编译,而是在每次从磁碟载入这些程式时对它们进行解释。而程式的载入和解释都是非常耗时的。 针对此问题,许多shell(如BourneAgainShell)都包含shell函式,shell把这些函式放在记忆体中,这样每次需要执行它们时就不必再从磁碟读入。shell还以一种内部格式来存放这些函式,这样就不必耗费大量的时间来解释它们。
基本介绍
- 中文名:shell函式
- 特性:可作为一种程式语言来使用
- 属于:解释器
- 因此:不能对为它编写的程式进行编译
语法
Shell(pathname[,windowstyle])
Shell 函式的语法含有下面这些命名参数:
部分 | 描述 |
pathname | 必要参数。Variant (String),要执行的程式名,以及任何必需的参数或命令行变数,可能还包括目录或资料夹,以及驱动器。在Macintosh中,可以使用MacID函式来指定一个应用程式的署名而不是名称。下面的例子使用了Microsoft Word的署名: Shell MacID("MSWD") |
Windowstyle | 可选参数。Variant (Integer),表示在程式运行时视窗的样式。如果 windowstyle 省略,则程式是以具有焦点的最小化视窗来执行的。在Macintosh(系统7.0或更高)中,windowstyle仅决定当应用程式运行时是否获得焦点。 |
windowstyle 命名参数有以下这些值:
常量 | 值 | 描述 |
vbHide | 0 | 视窗被隐藏,且焦点会移到隐式视窗。常数vbHide在Macintosh平台不可用。 |
VbNormalFocus | 1 | 视窗具有焦点,且会还原到它原来的大小和位置。 |
VbMinimizedFocus | 2 | 视窗会以一个具有焦点的图示来显示。 |
VbMaximizedFocus | 3 | 视窗是一个具有焦点的最大化视窗。 |
VbNormalNoFocus | 4 | 视窗会被还原到最近使用的大小和位置,而当前活动的视窗仍然保持活动。 |
VbMinimizedNoFocus | 6 | 视窗会以一个图示来显示。而当前活动的的视窗仍然保持活动。 |
说明
如果 Shell 函式成功地执行了所要执行的档案,则它会返回程式的任务 ID。任务 ID 是一个唯一的数值,用来指明正在运行的程式。如果 Shell 函式不能打开命名的程式,则会产生错误。