Bird
Raised Fist0
Bash Scriptingscripting~5 mins

String variables in Bash Scripting

Choose your learning style10 modes available
Introduction
String variables let you store words or sentences to use later in your script.
To save a user's name and greet them.
To hold a file path for easy reuse.
To keep a message that you want to print multiple times.
To store command output for processing.
To build a sentence from smaller parts.
Syntax
Bash Scripting
variable_name="your text here"
Use double quotes to keep spaces and special characters intact.
No spaces around the equal sign (=) when assigning.
Examples
Stores the word Alice in the variable named 'name'.
Bash Scripting
name="Alice"
Stores a full sentence with punctuation.
Bash Scripting
greeting="Hello, world!"
Stores a file path as a string.
Bash Scripting
path="/home/user/docs"
Sample Program
This script stores a name and then creates a greeting using that name. It prints the greeting.
Bash Scripting
#!/bin/bash

name="Bob"
greeting="Hello, $name!"
echo "$greeting"
OutputSuccess
Important Notes
To use the value of a string variable, prefix it with a dollar sign ($).
Always quote variables when using them to avoid word splitting or globbing.
Variable names should only contain letters, numbers, and underscores, and cannot start with a number.
Summary
String variables store text for reuse in scripts.
Assign strings with no spaces around = and use quotes.
Use $variable_name to access the stored text.

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