Bird
Raised Fist0
Bash Scriptingscripting~10 mins

Why arrays handle lists of data in Bash Scripting - Test Your Understanding

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to create an array named 'fruits' with three items.

Bash Scripting
fruits=([1])
Drag options to blanks, or click blank then click option'
A"apple" "banana" "cherry"
B"apple, banana, cherry"
Capple banana cherry
D[apple banana cherry]
Attempts:
3 left
💡 Hint
Common Mistakes
Using commas between items inside the array.
Putting the entire list inside quotes as one string.
Using square brackets instead of parentheses.
2fill in blank
medium

Complete the code to print the second item in the 'fruits' array.

Bash Scripting
echo ${fruits[1]
Drag options to blanks, or click blank then click option'
A[2]
B[1]
C[0]
D[3]
Attempts:
3 left
💡 Hint
Common Mistakes
Using index 2 to get the second item.
Forgetting to use curly braces around the variable.
Using parentheses instead of square brackets.
3fill in blank
hard

Fix the error in the code to add 'orange' to the end of the 'fruits' array.

Bash Scripting
fruits+=([1])
Drag options to blanks, or click blank then click option'
A"orange"
Borange
C'orange'
D[orange]
Attempts:
3 left
💡 Hint
Common Mistakes
Not using quotes causing syntax errors.
Using square brackets which are invalid here.
Using single quotes which also work but double quotes are preferred.
4fill in blank
hard

Fill both blanks to loop over the 'fruits' array and print each item.

Bash Scripting
for [1] in "${fruits[2]"; do
  echo $[1]
done
Drag options to blanks, or click blank then click option'
Afruit
B[@]
C[*]
Ditem
Attempts:
3 left
💡 Hint
Common Mistakes
Using [*] which treats all items as one string.
Using invalid variable names.
Forgetting quotes around the array expansion.
5fill in blank
hard

Fill all three blanks to create an associative array 'colors' with keys and values, then print the value for key 'apple'.

Bash Scripting
declare -A colors=([1])
echo ${colors[2]
colors[banana]=[3]
Drag options to blanks, or click blank then click option'
A[apple]=red [banana]=yellow
B[apple]
Cgreen
D[banana]
Attempts:
3 left
💡 Hint
Common Mistakes
Not using declare -A for associative arrays.
Using parentheses without brackets for keys.
Forgetting to use brackets when accessing or assigning.

Practice

(1/5)
1. Why do we use arrays in bash scripting?
easy
A. To create new files automatically
B. To store only one number at a time
C. To run commands faster
D. To store multiple related items in one variable

Solution

  1. Step 1: Understand what arrays do

    Arrays hold many items together in one variable, like a list.
  2. Step 2: Compare options

    Only To store multiple related items in one variable correctly says arrays store multiple related items.
  3. Final Answer:

    To store multiple related items in one variable -> Option D
  4. Quick Check:

    Arrays = store many items [OK]
Hint: Arrays hold lists, not single values [OK]
Common Mistakes:
  • Thinking arrays store only one value
  • Confusing arrays with commands
  • Believing arrays create files
2. Which is the correct way to declare an array named fruits with items apple, banana, and cherry in bash?
easy
A. fruits={apple; banana; cherry}
B. fruits=(apple banana cherry)
C. fruits=[apple, banana, cherry]
D. fruits=apple,banana,cherry

Solution

  1. Step 1: Recall bash array syntax

    Bash arrays use parentheses with space-separated items: array=(item1 item2).
  2. Step 2: Check each option

    Only fruits=(apple banana cherry) uses parentheses and spaces correctly.
  3. Final Answer:

    fruits=(apple banana cherry) -> Option B
  4. Quick Check:

    Array syntax = parentheses with spaces [OK]
Hint: Use parentheses and spaces for arrays [OK]
Common Mistakes:
  • Using square brackets like other languages
  • Separating items with commas
  • Using curly braces incorrectly
3. What will be the output of this bash script?
colors=(red green blue)
echo ${colors[1]}
medium
A. green
B. red
C. blue
D. colors[1]

Solution

  1. Step 1: Understand array indexing in bash

    Bash arrays start at index 0, so colors[0] = red, colors[1] = green.
  2. Step 2: Identify the echoed element

    The script echoes colors[1], which is green.
  3. Final Answer:

    green -> Option A
  4. Quick Check:

    Index 1 = green [OK]
Hint: Array indexes start at zero in bash [OK]
Common Mistakes:
  • Thinking index starts at 1
  • Printing the variable name instead of value
  • Confusing array syntax with other languages
4. Find the error in this bash array usage:
myarray=(one two three)
echo $myarray[2]
medium
A. Missing quotes around array items
B. Array declaration syntax is wrong
C. Incorrect way to access array element
D. No error, script runs fine

Solution

  1. Step 1: Check array declaration

    Declaration with parentheses is correct: myarray=(one two three).
  2. Step 2: Check array element access

    Access must use braces: ${myarray[2]}, not $myarray[2].
  3. Final Answer:

    Incorrect way to access array element -> Option C
  4. Quick Check:

    Use ${array[index]} to access elements [OK]
Hint: Use braces ${} to access array elements [OK]
Common Mistakes:
  • Using $array[index] without braces
  • Adding commas in declaration
  • Forgetting parentheses in declaration
5. You want to store a list of filenames in an array and print each filename on a new line. Which script correctly does this?
hard
A. files=(file1.txt file2.txt file3.txt) for f in ${files[@]}; do echo $f; done
B. files=[file1.txt, file2.txt, file3.txt] for f in $files; do echo $f; done
C. files=(file1.txt file2.txt file3.txt) for f in $files; do echo $f; done
D. files={file1.txt file2.txt file3.txt} for f in ${files[@]}; do echo $f; done

Solution

  1. Step 1: Check array declaration

    files=(file1.txt file2.txt file3.txt) for f in ${files[@]}; do echo $f; done uses parentheses and space-separated items, which is correct.
  2. Step 2: Check loop syntax

    files=(file1.txt file2.txt file3.txt) for f in ${files[@]}; do echo $f; done uses for f in ${files[@]} to loop over all items correctly.
  3. Final Answer:

    files=(file1.txt file2.txt file3.txt) for f in ${files[@]}; do echo $f; done -> Option A
  4. Quick Check:

    Correct array and loop syntax = files=(file1.txt file2.txt file3.txt) for f in ${files[@]}; do echo $f; done [OK]
Hint: Use ${array[@]} to loop all items [OK]
Common Mistakes:
  • Using square brackets for arrays
  • Looping over $files instead of ${files[@]}
  • Using curly braces for array declaration
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