GNU/Linux >> Belajar Linux >  >> Linux

Cara mendefinisikan dan menggunakan fungsi di Linux Shell Script

Fungsi adalah blok kode yang dapat digunakan kembali. Seringkali kita menempatkan kode berulang dalam suatu fungsi dan memanggil fungsi itu dari berbagai tempat. Perpustakaan adalah kumpulan fungsi. Kita dapat mendefinisikan fungsi yang umum digunakan di perpustakaan dan skrip lain dapat menggunakannya tanpa menduplikasi kode.

Pada artikel ini kita akan membahas lebih lanjut tentang fungsi dan resep. Untuk tujuan demonstrasi, saya akan menggunakan Bourne Again SHell (Bash) di mesin Ubuntu.

Fungsi panggilan

Dalam fungsi panggilan Shell persis sama dengan memanggil perintah lainnya. Misalnya, jika nama fungsi Anda adalah my_func maka dapat dijalankan sebagai berikut:

$ my_func

Jika ada fungsi yang menerima argumen, maka argumen tersebut dapat diberikan dari baris perintah sebagai berikut:

$ my_func arg1 arg2 arg3

Mendefinisikan fungsi

Kita dapat menggunakan sintaks di bawah ini untuk mendefinisikan fungsi:

 function function_name {            Body of function }

Badan fungsi dapat berisi perintah yang valid, batasan loop, fungsi atau skrip lain. Sekarang mari kita buat fungsi sederhana yang menampilkan pesan di layar.

 function print_msg {       echo "Halo, Dunia" }

Sekarang mari kita jalankan fungsi ini:

 $ print_msg Halo, Dunia

Seperti yang diharapkan, fungsi ini menampilkan pesan di layar.

Dalam contoh di atas kami telah membuat fungsi langsung di terminal. Kami juga dapat menyimpan fungsi ini dalam file. Contoh di bawah ini menunjukkan hal ini.

 #! /bin/bash function print_msg {       echo "Halo, Dunia" } print_msg

Kami telah mendefinisikan fungsi ini di dalam function.sh mengajukan. Sekarang mari kita jalankan skrip ini:

 $ chmod +x function.sh $ ./function.sh Halo, Dunia

Jika diperhatikan, output di atas sama persis dengan output sebelumnya.

Selengkapnya tentang fungsi

Pada bagian sebelumnya kita telah mendefinisikan fungsi yang sangat mendasar. Namun selama pengembangan perangkat lunak, kami membutuhkan fungsi yang lebih canggih yang dapat menerima berbagai parameter dan mengembalikan nilai. Di bagian ini kita akan membahas fungsi tersebut.

Meneruskan argumen ke fungsi

Kami dapat memberikan argumen untuk berfungsi sama seperti perintah lainnya. Kita dapat mengakses argumen ini dari fungsi menggunakan simbol dollar($). Misalnya, $1 mewakili argumen pertama, $2 mewakili argumen kedua, dan seterusnya.

Mari kita ubah fungsi di atas untuk menerima pesan sebagai argumen. Fungsi kami yang dimodifikasi akan terlihat seperti ini:

 function print_msg {       echo "Hello $1" }

Dalam fungsi di atas kita mengakses argumen pertama menggunakan $1. Mari kita jalankan fungsi ini:

 $ print_msg "LinuxTechi"

Ketika Anda menjalankan fungsi ini, itu akan menghasilkan output berikut:

 Halo LinuxTechi

Mengembalikan nilai dari fungsi

Seperti bahasa pemrograman lainnya, Bash menyediakan pernyataan pengembalian yang digunakan untuk mengembalikan nilai ke pemanggil. Mari kita pahami ini dengan contoh:

function func_return_value {      return 10 }

Fungsi di atas mengembalikan nilai 10 ke pemanggilnya. Mari kita jalankan fungsi ini:

 $ func_return_value $ echo "Nilai yang dikembalikan oleh fungsi adalah:$?"

Ketika Anda menjalankan fungsi di atas, itu akan menghasilkan output berikut:

 Nilai yang dikembalikan oleh fungsi adalah:10

