Bird
Raised Fist0
Bash Scriptingscripting~5 mins

Accessing array elements in Bash Scripting - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
How do you define an array in Bash?
You define an array by listing elements inside parentheses, separated by spaces. For example: my_array=(apple banana cherry)
Click to reveal answer
beginner
How do you access the first element of an array named my_array in Bash?
Use the syntax ${my_array[0]} to get the first element because array indexes start at 0.
Click to reveal answer
beginner
What does ${my_array[@]} do in Bash?
It expands to all elements of the array my_array. Useful to loop over or print all items.
Click to reveal answer
beginner
How can you get the number of elements in a Bash array my_array?
Use ${#my_array[@]} to get the count of elements in the array.
Click to reveal answer
beginner
What happens if you try to access an array element with an index that does not exist?
You get an empty string because the element is not set. Bash does not throw an error for out-of-range indexes.
Click to reveal answer
In Bash, how do you access the third element of an array named fruits?
A${fruits(3)}
B${fruits[2]}
C${fruits[3]}
D${fruits[1]}
What does ${my_array[@]} return in Bash?
AAll elements of the array
BThe first element only
CThe length of the array
DThe last element only
How do you find the number of elements in a Bash array colors?
A${colors.size}
B${colors.length}
Clength(colors)
D${#colors[@]}
What will happen if you access ${my_array[10]} but the array has only 3 elements?
AReturns the last element
BThrows an error
CReturns an empty string
DReturns null
Which of these is the correct way to define an array in Bash?
Amy_array=(one two three)
Bmy_array=[one, two, three]
Cmy_array={one two three}
Dmy_array: one, two, three
Explain how to access elements in a Bash array and how indexing works.
Think about how you pick items from a list starting at zero.
You got /3 concepts.
    Describe how to get all elements and the length of a Bash array.
    Consider how you might count or list all items in a shopping list.
    You got /3 concepts.

      Practice

      (1/5)
      1. In Bash scripting, how do you access the first element of an array named fruits?
      easy
      A. Using ${fruits[1]}
      B. Using fruits[0]
      C. Using $fruits[0]
      D. Using ${fruits[0]}

      Solution

      1. Step 1: Understand array indexing in Bash

        Array indexes start at 0, so the first element is at index 0.
      2. Step 2: Use correct syntax to access element

        In Bash, array elements are accessed with ${array_name[index]}. So, ${fruits[0]} gets the first element.
      3. Final Answer:

        Using ${fruits[0]} -> Option D
      4. Quick Check:

        First element = ${fruits[0]} [OK]
      Hint: Remember arrays start at 0, use ${array[0]} for first element [OK]
      Common Mistakes:
      • Using index 1 for first element
      • Omitting ${} around array access
      • Using $fruits[0] without braces
      • Treating array like a string variable
      2. Which of the following is the correct syntax to print the third element of an array colors in Bash?
      easy
      A. echo ${colors(3)}
      B. echo $colors[3]
      C. echo ${colors[2]}
      D. echo colors[2]

      Solution

      1. Step 1: Identify correct index for third element

        Since indexing starts at 0, the third element is at index 2.
      2. Step 2: Use proper Bash array syntax

        The correct syntax is ${array_name[index]}. So, ${colors[2]} is correct.
      3. Final Answer:

        echo ${colors[2]} -> Option C
      4. Quick Check:

        Third element = ${colors[2]} [OK]
      Hint: Use zero-based index and ${array[index]} syntax [OK]
      Common Mistakes:
      • Using parentheses instead of brackets
      • Using 1-based index (3 instead of 2)
      • Missing ${} around array access
      • Printing array name as string
      3. Given the Bash array declaration numbers=(10 20 30 40), what is the output of echo ${numbers[3]}?
      medium
      A. 40
      B. 10
      C. 30
      D. Error

      Solution

      1. Step 1: Identify the element at index 3

        Array numbers has elements: index 0=10, 1=20, 2=30, 3=40.
      2. Step 2: Access element at index 3

        ${numbers[3]} returns the element at index 3, which is 40.
      3. Final Answer:

        40 -> Option A
      4. Quick Check:

        numbers[3] = 40 [OK]
      Hint: Index 3 means fourth element, here 40 [OK]
      Common Mistakes:
      • Confusing index 3 with value 30
      • Expecting error for valid index
      • Using 1-based indexing
      • Printing entire array instead of element
      4. What is wrong with this Bash code snippet?
      my_array=(apple banana cherry)
      echo ${my_array[3]}
      medium
      A. Index 3 is out of range, so output is empty string
      B. Syntax error due to missing quotes
      C. Array elements must be accessed with parentheses
      D. It will print 'cherry' instead of empty

      Solution

      1. Step 1: Check array size and index used

        Array has 3 elements at indexes 0,1,2. Index 3 is out of range.
      2. Step 2: Understand Bash behavior for out-of-range index

        Accessing an out-of-range index returns an empty string, no error occurs.
      3. Final Answer:

        Index 3 is out of range, so output is empty string -> Option A
      4. Quick Check:

        Out-of-range index returns empty string [OK]
      Hint: Out-of-range indexes return empty, not errors [OK]
      Common Mistakes:
      • Expecting syntax error for out-of-range index
      • Using parentheses instead of brackets
      • Assuming last element is at index 3
      • Expecting output 'cherry' for index 3
      5. You have a Bash array items=(pen notebook eraser). You want to print the last element without hardcoding the index. Which command achieves this?
      hard
      A. echo ${items[-1]}
      B. echo ${items[${#items[@]}-1]}
      C. echo ${items[${#items[@]}]}
      D. echo ${items[3]}

      Solution

      1. Step 1: Understand array length and indexing

        ${#items[@]} gives the number of elements (3). Last index is length minus 1 (2).
      2. Step 2: Use arithmetic inside array index

        Use ${items[${#items[@]}-1]} to get last element dynamically.
      3. Step 3: Check other options

        echo ${items[-1]} uses negative index which Bash does not support. echo ${items[${#items[@]}]} uses length as index (out of range). echo ${items[3]} hardcodes index 3 which is out of range.
      4. Final Answer:

        echo ${items[${#items[@]}-1]} -> Option B
      5. Quick Check:

        Last element = items[length-1] [OK]
      Hint: Use ${array[${#array[@]}-1]} for last element [OK]
      Common Mistakes:
      • Using negative indexes (not supported in Bash)
      • Using length as index (off by one)
      • Hardcoding index without checking length
      • Forgetting to use ${} around length
      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