PowerShell脚本语言初探
powershell教程
powershell教程
PowerShell是一种用于自动化任务和管理计算机系统的命令行工具和脚本语言。它是Windows操作系统中的默认命令行选项,提供了许多功能强大的命令和脚本来协助系统管理员进行日常任务。
PowerShell可以运行各种命令,包括系统管理命令、文件处理命令、网络命令、注册表命令等。同时,它还支持脚本编写,可以编写包含复杂逻辑和任务序列的脚本来实现自动化操作。
以下是一些常用的PowerShell命令和用法:
1. 获取文件夹中的文件列表:
```
Get-ChildItem -Path C:\Folder
```
这个命令会列出指定路径下的所有文件和文件夹。
2. 复制文件或文件夹:
```
Copy-Item -Path C:\File.txt -Destination D:\Folder
```
这个命令会将指定路径下的文件复制到目标路径。
3. 删除文件或文件夹:
```
Remove-Item -Path C:\File.txt
```
这个命令会删除指定路径下的文件或文件夹。
4. 运行程序:
```
Start-Process -FilePath "C:\Program Files\Example\example.exe" ```
这个命令会运行指定路径下的程序。
5. 查找特定文件:
```
Get-ChildItem -Path C:\Folder -Filter *.txt -Recurse
```
这个命令会在指定路径下以及其子文件夹中查找扩展名为.txt 的文件。
6. 获取进程列表:
```
powershell_函数嵌套调用_示例及概述说明
powershell 函数嵌套调用示例及概述说明
1. 引言
1.1 概述
Powershell是一种功能强大的脚本语言和管理框架,它在Windows环境中广泛应用于自动化任务和系统管理。函数作为Powershell中的重要概念,可以将一系列相关的操作封装为可重复使用的代码块,并且可以通过参数和返回值进行数据交互。
在某些情况下,我们可能需要在函数内部调用其他函数来实现更复杂的逻辑或功能。这就引入了函数嵌套调用的概念。通过函数嵌套调用,我们可以将程序分解为更小、更易于理解和维护的模块化部分。本文将介绍Powershell函数嵌套调用的示例及概述说明,帮助读者更好地理解和应用该特性。
1.2 文章结构
本文分为五个部分,具体内容如下:
- 引言:提供对Powershell函数嵌套调用的背景和概述。
- 正文:介绍Powershell函数嵌套调用的基础知识,并给出两个示例来展示其使用方法。
- 深入理解函数嵌套调用的实现方式:探讨函数嵌套调用背后的技术原理,包括Stack堆栈原理解析、上下文环境的传递与保存机制,以及递归调用和迭代调用的比较分析。
- 嵌套调用带来的优缺点分析及应用场景介绍:分析函数嵌套调用所带来的优点,并给出示例应用场景。同时,也探讨了嵌套调用可能存在的缺点,并提供相应解决方案。
- 结论:总结本文所述内容和重要观点阐述,并展望Powershell函数嵌套调用的发展前景和研究方向。
1.3 目的
本文旨在通过详细说明Powershell函数嵌套调用示例及概述,帮助读者全面了解该特性。通过学习和理解Powershell函数嵌套调用的基础知识、实现方式以及优缺点分析,读者将能够更加灵活地利用这一特性进行代码开发和系统管理。此外,文章还将提供一些示例应用场景,以启发读者对于Powershell函数嵌套调用更广阔的思考,并对其未来发展进行展望。
Linux下标准Shell与PowerShell的比较研究
Linux下标准Shell与PowerShell的比较研
究
在操作系统中,Shell是许多用户与系统交互的主要方式。Linux 下的标准Shell和PowerShell是两种常见的Shell,它们在功能和特点上有着明显的不同。本篇文章将针对它们进行对比研究。
一、概述
Linux下的标准Shell是Bash(Bourne-Again SHell),它是由Brian Fox创建的自由软件,发行于1989年。Bash在Linux系统中被广泛使用,其语法和执行方式都与Bourne shell(sh)兼容。而PowerShell是微软公司的Shell,它是一种基于.NET框架的Shell,并且在Windows系统上运行得更好。PowerShell在2006年首次发布,主要用于Windows管理和自动化。
二、特点
1.脚本语言
Bash使用的是脚本语言,它使用一个称为“命令解释器”的程序
来执行命令和脚本。Bash的语法类似于其他Unix Shell,其中包括sh、ksh、csh等。Bash是跨平台的,可以在Mac OS、Linux和Windows等
系统上运行。
PowerShell也是一种脚本语言,但与Bash有所不同。它使用.NET 框架作为其底层运行时环境,并支持使用命令来进行任务处理。PowerShell的语法非常严谨,可以理解为一种“伪代码”语言。
2.对象
Bash中没有对象的概念。Bash处理的是字符串和文本流,并且使
用显示符合应用类型的命令来完成任务。
PowerShell支持对象,它可以控制和管理.NET对象。在PowerShell中,命令返回的所有对象都可以访问和操作其属性和方法。
PowerShell入门教程之Cmd命令与PowerShell命令相互调用的方法
PowerShell⼊门教程之Cmd命令与PowerShell命令相互调
⽤的⽅法
单独使⽤⼀种脚本来完成⼀项任务是理想的状态,⽽现实的情况往往是,因为历史原因、或者团队组成,你不得不将多种脚本或者程序组合在⼀起,来完成某项任务。本⽂的讨论范围是Cmd命令与PowerShell命令之间的组合与调⽤。
⽏庸置疑,Cmd命令与PowerShell命令之间的调⽤有两个⽅向。即在Cmd命令中调⽤PowerShell的命令,以及在PowerShell脚本中调⽤Cmd命令。需要说明的是,这⾥的调⽤分两个层次:⼀、简单的在其中⼀个的环境中执⾏另外⼀个命令,完成部分⼯作;⼆、在其中⼀个的执⾏上下⽂中调⽤另⼀个的命令,并根据返回结果来选择后⾯的逻辑。
在Cmd命令中调⽤PowerShell命令
如果只是在Cmd命令中调⽤PowerShell的命令,⽽不需要记录PowerShell的返回结果,是⾮常简单的。可以直接在Cmd命令或者脚本中执⾏类似⼀下命令:
复制代码代码如下:
powershell echo "Hello"
执⾏上述命令的时候,Cmd是把PowerShell当成⼀个应⽤程序来执⾏的。
在Cmd命令中调⽤PowerShell的命令并获得返回值的可⾏⽅法并不多。这是因为,Cmd命令对于结果的处理往往需要借助于⽂件读写,很少有机会在各个命令之间传递数据,并保存中间结果的。For命令是其中最好的⼀个⽅法,它的指向⽅法如下:
复制代码代码如下:
for /f %i in ('powershell echo "Hello"') do (set a=%i)
powershell编程实例
powershell编程实例
PowerShell 编程示例
简介
PowerShell 是一种基于对象和命令的脚本语言,用于在Windows 和其他平台上自动化任务和管理系统。它提供了一个交互式命令行环境,以及用于编写脚本和函数的丰富工具集。
创建 PowerShell 脚本
以下步骤说明了如何创建基本 PowerShell 脚本:
1. 打开 PowerShell Integrated Scripting Environment (ISE)。
2. 在编辑器窗口中输入以下代码:
```powershell
Write-Host "Hello, World!"
```
3. 单击 "文件" > "保存",将脚本另存为 ".ps1" 文件。
运行 PowerShell 脚本
要运行 PowerShell 脚本,请执行以下步骤:
1. 打开 PowerShell 控制台。
2. 导航到脚本所在的文件夹。
3. 键入以下命令,其中 "script.ps1" 是脚本的文件名: ```
.\script.ps1
```
使用 PowerShell 命令
PowerShell 提供了众多内置命令,用于执行各种任务。以下是一些常用的命令:
Get-Command - 获取可用命令列表
Get-Service - 获取系统服务列表
New-Item - 创建新项目(文件、文件夹等)
Set-Location - 更改当前工作目录
Write-Host - 在控制台中显示信息
使用 PowerShell 脚本编写函数
函数是可重用的代码块,可用于封装常见任务。以下步骤说明了如何编写 PowerShell 函数:
Windows+Powershell入门指南(中文)-微软资料
Microsoft Corporation 发布日期:2006 年 9 月
摘要
Windows PowerShell™ 是专为系统管理员设计的新 Windows 命令行外壳程序。该外壳程 序包括交互式提示和脚本环境,两者既可以独立使用也可以组合使用。 本文档旨在为新用户介绍 Windows PowerShell,以及使他们了解其基本功能。有关更详 细的信息,请参阅“Windows PowerShell 入门”。
驱动器和提供程序............................................................................................................ .................
自定义 Windows PowerShell................................................................................................................ 检查执行策略.............................................................................................................. ...................... Windows Powershell 配置文件......................................................................................................... 了解配置文件.............................................................................................................................. ... 创建配置文件.............................................................................................................................. ...
PowerShell入门
PoserShell中文站: PowerShell中文技术交流社区
PowerShell中文站:
Windows PowerShell 是微软公司为 Windows 环境所开发的壳程式(shell)及脚本语言技术,采用的是命令行界面。这项全新的技术提供了丰富的控制与自动化的系统管理能力。
PowerShell是一款基于对象的shell, 建立在.Net框架之上, 目前支持.Net Framework 2.0. 能够运行在Windows XP SP2, Windows Vista, Windows 2003操作系统上. 能够同时支持WMI, COM, , ADSI等已有的Windows管理模型。
这项全新的技术提供了丰富的控制与自动化的系统管理能力;而“脚本语言”(scripting languages)则是用来编写程序的计算机语言。脚本语言通常都有简单、易学、易用的特性,目的就是希望能让写程序的人(开发者)快速完成程序的编写工作。
PowerShell可以方便地查看和结束系统内的进程,PowerShell还支持将其设置为别名使用,PowerShell还有着管理系统服务、操作注册表和众多的网络相关操作。
Windows PowerShell™ 入门
Microsoft Corporation
发布日期:2006 年 9 月
摘要
Windows PowerShell™ 是专为系统管理员设计的新 Windows 命令行外壳程序。该外壳程序包括交互式提示和脚本环境,两者既可以独立使用也可以组合使用。
本文档介绍了 Windows PowerShell 的基本概念和功能,并提供了一些使用 Windows PowerShell 进行系统管理的建议方法。
PowerShell脚本编程实用指南
PowerShell脚本编程实用指南PowerShell是由Microsoft开发的一种跨平台的任务自动化和配置管理框架。通过使用PowerShell脚本编程,可以简化和自动化各种常见任务,提高工作效率。本指南将介绍PowerShell脚本编程的基础知识和实用技巧,帮助读者快速入门和运用PowerShell脚本编写出高效可靠的代码。
一、PowerShell简介及环境搭建
1.1 PowerShell的定义和特点
PowerShell是一种任务自动化和配置管理框架,具有强大的命令行环境和脚本编程能力。它采用了对象导向的编程范式,使得脚本编写更加简洁高效。
1.2 PowerShell的安装和配置
在本节中,将详细介绍如何下载、安装和配置PowerShell的开发环境。通过按照指导进行环境搭建,读者可以轻松开始PowerShell脚本编程之旅。
二、PowerShell脚本语言基础
2.1 PowerShell基本语法
PowerShell脚本使用类似于C#和的语法,具有丰富的控制结构和数据类型。本节将介绍PowerShell脚本的语法规则和基本操作符。
2.2 变量和数据类型
了解如何声明和使用变量以及PowerShell支持的各种数据类型,对于编写灵活和可靠的脚本至关重要。本节将探讨PowerShell中常用的数据类型和变量操作。
2.3 流程控制
PowerShell脚本通过条件判断、循环和跳转语句来实现流程控制。在本节中,将介绍各种流程控制结构的语法和用法,并提供一些实例演示。
三、PowerShell脚本编程实践
在Windows操作系统下使用PowerShell
在Windows操作系统下使用PowerShell PowerShell是一个强大的脚本语言和交互式命令行工具,可以在Windows操作系统下进行管理和自动化任务。它是一种命令行界面,可以方便快捷地管理和配置系统,也可以使用脚本编写任务来提高工作效率。
安装和启动PowerShell
安装PowerShell和启动它很容易。在Windows操作系统下,PowerShell已经默认安装,只需要打开搜索框,输入PowerShell,就可以找到它。点击打开即可,也可以按下Win+X组合键选择PowerShell来启动。
PowerShell的基本命令和语法
PowerShell有很多命令和语法,这里讨论几个最基本的命令和语法,帮助初学者了解PowerShell的基础知识。
1. Get-Command
这个命令可以用来获得所有命令的列表,语法为Get-Command。例如:
Get-Command
这将返回所有命令的列表,这些命令在当前计算机上可用。
2. Get-Help
这个命令可以用来获得关于其他命令的帮助文档,语法为Get-Help。例如:
Get-Help Get-Command
这将返回有关Get-Command命令的帮助文档。
3. Get-Process
这个命令可以用来获得正在运行的进程的列表,语法为Get-Process。例如:
Get-Process
这将返回当前计算机上正在运行的所有进程的列表,包括它们的进程ID和内存使用情况。
4. Set-ExecutionPolicy
这个命令可用于设置PowerShell的执行策略,以获得更好的安全性。执行策略指定可以在计算机上运行哪些脚本。例如:
学习使用PowerShell进行自动化脚本编写
学习使用PowerShell进行自动化脚本编写
PowerShell作为一种强大的自动化脚本编写工具,越来越受到开发者和系统管
理员的关注和喜爱。它具有丰富的功能和灵活的语法,方便使用者自定义编写脚本,提高工作效率。本文将介绍学习使用PowerShell进行自动化脚本编写的一些基本
知识和技巧,帮助读者快速上手。
首先,学习PowerShell的基础知识是必不可少的。PowerShell是一种基于命令
行的脚本语言,它运行在Windows操作系统环境下。想要熟练运用PowerShell,
我们首先需要了解PowerShell的语法和基本命令。比如,如何声明和使用变量、
如何编写条件语句和循环语句等等。在掌握这些基础知识的基础上,我们才能更好地理解和编写PowerShell脚本。
其次,掌握PowerShell的管道操作是非常重要的。管道操作是PowerShell的一项核心功能,它允许我们将一个命令的输出作为另一个命令的输入,从而实现多个命令的组合。例如,我们可以使用Get-Process命令获取正在运行的进程列表,并
将其输出通过管道传递给Sort-Object命令进行排序。掌握了管道操作,我们可以
更加灵活地处理和处理数据,提高编写脚本的效率。
另外,PowerShell还提供了丰富的模块和函数库,可以帮助我们更好地完成一
些常见的任务。比如,我们可以使用ActiveDirectory模块处理/管理Active Directory对象,使用Exchange模块处理/管理Exchange服务器,使用SQL Server
power shell用法
power shell用法
PowerShell 是一种命令行 Shell 和脚本语言,首次发布于 2006 年,面向管理员和DevOps (开发运维) 开发。PowerShell 可用于管理操作系统(如 Windows),也可用于管理许多其他 Microsoft 技术,如 SQL Server、Exchange 和 SharePoint。
1. 获取帮助
2. 测试命令执行的前结果
- Get-Process:获取正在运行的进程的列表。
- Get-ChildItem:列出文件系统中的文件和文件夹。
- Get-EventLog:获取事件日志中的所有条目。
3. 管道操作
Get-Process | Sort-Object -Property CPU -Descending
4. 格式命令
在上面的示例中,'Name' 和 'CPU' 列将以表格形式显示。
5. 运行程序
Start-Process calc.exe
6. 遍历文件夹
$files = Get-ChildItem "C:\Users\Username\Documents\" -Recurse -Include *.txt
foreach ($file in $files) {
# 执行跨每个 txt 文件的操作
}
在上面的示例中,我们使用 Get-ChildItem cmdlet 查找指定文件夹(如文档文件夹)中的所有 txt 文件。然后使用 foreach 循环遍历每个 txt 文件,并执行操作。
7. 远程管理
Enter-PSSession -ComputerName RemoteComputerName
PowerShell入门基础教程
PowerShell⼊门基础教程
Windows PowerShell 是专为系统管理员设计的新 Windows 命令⾏外壳程序。该外壳程序包括交互式提⽰和脚本环境,两者既可以独⽴使⽤也可以组合使⽤。
1、什么是交互式提⽰?
答:交互式提⽰就像打开⼀个cmd窗⼝,在⾥⾯执⾏⼀个ping命令⼀样,它会动态的输⼊结果。也可以像执⾏ftp命令⼀样,有⼀个上下⽂环境(Context),可以交互。
2、什么是脚本环境?
答:就像写VBScript脚本⼀样,以⽂件形式把PowerShell的程序语句写下来,然后利⽤PowerShell的脚本环境来执⾏整个脚本⽂件。顺便说⼀句,批处理也可以理解为⼀个脚本环境。PowerShell脚本⽂件的扩展名为.ps1,语⾔⽀持⽤于循环、条件、流控制和变量赋值的语⾔结构。
Windows PowerShell 是专为系统管理员设计的新 Windows 命令⾏外壳程序。该外壳程序包括交互式提⽰和脚本环境,两者既可以独⽴使⽤也可以组合使⽤。
解读:
1、什么是交互式提⽰?
答:交互式提⽰就像打开⼀个cmd窗⼝,在⾥⾯执⾏⼀个ping命令⼀样,它会动态的输⼊结果。也可以像执⾏ftp命令⼀样,有⼀个上下⽂环境(Context),可以交互。
2、什么是脚本环境?
答:就像写VBScript脚本⼀样,以⽂件形式把PowerShell的程序语句写下来,然后利⽤PowerShell的脚本环境来执⾏整个脚本⽂件。顺便说⼀句,批处理也可以理解为⼀个脚本环境。PowerShell脚本⽂件的扩展名为.ps1,语⾔⽀持⽤于循环、条件、流控制和变量赋值的语⾔结构。
psl白话解释
psl白话解释
PSL(PowerShell脚本语言)是一种基于Windows PowerShell的脚本语言,可用于自动化和管理Windows操作系统。PSL具有简洁、易读、可维护的语法,使得它成为许多开发者和管理员的首选工具。
一、PSL概述
PSL是PowerShell Scripting Language的缩写,它是PowerShell的核心组件之一。PSL是一种基于脚本的编程语言,可以执行PowerShell命令和函数,从而实现对Windows操作系统的自动化管理。PSL的语法与Windows 批处理脚本相似,但功能更强大,可读性更高。
二、PSL的基本语法
1.变量声明:在PSL中,可以使用$符号声明变量,如:$var = "Hello, World!"。
2.注释:PSL支持单行注释,使用#符号,如:# 这是一个单行注释。
3.运算符:PSL支持常见的算术、比较和逻辑运算符,如:+、-、*、/、%等。
4.控制结构:PSL支持条件语句(if、else)、循环语句(for、do、while)等。
5.函数:PSL可以自定义函数,函数定义格式为:
FunctionName([Parameter1], [Parameter2]) {
...
}
三、PSL的应用场景
1.自动化任务:PSL可以用于自动化日常重复任务,如文件夹备份、文件复制等。
2.系统管理:PSL可以用于管理系统,如用户账户管理、磁盘分区管理等。
3.编程实践:PSL可以作为一门编程语言,用于开发小型应用程序或脚本。
4.脚本编写:PSL是编写PowerShell脚本的理想选择,易于维护和阅读。
学习使用PowerShell进行Windows系统管理
学习使用PowerShell进行Windows系统管
理
第一章:PowerShell介绍
PowerShell是一种任务自动化和配置管理框架,它为IT Professionals提供了强大的管理工具和编程语言。PowerShell使用
简洁直观的语法,可以轻松地管理和控制Windows系统。
第二章:PowerShell基础知识
1. 安装PowerShell:首先,我们需要在Windows系统上安装PowerShell。这可以通过Microsoft官方网站下载并安装PowerShell软件包来完成。
2. PowerShell命令行界面:PowerShell提供了一个命令行界面,用户可以在此处输入命令进行操作。PowerShell还提供了多种插
件和扩展,以增强其功能。
3. PowerShell脚本:PowerShell脚本是一系列PowerShell命令
的集合,可以用于自动化系统管理任务。通过编写脚本,我们可
以提高工作效率,减少重复性的操作。
第三章:PowerShell基本命令
1. 获取系统信息:通过使用PowerShell的Get-ComputerInfo命令,我们可以获取关于计算机硬件、操作系统和网络的详细信息。
2. 管理文件和文件夹:PowerShell提供了一系列命令,可以创建、删除、复制和移动文件和文件夹等操作。
3. 管理进程和服务:使用PowerShell的Get-Process命令可以查看正在运行的进程列表,使用Stop-Process命令可以终止指定的进程。同样,我们可以使用Get-Service命令来查看正在运行的服务,使用Stop-Service命令来停止服务。
PowerShell入门(一):PowerShell能干什么?
PowerShell⼊门(⼀):PowerShell能⼲什么?
PowerShell能⼲什么呢?就像序⾔中提到的那样,PowerShell⾸先是个Shell,定义好了⼀堆命令与操作系统,特别是与⽂件系统交互,能够启动应⽤程序,甚⾄操纵应⽤程序;第⼆,PowerShell允许将⼏个命令组合起来放到⽂件⾥执⾏,实现⽂件级的重⽤,也就是说有脚本的性质;第三,PowerShell能够能够充分利⽤.Net类型和COM对象,来简单地与各种系统交互,完成各种复杂的、⾃动化的操作。
⼀、与⽂件系统交互、运⾏应⽤程序
就像在Dos中⼀样,在PowerShell的交互界⾯上键⼊"dir"并回车,会显⽰当前⽂件夹下的⼦⽂件夹和⽂件信息。
PS D:\Projects\Practise\PowerShell> dir
Directory: D:\Projects\Practise\PowerShell
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 1/23/2013 12:35 PM d1
d---- 1/23/2013 12:35 PM d2
-a--- 1/21/2013 8:38 PM 36314 alias.tx
-a--- 1/21/2013 8:32 PM 241530 cmdlets.
-a--- 1/18/2013 10:18 AM 888 errors.t
像这样的命令很多,⽐如echo "Hello", cd ..等等。从这⾥看来它就是⼀个命令⾏,实现了原来命令⾏的功能。但PowerShell是命令⾏的加强版吗,是命令⾏的超集吗?这个真不是,以后会专门说这个问题。
powershell 基础命令
powershell 基础命令
PowerShell 基本命令
PowerShell 是一种强大的脚本语言和命令行界面,用于管理Windows 系统和自动化任务。以下是一系列基本命令,可帮助您入门:
导航命令
`Get-Location`<br>
显示当前路径。
`Set-Location`<br>
更改当前路径。
`Dir` 或 `ls`<br>
列出当前目录中的文件和文件夹。
`cd`<br>
快速更改目录。
文件和文件夹管理
`New-Item`<br>
创建新文件或文件夹。 `Remove-Item`<br> 删除文件或文件夹。 `Copy-Item`<br>
复制文件或文件夹。 `Move-Item`<br>
移动文件或文件夹。
命令管理
`Get-Command`<br>
查找系统中可用的命令。 `Help`<br>
显示特定命令的帮助信息。
作业管理
`Start-Job`<br>
在后台启动新作业。
`Stop-Job`<br>
停止正在运行的作业。
`Get-Job`<br>
获取有关作业状态的信息。
变量操作
`$variable`<br>
获取变量值。
`$variable = value`<br> 设置变量值。
`Get-Variable`<br>
显示系统中可用的变量。
比较操作符
`-eq`<br>
相等。
`-ne`<br>
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PowerShell 是微软为Windows 环境所开发的shell 及脚本语言技术,这项全新的技术提供了丰富的控制与自动化的系统管理能力;而“脚本语言”(scripting languages)则是用来编写程序的计算机语言。脚本语言通常都有简单、易学、易用的特性,目的就是希望能让写程序的人(开发者)快速完成程序的编写工作。本文将简述脚本语言的起源与目的,并且介绍Windows PowerShell。
脚本语言的源起与目的
脚本语言是计算机程序语言(programming languages)的一种,因此也能让开发者藉以编写出让计算机听命行事的程序。但是「以简单的方式快速完成某些复杂的事情」通常是创造脚本语言的重要原则,基于这项原则,使得脚本语言通常比C、C++ 或Java 之类的「系统程序语言」(system programming languages)「简单」、「容易」,也让脚本语言另有一些所谓「脚本语言的特性」:
•语法和结构通常比较简单
•学习和使用通常比较简单
•通常以容易修改程序的「直译」作为执行方式,而不需要编译
•程序的开发产能优于执行效能
脚本语言源自早期文字模式的命令列计算机系统,在当时只能以键盘敲入命令才能操作计算机的情况下,为了减少某些需要不断重复敲入命令的情况,计算机操作系统的命令处理器(在UNIX 的世界这通常称为command shell)提供了「批次操作」(batch operation)的方式,让计算机操作者可以将一整个流程的命令,循序、逐行的编排在称为「批处理」(batch file,也称为batch jobs 或shell scripts)的文字文件,若有相同的操作需要处理,即可加载批次档而不需再次重复敲入指令。
Shell Script
由于批处理对命令列的计算机系统操作者帮助甚大,因此操作系统的命令处理器也不断加强功能,尤其加入了许多程序语言的重要元素,包括变量、循环、条件判断等等,让计算机操作不只是循序的执行命令,而能更精确的操控计算机系统的运作;这种程序设计通常称为shell programming。因此,不论是大型主机的系统操作员,或者是整个计算机环境的系统管理员、网络管理员,shell programming 都是相当重要的技能,这项技能可以有效且快速的管理辖下的计算机。
UNIX 系统的shell 相当多样,例如Bourne Shell(sh)、Bourne-Again Shell (bash)、Korn Shell(ksh)、C Shell(csh)等等;以下简述常见的UNIXshell。
•Bourne Shell(sh):这是历史悠久且重要的UNIX shell,是由贝尔实验室的研究员Stephen Bourne 为第七版的UNIX 所创造,这种shell 的执行档扩展名就是.sh。
•Bourne-Again Shell(bash):光从名称就能猜出bash 与sh 是有渊源(甚至说「血缘」)。bash 是由Brian Fox 于1987 年为GNU 所创造,1990 年起,Chet Ramey 成为主要的维护者。bash 是相当流行的shell,除了是大多数Linux 预设的shell,在许多UNIX-like 系统也有其踪迹(例如Mac OS X Tiger),甚至也能通过Cygwin 在Windows 系统执行。
•Korn Shell(ksh):是由贝尔实验室的研究员David Korn 在80 年代初期所创造,ksh 除了与sh 完全兼容,也包含了若干 C Shell 的功能。
• C Shell(csh):是由Bill Joy(后来创办了Sun公司)为BSD UNIX 系统所创造。csh 源自于第六版UNIX 的Thompson shell(是Bourne Shell 的前身),因为语法类似 C 语言而得名。
除了上述盛行于UNIX 环境的shell,其它操作系统也有专属的shell 或
shell 脚本语言,例如苹果Mac系统的AppleScript、IBM OS/2 的REXX (REstructured eXtended eXecutor)。而DOS 以及早期Windows 的shell 则是,但也因功能较弱,因此有4DOS、4NT 等软件可增强功能,Windows 2000 以及之后的Windows 则改以功能较强cmd.exe 作为Windows shell,并且以Windows Script Host 作为脚本语言执行环境,大幅提高了Windows shell 的可用性。而微软也将会推出功能更强的Windows shell,称为Windows PowerShell。
虽然现在许多计算机系统都提供了图形化的操作方式,但是却都没有因而停止提供文字模式的命令列操作方式,相反的,许多系统反而更加强这部份的功能,例如Windows 就不只加强了操作命令的功能和数量,也一直在改善shell programming 的方式。而之所以要加强、改善,当然是因为不够好;Windows 的图形化操作方式对单一客户端计算机的操作,已经相当方便,但如果是一群客户端计算机,或者是24 小时运作的服务器计算机,图形化操作方式有时会很不方便。
宏语言
宏语言也可视为脚本语言的分支,两者也实质上的相同之处。宏语言通常附属于某一种软件,例如微软Office、Visual Studio、Adobe Photoshop 都内建了宏语言的功能,使用者可利用软件所附的宏语言,达到自动化的结果(例如调整某个数据夹所有PSD 图文件的分辨率)。而这类宏语言也大多提供录制宏的功能,自动记录使用者的键盘按键,让使用者不必写程序,就能产生宏程序。此外,C 语言和汇编语言也有宏功能,是以搜寻及取代进行编译或组译之前的前置处理。
Windows PowerShell 诞生
UNIX 的世界有功能强大的shell,现在Windows 环境也有了;Windows