Array Push di Bash dan sh

Ini adalah seri kedua tentang pembahasan array di Shell. Seri pertama adalah "Array di Bourne Shell (sh)".

Bash logo

Pada kesempatan ini kita akan membahas bagaimana append / push array di Shell baik Bash maupun sh. Push yang saya maksud disini adalah menambahkan elemen / anggota ke array yang sudah ada sebelumnya.

1. Bash

  1. #!/bin/bash 
  2.  
  3. buah=( apel mangga melon ) 

Script diatas berisi sebuah array buah=() dengan 3 anggota, apel, mangga, dan melon. Sekarang kita akan menambahkan 2 anggota yaitu jeruk dan pisang. Di Bash ada beberapa cara.

# Cara pertama adalah menggunakan ${buah[@]} yang akan mendapatkan string dari array buah=(), yang berisi 3 anggota diatas, lalu tinggal concat-in saja atau sambung dengan 2 anggota baru:

  1. buah=( "${buah[@]}" jeruk pisang ) 

## Cara kedua adalah seperti berikut:

  1. buah+=( jeruk pisang ) 

### Cara ketiga adalah menggunakan ${#buah[@]} yang akan mendapatkan jumlah anggota yaitu 3, yang dapat kita gunakan sebagai index baru. Mengingat index array dimulai dengan 0, index terakhir berarti adalah 2:

  1. buah["${#buah[@]}"]=jeruk 
  2.  
  3. # sampai disini jumlah anggota menjadi 4, lanjut... 
  4.  
  5. buah["${#buah[@]}"]=pisang 

Tentu cara yang ketiga hanya dipakai jika index dari array adalah berurutan.

2. Bourne Shell (sh)

Pada artikel sebelumnya sudah dijelaskan bahwa tidak ada array di POSIX Shell. Maka cara-cara tersebut diatas (Bash) tidak akan berlaku.

Caranya adalah dengan concat string:

  1. #!/bin/sh 
  2.  
  3. buah="apel mangga melon" 
  4.  
  5. # push... 
  6. buah="$buah jeruk pisang" 

#Bash #Shell #POSIX