Bird
Raised Fist0
Bash Scriptingscripting~5 mins

Variable assignment (no spaces around =) in Bash Scripting - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
Why should there be no spaces around the = sign in bash variable assignment?
In bash, spaces around = are not allowed because bash treats spaces as separators. Spaces would cause bash to misinterpret the command, leading to errors.
Click to reveal answer
beginner
What is the correct way to assign the value hello to a variable named greeting in bash?
The correct way is greeting=hello. No spaces should be before or after the = sign.
Click to reveal answer
beginner
What happens if you write greeting = hello in bash?
Bash will try to run a command named greeting with arguments = and hello, causing an error because greeting is not a command.
Click to reveal answer
intermediate
How do you assign a value with spaces to a variable in bash?
You put the value in quotes without spaces around =. For example: message="hello world".
Click to reveal answer
beginner
Is this valid in bash? name= John
No, it is invalid because there is a space after =. The correct form is name=John.
Click to reveal answer
Which of these is the correct way to assign the value 10 to a variable x in bash?
Ax= 10
Bx = 10
Cx=10
Dx =10
What will happen if you run var =value in bash?
AAssign '=value' to 'var'
BAssign 'value' to 'var'
CSyntax error
DRun command 'var' with argument '=value'
How do you assign the string 'hello world' to a variable message in bash?
Amessage="hello world"
Bmessage = "hello world"
Cmessage= 'hello world'
Dmessage=hello world
Which is NOT a valid variable assignment in bash?
ABoth B and D
Bcount =5
Ccount=5
Dcount= 5
Why does bash require no spaces around '=' in variable assignment?
ABecause '=' is a special operator that must be attached to the variable name
BBecause spaces separate commands and arguments
CBecause spaces cause syntax errors in all programming languages
DBecause '=' is a reserved word
Explain why spaces are not allowed around the equals sign in bash variable assignment.
Think about how bash reads commands and arguments.
You got /3 concepts.
    Show how to correctly assign a string with spaces to a variable in bash.
    Remember how to handle strings with spaces.
    You got /3 concepts.

      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