Bird
Raised Fist0
Bash Scriptingscripting~5 mins

Variable assignment (no spaces around =) in Bash Scripting - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: Variable assignment (no spaces around =)
O(n)
Understanding Time Complexity

Let's see how the time it takes to run a simple variable assignment changes as we run it multiple times.

We want to know how the cost grows when we assign values repeatedly.

Scenario Under Consideration

Analyze the time complexity of the following code snippet.

for i in {1..1000}
do
  value=$i
  echo $value
done

This code assigns a number to a variable and prints it, repeating 1000 times.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: Variable assignment and printing inside a loop.
  • How many times: The loop runs exactly n times, where n is the number of iterations.
How Execution Grows With Input

Each time we increase the number of loop runs, the total work grows directly with it.

Input Size (n)Approx. Operations
1010 assignments and prints
100100 assignments and prints
10001000 assignments and prints

Pattern observation: Doubling the input doubles the work done.

Final Time Complexity

Time Complexity: O(n)

This means the time grows in a straight line with the number of assignments we do.

Common Mistake

[X] Wrong: "Variable assignment is instant and does not add to time complexity."

[OK] Correct: Even simple assignments inside a loop add up as the loop runs more times, so total time grows with input size.

Interview Connect

Understanding how simple repeated steps add up helps you explain script performance clearly and confidently.

Self-Check

"What if we replaced the loop with a function call inside the loop? How would the time complexity change?"

Practice

(1/5)
1. Which of the following is the correct way to assign the value hello to a variable named greet in bash?
easy
A. greet =hello
B. greet = hello
C. greet= hello
D. greet=hello

Solution

  1. Step 1: Understand bash variable assignment rules

    Bash does not allow spaces around the = sign when assigning variables.
  2. Step 2: Check each option for spaces

    Only greet=hello has no spaces around =. Options B, C, and D have spaces, which cause errors.
  3. Final Answer:

    greet=hello -> Option D
  4. Quick Check:

    No spaces around = means correct assignment [OK]
Hint: No spaces around = in bash variable assignment [OK]
Common Mistakes:
  • Adding spaces around = causes syntax errors
  • Using quotes unnecessarily in simple assignments
  • Trying to assign with spaces after =
2. Which of the following bash commands correctly assigns the value 42 to the variable num?
easy
A. num=42
B. num= 42
C. num =42
D. num = 42

Solution

  1. Step 1: Identify spaces around the equal sign

    Bash requires no spaces around the = sign for variable assignment.
  2. Step 2: Verify each option

    Only num=42 has no spaces around =. Others have spaces causing errors.
  3. Final Answer:

    num=42 -> Option A
  4. Quick Check:

    No spaces around = means correct syntax [OK]
Hint: Remember: no spaces around = in bash assignments [OK]
Common Mistakes:
  • Leaving spaces around = causes syntax errors
  • Confusing assignment with comparison operators
  • Using quotes unnecessarily for numbers
3. What will be the output of the following bash script?
name=John
echo $name
medium
A. name
B. Syntax error
C. John
D. $name

Solution

  1. Step 1: Understand variable assignment and usage

    The variable name is assigned the value John without spaces around =.
  2. Step 2: Understand echo with variable

    echo $name prints the value stored in name, which is John.
  3. Final Answer:

    John -> Option C
  4. Quick Check:

    Variable value printed, not variable name [OK]
Hint: Use $ before variable to print its value [OK]
Common Mistakes:
  • Printing variable name instead of value
  • Forgetting $ before variable in echo
  • Adding spaces around = causing errors
4. Identify the error in the following bash script:
count =10
echo $count
medium
A. Spaces around = cause syntax error
B. Missing $ in echo
C. Variable name is invalid
D. No error, script runs fine

Solution

  1. Step 1: Check variable assignment syntax

    The assignment count =10 has a space before =, which is not allowed in bash.
  2. Step 2: Understand effect of spaces

    Spaces around = cause bash to treat count as a command, leading to syntax error.
  3. Final Answer:

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

    No spaces around = means valid assignment [OK]
Hint: No spaces around = in assignment to avoid errors [OK]
Common Mistakes:
  • Adding spaces around = in assignment
  • Forgetting $ when printing variable
  • Assuming variable names can have spaces
5. You want to store the current year in a variable year using the command date +%Y. Which of the following is the correct way to assign this output to year in bash?
hard
A. year = $(date +%Y)
B. year=$(date +%Y)
C. year= $(date +%Y)
D. year= '$(date +%Y)'

Solution

  1. Step 1: Understand command substitution syntax

    To assign command output, use $(command) without spaces around =.
  2. Step 2: Check each option for spaces and quotes

    year=$(date +%Y) has no spaces around = and uses correct command substitution syntax. Options A and C have spaces causing errors. year= '$(date +%Y)' uses quotes which are unnecessary and may cause literal assignment.
  3. Final Answer:

    year=$(date +%Y) -> Option B
  4. Quick Check:

    No spaces and correct command substitution [OK]
Hint: Use $(command) with no spaces around = for command output assignment [OK]
Common Mistakes:
  • Adding spaces around = causes errors
  • Using quotes around command substitution
  • Forgetting to use $( ) for command output
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