Fungsi, fitur yang kuat dari pemrograman shell, adalah sekelompok perintah yang diatur oleh fungsi umum. Unit yang mudah dikelola ini, saat dipanggil mengembalikan nilai tunggal, dan tidak menghasilkan apa pun. Menggunakan fungsi melibatkan dua langkah:
1. Mendefinisikan fungsi
2. Menjalankan fungsi
Fungsi shell Vs alias shell
Fungsi shell dan alias berbeda dalam dua hal.
– alias tidak mengambil argumen seperti halnya fungsi.
– jika nama perintah didefinisikan sebagai fungsi dan alias, alias didahulukan.
Menampilkan fungsi shell
Untuk menampilkan definisi fungsi, gunakan perintah berikut:
# typeset -f list () { ls --color=auto -al | wc -l } num () { who | wc -l }
Mendefinisikan Fungsi
Sebuah fungsi didefinisikan dengan menggunakan format umum berikut:
# function [function name] { command; . . . command; }Catatan :Sebuah spasi harus muncul setelah kurung kurawal pembuka dan sebelum kurung kurawal penutup.
Contoh berikut mendefinisikan fungsi yang disebut num yang menampilkan jumlah total pengguna yang saat ini masuk ke sistem. Fungsi num menjalankan perintah who, yang outputnya selanjutnya diarahkan ke perintah wc.
$ function num { who | wc -l; }
Fungsi shell dalam skrip shell
Fungsi tidak hanya berguna dalam skrip shell tetapi juga digunakan dalam situasi baris perintah di mana alias tidak dapat digunakan. Untuk demonstrasi, fungsi shell dijalankan pada baris perintah untuk mengilustrasikan kinerja fungsi.
Contoh berikut membuat fungsi yang disebut daftar yang menampilkan jumlah total subdirektori dan file di direktori saat ini. Fungsi daftar memanggil perintah ls, yang outputnya diarahkan ke perintah wc:
$ function list { ls -al | wc -l; }
$ list 34
Memanggil Fungsi
Anda dapat memanggil suatu fungsi hanya dengan memasukkan nama fungsi pada baris perintah atau di dalam skrip shell.
$ [function name]
Misalnya, untuk memanggil fungsi num pada baris perintah, gunakan perintah di bawah ini.
$ num