Bird
Raised Fist0
Bash Scriptingscripting~10 mins

Single quotes (literal strings) in Bash Scripting - Interactive Code Practice

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

Complete the code to assign the literal string 'Hello World' to the variable greeting using single quotes.

Bash Scripting
greeting=[1]Hello World[2]
Drag options to blanks, or click blank then click option'
A'
B"
C`
D\
Attempts:
3 left
💡 Hint
Common Mistakes
Using double quotes instead of single quotes changes how variables inside the string are handled.
Forgetting to close the quotes causes syntax errors.
2fill in blank
medium

Complete the code to print the literal string $HOME without expanding the variable.

Bash Scripting
echo [1]$HOME[2]
Drag options to blanks, or click blank then click option'
A'
B"
C`
Attempts:
3 left
💡 Hint
Common Mistakes
Using double quotes causes the variable to expand.
Not quoting the string causes the shell to interpret $HOME.
3fill in blank
hard

Fix the error in the code to assign the string It's sunny to the variable weather using single quotes.

Bash Scripting
weather=[1]It's sunny[2]
Drag options to blanks, or click blank then click option'
A'
B"
C\'
D`
Attempts:
3 left
💡 Hint
Common Mistakes
Trying to put a single quote inside single quotes without escaping.
Using backslash inside single quotes does not work as expected.
4fill in blank
hard

Fill both blanks to assign the literal string $USER's home is /home/$USER to the variable info using single quotes and double quotes correctly.

Bash Scripting
info=[1]$USER's home is /home/[2]$USER
Drag options to blanks, or click blank then click option'
A"
B'
C$
D\
Attempts:
3 left
💡 Hint
Common Mistakes
Using only single quotes causes variables not to expand.
Using only double quotes causes problems with the apostrophe.
5fill in blank
hard

Fill both blanks to create a variable path that holds the literal string /home/$USER/Documents using single quotes and variable expansion.

Bash Scripting
path=[1]/home/$USER[2]/Documents
Drag options to blanks, or click blank then click option'
A"
D'
Attempts:
3 left
💡 Hint
Common Mistakes
Putting the whole string in single quotes prevents variable expansion.
Not quoting parts causes syntax errors.

Practice

(1/5)
1. What does enclosing text in single quotes 'text' do in a Bash script?
easy
A. Runs commands inside the quotes and replaces with output.
B. Allows variables inside to be expanded to their values.
C. Removes all spaces inside the quotes.
D. Treats the text exactly as written, no variable or command expansion.

Solution

  1. Step 1: Understand single quotes behavior

    Single quotes in Bash preserve the text literally without any expansion.
  2. Step 2: Compare with other quotes

    Double quotes allow variable and command expansion, but single quotes do not.
  3. Final Answer:

    Treats the text exactly as written, no variable or command expansion. -> Option D
  4. Quick Check:

    Single quotes = literal text [OK]
Hint: Single quotes keep text exactly as typed, no changes inside [OK]
Common Mistakes:
  • Thinking variables expand inside single quotes
  • Assuming commands run inside single quotes
  • Confusing single quotes with double quotes
2. Which of the following is the correct way to assign the literal string It's sunny to a variable weather using single quotes in Bash?
easy
A. weather='It's sunny'
B. weather='It'\''s sunny'
C. weather="It's sunny"
D. weather='It\'s sunny'

Solution

  1. Step 1: Understand single quote limitation

    Single quotes cannot contain a single quote directly inside; it ends the string.
  2. Step 2: Use escape trick for single quote inside single quotes

    Use 'It'\''s sunny' which closes, escapes, and reopens single quotes.
  3. Final Answer:

    weather='It'\''s sunny' -> Option B
  4. Quick Check:

    Single quote inside single quotes needs closing and escaping [OK]
Hint: Close, escape, reopen single quotes to include a single quote inside [OK]
Common Mistakes:
  • Putting single quote directly inside single quotes
  • Using backslash inside single quotes (ignored)
  • Confusing with double quotes for this case
3. What will be the output of this Bash script?
name='Alice'
echo 'Hello, $name!'
medium
A. Hello, Alice!
B. Hello, !
C. Hello, $name!
D. Syntax error

Solution

  1. Step 1: Identify single quotes effect on variables

    Variables inside single quotes are not expanded; they print literally.
  2. Step 2: Check the echo output

    Echo prints exactly 'Hello, $name!' as typed inside single quotes.
  3. Final Answer:

    Hello, $name! -> Option C
  4. Quick Check:

    Single quotes prevent variable expansion [OK]
Hint: Variables inside single quotes print as-is, no expansion [OK]
Common Mistakes:
  • Expecting variable to expand inside single quotes
  • Confusing single and double quotes
  • Assuming syntax error due to variable
4. The following script is intended to print Path: /usr/bin but it prints Path: $PATH instead. What is the error?
echo 'Path: $PATH'
medium
A. Single quotes prevent variable expansion, use double quotes instead.
B. Variable name is incorrect, should be lowercase path.
C. Missing backslash before $ to escape variable.
D. echo command syntax is wrong.

Solution

  1. Step 1: Understand single quotes effect on variables

    Single quotes treat $PATH literally, no expansion happens.
  2. Step 2: Fix by using double quotes

    Double quotes allow variable expansion, so use "Path: $PATH".
  3. Final Answer:

    Single quotes prevent variable expansion, use double quotes instead. -> Option A
  4. Quick Check:

    Single quotes block expansion, double quotes allow it [OK]
Hint: Use double quotes to expand variables, not single quotes [OK]
Common Mistakes:
  • Thinking variable name case matters here
  • Trying to escape $ inside single quotes (ignored)
  • Assuming echo syntax error
5. You want to create a Bash script that prints the exact text She said, 'Hello!' using a single echo command with single quotes. Which command will work correctly?
hard
A. echo 'She said, '\''Hello!\'''
B. echo 'She said, "Hello!"'
C. echo "She said, 'Hello!'"
D. echo 'She said, 'Hello!''

Solution

  1. Step 1: Recognize single quote inside single quotes problem

    Single quotes cannot contain single quotes directly; it ends the string.
  2. Step 2: Use the escape trick to include single quote inside single quotes

    Use 'She said, '\''Hello!\''' to close, escape, and reopen single quotes.
  3. Final Answer:

    echo 'She said, '\''Hello!\''' -> Option A
  4. Quick Check:

    Escape single quote inside single quotes by closing and reopening [OK]
Hint: Close, escape, reopen single quotes to include single quote inside [OK]
Common Mistakes:
  • Putting single quote directly inside single quotes
  • Using double quotes when single quotes required
  • Incorrectly escaping quotes inside single quotes
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