練習 - "Hello World!"
學習程式碼的最佳方式之一,就是撰寫許多微小的程式。 撰寫較小型的程式可讓您對程式設計和重要技術有基礎的了解,讓您在開始撰寫較大型的程式時加以應用。
注意
此練習為選擇性項目。 如果您想要完成此練習,您必須先建立 Azure 訂用帳戶,才能開始。 如果您沒有 Azure 帳戶,或目前不想建立帳戶,您可以閱讀指示,以便瞭解所呈現的資訊。
注意
在本單元中,您會使用 Azure Cloud Shell 作為終端機。 您可以透過 Azure 入口網站 或 Cloud Shell 登入來存取 Cloud Shell。 您無需在 PC 或筆記本電腦上安裝任何東西即可使用它。
撰寫您的第一行程式碼
在本練習中,您將遵循軟體開發人員之間長期以來的傳統,將「Hello World!」這個片語列印到命令列或主控台視窗。 您甚至可以從這個基本練習中學到很多東西。
步驟 1:在 Cloud Shell 中輸入程式碼
Azure Cloud Shell 提供瀏覽器內體驗來支援我們的教學課程方法,其行為就像一般的 PowerShell 終端機視窗一樣。 您可以直接在視窗中輸入命令,也可以執行先前撰寫的指令碼,並在 Cloud Shell 得到結果。
在本課程模組中,您將在 Cloud Shell 中使用某個版本的程式碼編輯器來撰寫和執行指令碼。
開啟 Azure Cloud Shell 並輸入下列程式碼:
New-Item HelloWorld.ps1 code HelloWorld.ps1注意
如果出現對話方塊詢問您是否要 [切換至傳統 Cloud Shell],請選取 [確認]。 然後,重新輸入第二個命令
code HelloWorld.ps1,以在 Cloud Shell 程式碼編輯器中開啟您的檔案。New-Item命令會在目前的目錄中建立新的.ps1檔案。 副檔名.ps1是用於 PowerShell 指令碼的副檔名。code命令後面接著您要使用的指令碼檔案名稱,會在 Cloud Shell 程式碼編輯器中開啟檔案。 另一個視窗隨即開啟,讓您能夠撰寫和編輯指令碼,然後將其儲存以在 Cloud Shell 中執行。 如果您想要開啟儲存在其他位置的檔案,則可以定義完整路徑,而不是只使用檔案名稱。在程式碼編輯器視窗中,輸入下列程式碼:
Write-Output 'Hello World!'在 Windows 中使用 Ctrl+S 鍵盤快速鍵 (或在 macOS 上使用 ⌘+S) 來儲存該檔案。
我們即將說明其運作方式與原因。 但首先,您應該執行您的程式碼,以確定您已正確輸入。
注意
您可能需要使用程式碼範例上的 [複製] 按鈕來略過所有的輸入。 不過,我們鼓勵您自行輸入此程式碼。 輸入組建肌肉記憶體的實體動作,可協助您深入解析您可能無法取得的資訊。
步驟 2:執行指令碼
若要執行指令碼,請在 Cloud Shell 終端機中輸入下列命令:
. ./HelloWorld.ps1
注意
請務必在命令的開頭包含點 (.)。 這會告知 PowerShell 執行正在呼叫的指令碼或檔案。
步驟 3:觀察結果
您應該會在 Cloud Shell 中看到下列輸出:
Hello World!
看到錯誤訊息時該怎麼做
儘管其他語言要求每個字元皆須精確,但 PowerShell 則較為寬鬆。 不區分大小寫,這表示其不會在意您是否不慎輸入不應出現的大寫或小寫字母。 其會以相同方式解讀 Write-Output 和 write-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:建立新的檔案,並撰寫程式碼以接收輸入
在開啟的
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!"
注意
您可以建立程式碼註解,方法是在文字行前面加上數字記號 (#)。 這項實用的技巧可協助您避免執行特定程式碼,而不需要將其完全移除。 您也可以使用註解來為您自己或稍後讀取程式碼的其他人員新增資訊。 您可以將註解放在程式碼中的任何位置,且同一行中在 # 後的任何文字都會註解化。
儲存檔案,然後使用您稍早使用的相同命令,再次執行指令碼:
. ./HelloWorld.ps1在要求您輸入名稱的提示中,輸入您的名稱,然後選取 Enter。
輸出是已插入您名稱的訊息。 例如:
Congratulations Chase! You have written your first code with PowerShell!
您的程式的運作方式為何?
在本練習中,您叫用了一個名為 的 Write-Output。 Cmdlet 是使用 PowerShell 的主要方式。 命令語法是一種 Verb-Noun 格式。 此語法可讓您輕鬆了解程式碼嘗試執行的動作。 Cmdlet 的名稱是其意圖。 這段程式碼會對事物 (名詞) 進行 (動詞)。
Hello World! 和祝賀句子皆為 Cmdlet 進行處理和輸出的Write-Output輸入。 字串是電腦使用的基本資料類型。 在 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 錯誤可協助您找出問題,而謹慎地讀取錯誤則可節省您的時間。
- 變數是用來儲存您要在程式中動態使用的值。