认识命令行界面
学习目标
完成本单元后,您将能够:
- 说明命令行界面是什么。
- 确定每个操作系统 (OS) 的不同 Shell。
简介
如果您不熟悉命令行工具,那可选对徽章了。开发人员在为 Lightning Web 组件之类的项目编程的时候,通常使用命令行工具。这种基于文本的界面赋予您能力,无缝地通过您的项目启用开发人员软件包。在本模块中,我们的目的是揭开命令行工具的神秘面纱,向您介绍一些如今可以使用的命令。
我们先来学习什么是命令行工具。
命令行界面 (CLI)
在一个软件程序或您的 Salesforce 组织中工作时,您使用图形用户界面 (GUI)。GUI 是由屏幕、按钮和菜单组成的界面。GUI 使您可以方便地处理一些基本任务,比如导航和数据库更新。得知您每天都在使用 GUI 您可能会很吃惊!
命令行工具是基于文本的界面。您不是使用按钮或多个屏幕,而是在命令行工具里写命令,这样您可以直接与计算机或软件程序交互。您可能会疑惑,如果 GUI 是用户友好的,为什么开发人员还需要命令行工具呢?
命令行的使用
通过命令行界面,您可以快速执行复杂操作。而且命令行界面可以通过插件和软件包来自定义,这给了您很大的灵活性来定制您的开发工作区工具。通过命令行工具,您执行脚本、创建目录、与 Git 之类的工具交互,通过这些工具您可以构建和执行来源驱动的开发项目或 CI 集成。
命令行工具在哪里?
您使用的操作系统 (OS) 决定了命令行工具在哪里。您的 OS 有一个机器自带的命令行工具。我们来在您的机器上找到这个工具。
macOS/Linux
macOs 和 Linux 的主要命令行工具是 Terminal。要使用这个命令行工具,请打开 Terminal 应用程序。
- 打开 Finder。
- 在搜索字段中,输入
Terminal
,或单击 Terminal 图标打开应用程序。
Windows
Windows 的主要命令行工具是命令提示符。要使用这个命令行工具,请打开命令提示符应用程序。
- 单击开始,在搜索字段中输入
command
或cmd
,然后按 Enter。 - 单击命令提示符快捷方式打开这个工具。
您还可以通过一个代码编辑工具来使用 Terminal 窗口。
代码编辑器 Terminal 窗口
代码编辑器,比如 Atom 或 Visual Studio Code (VS Code),有内置 Terminal 窗口。我们推荐使用 Visual Studio Code (VS Code) Terminal 窗口来运行命令,配合 Salesforce CLI 使用。这个内置的 Terminal 窗口使您能够为项目编程,让 Terminal 窗口随时可用。通过代码编辑器 Terminal 窗口,如 VS Code,您可以安装软件包,赋予您的命令超能力(比如 VS Code 中的 Salesforce 扩展程序)。
Shell 是什么?
命令行窗口不只是一个输入文本的单纯的命令行界面。在这个窗口背后是一个命令行翻译器,或 Shell,处理您运行的命令。
Shell 是一个程序,翻译并执行命令行界面中输入的命令。它有助于了解您在使用什么 Shell,这样您知道应该输入什么命令,应该遵循哪种脚本编写语法。本徽章聚焦 macOS 和 Windows 的默认 Shell。
不同类型 Shell
有许多类型 Shell,提供不同的特征和功能。Windows 中最常见的 Shell 是 PowerShell。macOS 中最常见的 Shell是 Zsh 或 Z Shell。Z Shell 是一种 Unix Shell,通过一些改进扩展 Bourne Shell的功能(也叫 BASH Shell)。我们来进一步了解 BASH Shell。
BASH 是一个首字母缩略词,代表 bourne-again shell (bash)。是在它的前身 Bourne shell (sh) 的基础上起的一个俏皮的名字。跟它的前身一样,BASH 遵循的语言和语法是 POSIX 定义的Shell 命令语言。BASH 提供许多特征和功能。Z Shell 扩展 BASH 的功能。大多数开发人员工具,如 npm,都可以与 Z Shell 无缝集成。这是 BASH(以及现在的 Z Shell)成为开发人员教材中最常用的 Shell 的原因。此外还有 CSH(C Shell),一种 Unix Shell,具有跟 C 语言类似的编程语法,带内置算法,也可以执行来自文本文件的命令。
每种 Shell 都有自己的语法和能力,使它们可以执行各种不同的任务。如果您没有 ZSH,简单搜索一下,就可以在本机上安装这些 Shell。眼下,我们先聚焦 Windows 的 PowerShell 以及 macOS 和 Linux 的 ZSH。
了解 PowerShell 和 ZSH 有何区别
PowerShell (Windows) 和 ZSH(macOS 和 Linux)之间有一个明显的区别。除了针对各 OS 写命令的方式不同之外,每种 Shell 的功能和输出也不一样。最明显的是,ZSH 把输出作为字符串来处理,比如写到 .txt 文件中,而 PowerShell 把输出作为对象来处理。
当输出是一个字符串时,用户往往更容易在不同程序之间传输信息。这种可变的输出在编写和运行脚本或使用 API 的时候变得尤其重要,因为那些东西通常是 .txt 或支持字符串的格式。
本模块中的所有命令都是使用上述默认的 Shell 为各 OS 编写的。下一步,我们将学习命令结构并练习运行命令