CATATAN: Di bash kita harus menggunakan $? untuk menangkap nilai kembalian fungsi

Resep fungsi

Sejauh ini kami mendapat ide yang adil tentang fungsi bash. Sekarang mari kita buat beberapa fungsi bash berguna yang dapat digunakan untuk membuat hidup kita lebih mudah.

Penebang

Mari kita buat fungsi logger yang akan mencetak tanggal dan waktu bersama dengan pesan log.

 function log_msg {        echo "[`date '+ %F %T'` ]:[email protected]" }

Mari kita jalankan fungsi ini:

 $ log_msg "Ini adalah contoh pesan log"

Ketika Anda menjalankan fungsi ini, itu akan menghasilkan output berikut:

 [ 16-08-2018 19:56:34 ]:Ini adalah contoh pesan log

Menampilkan informasi sistem

Mari kita buat fungsi untuk menampilkan informasi tentang sistem GNU/Linux

 function system_info {       echo "### OS information ###"      lsb_release -a      echo       echo "### Informasi prosesor ###"       processor=`grep -wc "processor" /proc/cpuinfo`=`     model -w "nama model" /proc/cpuinfo  | awk -F:'{print $2}'`       echo "Processor =$processor"       echo "Model     =$model"       echo      echo "### Memory information ###"      total=`grep -w "MemTotal" /proc/meminfo | awk '{print $2}'`       free=`grep -w "MemFree" /proc/meminfo | awk '{print $2}'`       echo "Total memori:$total kB"       echo "Memori bebas :$free kB" }

Ketika Anda menjalankan fungsi di atas, itu akan menghasilkan output berikut:

### Informasi OS ###Tidak ada modul LSB yang tersedia.ID Distributor:          UbuntuDescription:   Ubuntu 18.04.1 LTSRelease:        18.04Codename:    bionic### Informasi prosesor ###Processor =1Model     =  Intel(R) Core TM) i7-7700HQ CPU @ 2.80GHz### Informasi memori ###Total memori:4015648 kBMemori gratis:2915428 kB

Temukan file atau direktori dari direktori saat ini

Fungsi di bawah ini mencari file atau direktori dari direktori saat ini:

 function search {      find . -nama $1 }

Mari kita cari direktori yaitu dir4 menggunakan perintah di bawah ini:

 $ search dir4

Ketika Anda menjalankan perintah di atas, itu akan menghasilkan output berikut:

 ./dir1/dir2/dir3/dir4

Jam digital

Fungsi di bawah ini membuat jam digital sederhana di terminal

 function digital_clock {           hapus           sementara [ 1 ]           lakukan                tanggal +'%T'                                  selesai 

Membuat perpustakaan

Perpustakaan adalah kumpulan fungsi. Untuk membuat perpustakaan – tentukan fungsi dalam file dan impor file itu di lingkungan saat ini.

Misalkan kita telah mendefinisikan semua fungsi dalam file utils.sh kemudian gunakan perintah di bawah ini untuk mengimpor fungsi di lingkungan saat ini:

$ source utils.sh

Selanjutnya Anda dapat menjalankan fungsi apa pun dari perpustakaan sama seperti perintah bash lainnya.

Kesimpulan

Dalam artikel ini kami membahas beberapa resep berguna yang akan meningkatkan produktivitas Anda. Semoga artikel ini menginspirasi Anda untuk membuat resep sendiri.


Linux
  1. Cara Menggunakan Kata Sandi Terenkripsi di Linux Bash Shell Script

  2. Bagaimana Membandingkan Angka dan String di Linux Shell Script

  3. Apa itu Perintah Chown di Linux dan Cara Menggunakannya

  1. Cara Menginstal Dan Menggunakan Flatpak Di Linux

  2. Cara Menginstal dan Menggunakan Traceroute di Linux

  3. Cara memeriksa apakah grup ada dan menambahkan jika tidak ada di Linux Shell Script

  1. Cara menginstal dan menggunakan telnet di Kali Linux

  2. Cara Menjalankan Perintah / Script Shell Linux di Latar Belakang

  3. Cara menggunakan fungsi shell baris perintah di Linux