Bird
Raised Fist0
Bash Scriptingscripting~20 mins

String variables in Bash Scripting - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
String Variable Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
💻 Command Output
intermediate
2:00remaining
What is the output of this Bash script?
Consider the following Bash script that manipulates string variables. What will it print?
Bash Scripting
name="Alice"
welcome="Hello, $name!"
echo "$welcome"
AHello, !
BHello, $name!
CHello, Alice!
Dname
Attempts:
2 left
💡 Hint
Remember how Bash replaces variables inside double quotes.
💻 Command Output
intermediate
2:00remaining
What does this Bash script output when using single quotes?
Look at this script and decide what it prints:
Bash Scripting
name='Bob'
welcome='Hello, $name!'
echo "$welcome"
AHello, !
BHello, $name!
CHello, Bob!
Dname
Attempts:
2 left
💡 Hint
Single quotes prevent variable expansion in Bash.
📝 Syntax
advanced
2:00remaining
Which option correctly concatenates two strings in Bash?
You want to join two string variables, first="Good" and second="Morning". Which command correctly concatenates them into greeting?
Bash Scripting
first="Good"
second="Morning"
Agreeting="$first$second"
Bgreeting=$first + $second
Cgreeting=$first.$second
Dgreeting="$first + $second"
Attempts:
2 left
💡 Hint
In Bash, string concatenation is done by placing variables side by side inside quotes.
🔧 Debug
advanced
2:00remaining
Why does this Bash script produce an error?
This script tries to assign a string with spaces to a variable but fails. Identify the cause.
Bash Scripting
greeting=Hello World
echo "$greeting"
ABecause the variable is read-only
BBecause the variable name is invalid
CBecause echo cannot print variables
DBecause the string with spaces is not quoted
Attempts:
2 left
💡 Hint
Think about how Bash treats spaces in assignments.
🚀 Application
expert
3:00remaining
What is the value of 'result' after running this script?
Given the script below, what is the value of the variable 'result'?
Bash Scripting
text="  Bash scripting  "
trimmed="${text##*( )}"
result="${trimmed%%*( )}"
echo "$result"
ABash scripting
Bgnitpircs hsaB
Cscripting
Dash scripting
Attempts:
2 left
💡 Hint
Look up how parameter expansion with ## and %% works for trimming spaces.

Practice

(1/5)
1. What is the correct way to assign the string Hello to a variable named greeting in bash?
easy
A. greeting="Hello"
B. greeting = "Hello"
C. greeting: "Hello"
D. greeting <- "Hello"

Solution

  1. Step 1: Understand bash variable assignment syntax

    In bash, variable assignment must have no spaces around the equals sign.
  2. Step 2: Check the options for correct syntax

    greeting="Hello" uses no spaces and quotes the string correctly. The other options have invalid syntax.
  3. Final Answer:

    greeting="Hello" -> Option A
  4. Quick Check:

    No spaces around = and quotes needed [OK]
Hint: No spaces around = and use quotes for strings [OK]
Common Mistakes:
  • Adding spaces around = causes syntax errors
  • Forgetting quotes around strings with spaces
  • Using wrong assignment symbols like : or <-
2. Which of the following correctly prints the value of the variable name in bash?
easy
A. echo name
B. echo $name
C. echo &name
D. echo %name

Solution

  1. Step 1: Recall how to access variable values in bash

    Use the dollar sign ($) before the variable name to get its value.
  2. Step 2: Evaluate each option

    echo $name uses $name correctly. echo name prints the literal word 'name'. The other options use invalid symbols.
  3. Final Answer:

    echo $name -> Option B
  4. Quick Check:

    Use $ to access variable value [OK]
Hint: Use $ before variable to print its value [OK]
Common Mistakes:
  • Forgetting $ prints variable name, not value
  • Using wrong symbols like & or %
  • Confusing variable access with assignment
3. What will be the output of this bash script?
name="Alice"
echo "Hello, $name!"
medium
A. Hello, Alice!
B. Hello, $name!
C. Hello, name!
D. Hello, !

Solution

  1. Step 1: Understand variable assignment and usage

    The variable name is assigned the string "Alice".
  2. Step 2: Analyze the echo command with variable expansion

    The echo command uses double quotes, so $name is replaced by its value "Alice".
  3. Final Answer:

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

    Variables expand inside double quotes [OK]
Hint: Variables expand inside double quotes, not single quotes [OK]
Common Mistakes:
  • Expecting variable expansion inside single quotes
  • Printing variable name literally without $
  • Forgetting to assign variable before use
4. Identify the error in this bash script:
message = "Hi there"
echo $message
medium
A. Variable name is invalid
B. Quotes should be single quotes
C. Missing $ before variable in echo
D. Spaces around = cause syntax error

Solution

  1. Step 1: Check variable assignment syntax

    In bash, no spaces are allowed around the equals sign when assigning variables.
  2. Step 2: Analyze the given script

    The line message = "Hi there" has spaces around =, causing a syntax error.
  3. Final Answer:

    Spaces around = cause syntax error -> Option D
  4. Quick Check:

    No spaces around = in assignments [OK]
Hint: No spaces around = in variable assignment [OK]
Common Mistakes:
  • Adding spaces around =
  • Using wrong quotes type causes no error here
  • Forgetting $ in echo prints variable name literally
5. You want to store a user's full name with spaces in a variable fullname and then print it. Which script correctly does this?
hard
A. fullname=John Doe echo $fullname
B. fullname='John Doe' echo fullname
C. fullname="John Doe" echo $fullname
D. fullname=John_Doe echo $fullname

Solution

  1. Step 1: Assign string with spaces to variable

    Strings with spaces must be quoted to be assigned correctly in bash.
  2. Step 2: Print the variable value

    Use echo $fullname to print the stored string value.
  3. Final Answer:

    fullname="John Doe" echo $fullname -> Option C
  4. Quick Check:

    Quote strings with spaces and use $ to print [OK]
Hint: Quote strings with spaces; use $ to print variable [OK]
Common Mistakes:
  • Not quoting strings with spaces causes errors
  • Printing variable name without $ prints literal text
  • Using underscores instead of spaces changes the 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