Skip to main content
In this lesson, you’ll learn how to efficiently manage Bash arrays by adding, replacing, and inserting elements. Bash arrays allow you to store ordered lists of values, making scripts more powerful and flexible.

Table of Contents

  1. Adding Elements Manually
  2. Efficient Appending via Parameter Expansion
  3. Replacing Elements at a Specific Index
  4. Inserting Elements in the Middle
  5. Method Comparison
  6. Links & References

Adding Elements Manually

You can append items by specifying the next index directly. This approach works but requires you to know or calculate the current array length:
Example with a servers array:
Manually counting indices can lead to errors in larger scripts. Consider using parameter expansion to automate index calculation.

Efficient Appending via Parameter Expansion

Bash provides ${#array[@]} to retrieve the current number of elements. Since arrays are zero-indexed, this value equals the next available index:
The image shows a sequence of labeled items, "index0" to "index3" and "server1" to "server4," with a focus on inserting "index2" and "server3" into the sequence.
This method automatically calculates the correct index to append, preventing accidental overwrites.

Replacing Elements at a Specific Index

To overwrite an existing element, assign a new value to that index:
The image explains that inserting an element into an existing index of an array replaces the current value at that index.

Warning: Scalar vs Array Assignment

If you omit the index brackets, Bash treats the assignment as a scalar, modifying index 0:

Inserting Elements in the Middle

To insert an element at a specific position and automatically shift the rest, use array slicing:
Slicing breakdown:
  • ${servers[@]:0:1} → elements up to (but not including) the insertion point
  • "server1.5" → new element
  • ${servers[@]:1} → remaining elements from index 1 onward

Method Comparison


Watch Video