How to remove elements from a Bash array?

QuestionsQuestions8 SkillsProShell ArraysOct, 20 2025
0229

To remove elements from a Bash array, you can use the unset command. This command allows you to remove an element at a specific index. Here’s how you can do it:

Example of Removing an Element from a Bash Array

# Declare an array
my_array=(element1 element2 element3 element4)

# Remove the element at index 1 (which is element2)
unset my_array[1]

# Display the updated array
echo "${my_array[@]}"  # Outputs: element1 element3 element4

Note on Array Indices

After using unset, the indices of the array will not be reindexed automatically. If you want to reindex the array (i.e., to have consecutive indices), you can use the array=("${my_array[@]}") syntax to create a new array:

# Reindex the array
my_array=("${my_array[@]}")

# Display the reindexed array
echo "${my_array[@]}"  # Outputs: element1 element3 element4

This way, you can effectively remove elements from a Bash array.

0 Comments

no data
Be the first to share your comment!