📖 Scenario: You are organizing a small fruit basket. You have a list of fruits and want to pick specific fruits by their position in the list.
🎯 Goal: Learn how to create an array, set a position variable, access an element from the array using that position, and display the chosen fruit.
📋 What You'll Learn
Create an array called fruits with the exact values: apple, banana, cherry, date, elderberry
Create a variable called position and set it to 2
Access the fruit at the index stored in position from the fruits array and store it in a variable called chosen_fruit
Print the value of chosen_fruit
💡 Why This Matters
🌍 Real World
Arrays are useful to store lists of items like filenames, user inputs, or configuration options. Accessing elements by position helps automate tasks like selecting specific files or options.
💼 Career
Knowing how to work with arrays and variables in bash scripting is essential for system administrators, DevOps engineers, and anyone automating tasks on Linux or Unix systems.
Progress0 / 4 steps
1
Create the fruits array
Create an array called fruits with these exact values in order: apple, banana, cherry, date, elderberry
Bash Scripting
Hint
Use parentheses to create an array in bash, with items separated by spaces.
2
Set the position variable
Create a variable called position and set it to 2
Bash Scripting
Hint
Just assign the number 2 to the variable position without spaces around the equals sign.
3
Access the fruit at the position
Access the fruit at the index stored in position from the fruits array and store it in a variable called chosen_fruit
Bash Scripting
Hint
Use ${fruits[$position]} to get the element at index position.
4
Print the chosen fruit
Print the value of the variable chosen_fruit using echo
Bash Scripting
Hint
Use echo "$chosen_fruit" to display the fruit name.
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
Step 1: Understand array indexing in Bash
Array indexes start at 0, so the first element is at index 0.
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.
Final Answer:
Using ${fruits[0]} -> Option D
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
Step 1: Identify correct index for third element
Since indexing starts at 0, the third element is at index 2.
Step 2: Use proper Bash array syntax
The correct syntax is ${array_name[index]}. So, ${colors[2]} is correct.
Final Answer:
echo ${colors[2]} -> Option C
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
Step 1: Identify the element at index 3
Array numbers has elements: index 0=10, 1=20, 2=30, 3=40.
Step 2: Access element at index 3
${numbers[3]} returns the element at index 3, which is 40.
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
Step 1: Check array size and index used
Array has 3 elements at indexes 0,1,2. Index 3 is out of range.
Step 2: Understand Bash behavior for out-of-range index
Accessing an out-of-range index returns an empty string, no error occurs.
Final Answer:
Index 3 is out of range, so output is empty string -> Option A
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
Step 1: Understand array length and indexing
${#items[@]} gives the number of elements (3). Last index is length minus 1 (2).
Step 2: Use arithmetic inside array index
Use ${items[${#items[@]}-1]} to get last element dynamically.
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.
Final Answer:
echo ${items[${#items[@]}-1]} -> Option B
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 unknownstrongwhile earning +1 Grip toward your certificate.