Bird
Raised Fist0
Bash Scriptingscripting~5 mins

String variables in Bash Scripting - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: String variables
O(n)
Understanding Time Complexity

We want to understand how the time to work with string variables changes as the string gets longer.

How does the script's running time grow when we use bigger strings?

Scenario Under Consideration

Analyze the time complexity of the following code snippet.


string="hello"
length=${#string}
for (( i=0; i

This code prints each character of a string one by one.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: Looping through each character of the string.
  • How many times: Once for each character in the string (length of the string).
How Execution Grows With Input

As the string gets longer, the loop runs more times, once per character.

Input Size (n)Approx. Operations
1010 times
100100 times
10001000 times

Pattern observation: The number of operations grows directly with the string length.

Final Time Complexity

Time Complexity: O(n)

This means the time to process the string grows in a straight line as the string gets longer.

Common Mistake

[X] Wrong: "Accessing each character in a string is constant time regardless of string length."

[OK] Correct: Each character access happens inside a loop that runs once per character, so total time grows with string length.

Interview Connect

Understanding how string operations scale helps you write scripts that handle data efficiently and avoid slowdowns as input grows.

Self-Check

"What if we replaced the loop with a command that processes the whole string at once? How would the time complexity change?"

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