Bash Script: Fungsi
Artikel ini bagian dari Bash Script yang terdiri dari 7 bagian :
Fungsi
Fungsi merupakan blok kode yang berisi statement atau command tertentu. Dengan memecah kode dalam beberapa fungsi membuat program lebih terstruktur. Fungsi yang sudah dibuat dapat dipanggil berulang sehingga mengurangi penulisan kode yang sama berulang-ulang.
Format penulisan
1 2 3 | function_name () { <commands> } |
atau
1 2 3 | function function_name { <commands> } |
Contoh
1 2 3 4 5 6 7 8 | #!/bin/bash function halo(){ echo "halo dunia :)" } halo halo |
Dalam function halo terdapat kode untuk menampilkan teks. Kemudian untuk melakukan pemanggilan fungsi cukup menulis nama fungsinya saja. Jika di dalam fungsi terdapat ratusan baris kode dan sering digunakan tentu saja dapat membuat script program tidak terlalu panjang karena tidak mengulang menulis kode yang sama.
Hasilnya
1 2 | halo dunia :) halo dunia :) |
Mengirim argumen
Kita dapat mengirim argumen sebagai parameter ke fungsi.
Contoh
1 2 3 4 5 6 7 8 | #!/bin/bash halo(){ echo halo $1 } halo musa halo amin |
Pada saat pemanggilan fungsi ditambahkan argumen yang kemudian argumen tersebut dapat dibaca oleh fungsi sesuai dengan posisi parameternya.
Hasilnya
1 2 | halo musa halo amin |
Cakupan Variabel
Secara default variabel bersifat global artinya variabel tersebut bisa dibaca di mana saja. Sementara variabel yang hanya dapat dibaca oleh fungsi yang mendeklarasikannya disebut sebagai variabel local.
Contoh variabel global
1 2 3 4 5 6 7 8 9 | #!/bin/bash cetak(){ echo "Variabel x = $x" } x=5 cetak cetak $x |
Hasilnya
1 2 | Variabel x = 5 Variabel x = 5 |
Kedua pemanggilan fungsi dapat membaca nilai dari variabel x.
Contoh variabel local
1 2 3 4 5 6 7 8 9 10 | #!/bin/bash cetak(){ local x=10 echo "Variabel x di dalam fungsi = $x" } x=5 cetak echo "Variabel x di luar fungsi = $x" |
Hasilnya
1 2 | Variabel x di dalam fungsi = 10 Variabel x di luar fungsi = 5 |
Pemanggilan fungsi cetak pertama menghasilkan x=10 yang merupakan variabel local.
Menampilkan variabel x=5 yang merupakan variabel global
referensi:
pemula.linux.or.id
ryanstutorials.net