练习 -“Hello World!”

已完成

学习代码的最佳方式之一是编写许多小程序。 编写较小的程序可以让你在编程基础和重要技术方面打下基础,当你开始编写较大的程序时,就可以应用它们。

编写第一个代码行

在此练习中,你将遵循软件开发人员的一个长期传统:将短语“Hello World!”打印到命令行或控制台窗口中。 你甚至可以从此基本练习中学到很多东西。

第 1 步:在 Cloud Shell 中键入代码

Azure Cloud Shell 提供了浏览器内体验来支持教程方法。 Cloud Shell 位于网页右侧。 它的行为与普通 PowerShell 终端窗口类似,不同之处是位于沙盒环境中。 可以直接在窗口中键入命令,也可以运行已经编写的脚本并在 Cloud Shell 中获取结果。

在本模块中,你将使用 Cloud Shell 中的代码编辑器版本来编写和运行脚本。

  1. 在 Cloud Shell 终端中,键入以下代码:

    New-Item HelloWorld.ps1
    code HelloWorld.ps1
    

    New-Item 命令在当前目录中创建一个新的 .ps1 文件。 .ps1 文件扩展名是用于 PowerShell 脚本的扩展名。

    使用后跟要处理的脚本的文件名的 code 命令,可以在 Cloud Shell 代码编辑器中打开此文件。 此时另一个窗口打开,可以在其中编写和编辑脚本,然后保存它们以在 Cloud Shell 中运行。 若要打开存储在另一个位置的文件,则可以定义完整路径,而不是只使用文件名。

  2. 在代码编辑器窗口中,键入以下代码:

    Write-Output 'Hello World!'
    
  3. 如果使用的是 Windows,则按 Ctrl+S 键盘快捷方式(或在 macOS 中按 +S)来保存文件。

    稍后我们将介绍它的工作原理和原因。 但是首先,应运行代码,以确保键入正确。

    备注

    你可能会忍不住想要使用代码示例中的“复制”按钮来跳过所有键入。 但是,我们建议你自行键入此代码行。 键入的身体动作可以增强肌肉记忆,帮助你获得其他方式无法获得的见解。

步骤 2:运行脚本

若要运行脚本,请在 Cloud Shell 终端中输入以下命令:

. ./HelloWorld.ps1

备注

请务必在命令开头包含点 (.)。 这会指示 PowerShell 运行正在调用的脚本或文件。

步骤 3:观察结果

Cloud Shell 中应显示以下输出:

Hello World!

如果看到错误消息,该怎么办

相较于其他要求每个字符都精确的语言,PowerShell 则更为宽松。 它不区分大小写,也就是说,它不会在意你是不小心键入了大写字母还是小写字母。 它以相同的方式解释 Write-Outputwrite-output。 主要要注意的是拼写错误或有多余或遗漏的空格。

如果出现错误,它可能如下所示:

Write-Outpu: The term 'Write-Outpu' is not recognized as a name of a cmdlet, function, script file, or executable program. 
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

在此示例中,PowerShell 提醒我们,我们错误地编写了 Write-Outpu(应为 Write-Output),它找不到我们指定的命令。

查看这些错误对于帮助你了解造成这些错误的原因是至关重要的。 如果你在运行程序时看到错误,则错误通常包含以下信息:发生问题的行号、错误说明,有时还包括关于如何修复它的建议。

注意

并不是所有的错误都像前面的示例一样简单易懂。 有些可能需要一点测试和调查来找出原因。

步骤 4:创建新文件并编写代码以接收输入

  1. 在打开的 HelloWorld.ps1 文件中,通过在命令前面添加数字符号 (#),注释禁止在编辑器中编写的代码。 在注释行下面,添加以下代码行:

    # Write-Output 'Hello World!'
    
    $name = Read-Host -Prompt "Please enter your name"
    Write-Output "Congratulations $name! You have written your first code with PowerShell!"
    

备注

通过在文本行前面添加数字符号 (#),可以创建代码注释。 这种实用技巧可以帮助你在不完全删除某些代码的情况下阻止代码运行。 还可以使用注释来添加信息,以供你自己或以后阅读你代码的其他人查看。 可以将注释放置在代码中的任何位置,同一行 # 之后的任何文本都会被注释掉。

  1. 保存文件,然后使用前面使用的相同命令来运行脚本:

    . ./HelloWorld.ps1
    
  2. 在要求输入用户名的提示符下,键入用户名,然后按 Enter

    输出是一条插入了你的用户名的消息。 例如:

    Congratulations Chase! You have written your first code with PowerShell!
    

你的程序如何工作?

在此练习中,你调用了名为 Write-Output 的 cmdlet。 Cmdlet 是使用 PowerShell 的主要方式。 命令语法格式为 Verb-Noun。 这样就可以更轻松理解代码尝试执行的操作。 cmdlet 的名称就是它的意图。 代码是对某物(名词)执行某操作(动词)。

Hello World! 和祝贺句都是 Write-Output cmdlet 处理和输出的字符串输入。 字符串是计算机使用的基本数据类型。 在 PowerShell 中,可以将字符串括在单引号 ('') 或双引号 ("") 中。 对于我们的代码,我们将使用双引号来允许 PowerShell 显示变量值,而不是变量名称。 在后面的模块中,你将详细了解数据类型以及如何定义它们。

通过使用 Read-Host,可以编写一条消息来提示用户进行输入。 使用 -Prompt 参数为用户定义此消息。 参数允许 cmdlet 接受用户输入。 你将输入存储在名为 $name 的变量中,然后使用 Write-Output cmdlet 在 Cloud Shell 终端中显示自定义消息。

你将在后面的模块中详细了解变量。 现在,只需将它们视为存储值的容器,使代码更具灵活性。 不必在每个程序中键入名称,只需将值存储在变量中,并重复使用它来获取不同的结果。

你通过在单词开头添加美元符号 ($) 来定义变量。 在字后面加上一个等号 (=),后跟要存储在变量中的值。 在前面的示例中,存储了名称“Chase”。变量可以命名为任何名称,但其名称最好能够对其存储的对象及其适用的位置起到提示作用。 例如,$name 存储某人的名字。

许多 cmdlet 的工作原理与前面的示例非常相似。 用户向 cmdlet 提供输入,cmdlet 执行某操作,然后 cmdlet 生成输出。 此过程可以是写入到输出窗格、计算公式、更改环境中的某些内容或其他许多操作。

回顾

让我们用一点时间来回顾一下第一单元所学的内容:

  • cmdlet 是与 PowerShell 交互的主要方式。 它们是用 Verb-Noun 格式编写的。
  • 参数接受输入,因此 cmdlet 可以提供输出或执行操作。
  • PowerShell 是一种宽松的语言。 也就是说,默认情况下,它不区分大小写。
  • PowerShell 错误可以帮助你识别问题,仔细阅读错误可以节省你的时间。
  • 变量用于存储要在程序中动态使用的值。