Bird
Raised Fist0
PowerShellscripting~10 mins

Here-strings for multiline in PowerShell - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to create a multiline string using a here-string.

PowerShell
$text = @[1]
This is line one.
This is line two.
"@
Drag options to blanks, or click blank then click option'
A"""
B"@
C@"
D@'
Attempts:
3 left
💡 Hint
Common Mistakes
Using "@ instead of @" to start the here-string.
Using single quotes which create a literal string without variable expansion.
2fill in blank
medium

Complete the code to end the here-string correctly.

PowerShell
$text = @"
Line one
Line two
[1]
Drag options to blanks, or click blank then click option'
A"@
B@"
C"'
D'@
Attempts:
3 left
💡 Hint
Common Mistakes
Ending with @" instead of "@.
Adding extra spaces after the end marker.
3fill in blank
hard

Fix the error in the here-string declaration to allow variable expansion.

PowerShell
$name = "Alice"
$message = [1]
Hello, $name!
"@
Drag options to blanks, or click blank then click option'
A@'
B'@
C"@
D@"
Attempts:
3 left
💡 Hint
Common Mistakes
Using single-quoted here-string which treats variables as plain text.
Mixing start and end markers.
4fill in blank
hard

Fill both blanks to create a literal here-string that does not expand variables.

PowerShell
$name = "Bob"
$text = [1]
Hello, $name!
[2]
Drag options to blanks, or click blank then click option'
A@'
B"@
C'@
D@"
Attempts:
3 left
💡 Hint
Common Mistakes
Using double quotes which expand variables.
Mismatching start and end markers.
5fill in blank
hard

Fill all three blanks to create a here-string with variable expansion and assign it to $greeting.

PowerShell
$user = "Eve"
$greeting = [1]
Hello, [2]!
[3]
Drag options to blanks, or click blank then click option'
A@"
B$user
C"@
D'$user'
Attempts:
3 left
💡 Hint
Common Mistakes
Using single quotes which prevent variable expansion.
Using the variable name inside quotes which treats it as text.

Practice

(1/5)
1. What is the main purpose of using a here-string in PowerShell?
easy
A. To execute multiple commands in one line
B. To create multiline strings preserving formatting and line breaks
C. To define a function with multiple parameters
D. To comment out multiple lines of code

Solution

  1. Step 1: Understand what a here-string is

    A here-string is a way to write text that spans multiple lines without losing formatting or line breaks.
  2. Step 2: Compare options with the definition

    Only To create multiline strings preserving formatting and line breaks correctly describes the purpose of here-strings in PowerShell.
  3. Final Answer:

    To create multiline strings preserving formatting and line breaks -> Option B
  4. Quick Check:

    Here-strings = multiline text [OK]
Hint: Here-strings keep text exactly as typed across lines [OK]
Common Mistakes:
  • Confusing here-strings with command execution
  • Thinking here-strings are for comments
  • Assuming here-strings define functions
2. Which of the following is the correct syntax to start a double-quoted here-string in PowerShell?
easy
A. @' (at sign followed by single quote)
B. "@ (double quote followed by at sign)
C. @ (at sign followed by double quote)
D. @" (at sign followed by double quote)

Solution

  1. Step 1: Recall here-string syntax

    Double-quoted here-strings start with @" and end with "@.
  2. Step 2: Match options with syntax

    @" (at sign followed by double quote) correctly shows @" as the start of a double-quoted here-string.
  3. Final Answer:

    @" -> Option D
  4. Quick Check:

    Double-quoted here-string start = @" [OK]
Hint: Double-quoted here-strings start with @" [OK]
Common Mistakes:
  • Using single quote instead of double quote for double-quoted here-string
  • Reversing the order of @ and "
  • Confusing start and end delimiters
3. What will be the output of this PowerShell code?
$name = "Alice"
$text = @"
Hello, $name!
Welcome to PowerShell.
"@
Write-Output $text
medium
A. Hello, Alice! Welcome to PowerShell.
B. Hello, $name! Welcome to PowerShell.
C. Hello, Alice! Welcome to PowerShell.
D. Hello, $name! Welcome to PowerShell.

Solution

  1. Step 1: Identify the here-string type

    The here-string uses @" ... "@ which is double-quoted, so variables inside are expanded.
  2. Step 2: Evaluate variable expansion

    The variable $name is replaced by its value "Alice" inside the here-string.
  3. Final Answer:

    Hello, Alice! Welcome to PowerShell. -> Option A
  4. Quick Check:

    Double-quoted here-string expands variables [OK]
Hint: Double quotes expand variables inside here-strings [OK]
Common Mistakes:
  • Assuming variables are not expanded in double-quoted here-strings
  • Ignoring line breaks in output
  • Confusing single and double quotes for here-strings
4. Identify the error in this PowerShell script:
$text = @'
Line 1
Line 2
"@
Write-Output $text
medium
A. The here-string is not closed properly with '@
B. Using single quotes disables variable expansion
C. The ending delimiter "@ is incorrect for single-quoted here-string
D. Missing Write-Output command

Solution

  1. Step 1: Check the here-string delimiters

    The here-string starts with @' (single-quoted) but ends with "@ (double-quoted), which is incorrect.
  2. Step 2: Correct delimiter matching

    Single-quoted here-strings must end with '@, matching the start delimiter.
  3. Final Answer:

    The ending delimiter "@ is incorrect for single-quoted here-string -> Option C
  4. Quick Check:

    Start and end delimiters must match [OK]
Hint: Match start and end delimiters exactly for here-strings [OK]
Common Mistakes:
  • Mixing single and double quotes in delimiters
  • Forgetting to close the here-string
  • Assuming variable expansion error causes syntax error
5. You want to create a multiline string in PowerShell that includes the literal text "$path" without expanding it, but also includes a variable $user expanded. Which here-string syntax should you use?
hard
A. Use double-quoted here-string @" ... "@ and escape $path as `$path
B. Use single-quoted here-string @' ... '@ and write $user outside it
C. Use double-quoted here-string @" ... "@ and write $path as is
D. Use single-quoted here-string @' ... '@ and include $user inside it

Solution

  1. Step 1: Understand variable expansion in here-strings

    Double-quoted here-strings expand variables, single-quoted do not.
  2. Step 2: Requirement analysis

    You want $user expanded but $path literal. So use double-quoted here-string and escape $path as `$path to prevent expansion.
  3. Final Answer:

    Use double-quoted here-string @" ... "@ and escape $path as `$path -> Option A
  4. Quick Check:

    Escape variables to keep literal in double-quoted here-strings [OK]
Hint: Escape $ with backtick to keep literal in double-quoted here-strings [OK]
Common Mistakes:
  • Using single-quoted here-string disables all variable expansion
  • Not escaping $path causes unwanted expansion
  • Trying to expand variables inside single-quoted here-string
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard