Bird
Raised Fist0
Bash Scriptingscripting~5 mins

Variable assignment (no spaces around =) in Bash Scripting

Choose your learning style10 modes available
Introduction

We use variable assignment to store values in a name. This helps us reuse data easily in scripts.

When you want to save a user's input to use later.
When you need to keep a count or number that changes.
When you want to store a file name or path to use multiple times.
When you want to hold a command result to use in other commands.
When you want to set configuration options inside your script.
Syntax
Bash Scripting
variable_name=value

Do NOT put spaces around the = sign.

Variable names should start with a letter or underscore, and contain letters, numbers, or underscores.

Examples
Assigns the word John to the variable name.
Bash Scripting
name=John
Stores the number 10 in the variable count.
Bash Scripting
count=10
Saves a file path string in the variable path.
Bash Scripting
path=/home/user/docs
Assigns a string with spaces by using quotes.
Bash Scripting
greeting="Hello World"
Sample Program

This script assigns the name Alice to the variable name. Then it prints a greeting using that variable.

Bash Scripting
#!/bin/bash

# Assign a value to a variable
name=Alice

# Use the variable
echo "Hello, $name!"
OutputSuccess
Important Notes

Remember: No spaces around the = sign. name = Alice will cause an error.

Use quotes if the value has spaces or special characters.

To use the variable value, prefix it with $, like $name.

Summary

Variable assignment stores data for reuse.

No spaces allowed around = in bash variable assignment.

Use $ to access the variable's value.

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