Cara Menulis dan Menggunakan Fungsi dan Perpustakaan Shell Kustom

Cara Menulis dan Menggunakan Fungsi dan Perpustakaan Shell Kustom

Di Linux, skrip shell membantu kita dalam berbagai cara termasuk melakukan atau bahkan mengotomatisasi tugas administrasi sistem tertentu, membuat alat baris perintah sederhana dan banyak lagi.

Dalam panduan ini, kami akan menunjukkan kepada pengguna Linux baru di mana dapat dengan andal menyimpan skrip shell khusus, menjelaskan cara menulis fungsi dan perpustakaan shell khusus, menggunakan fungsi dari perpustakaan di skrip lain.

Di mana menyimpan skrip shell

Untuk menjalankan skrip Anda tanpa mengetikkan jalur penuh/absolut, mereka harus disimpan di salah satu direktori di $ Path Variabel Lingkungan.

Untuk memeriksa Anda $ Path, mengeluarkan perintah di bawah ini:

$ echo $ path /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/game:/usr/local/games 

Biasanya, jika direktori tempat sampah ada di direktori home pengguna, secara otomatis dimasukkan dalamnya $ Path. Anda dapat menyimpan skrip shell Anda di sini.

Oleh karena itu, buat tempat sampah direktori (yang juga dapat disimpan Perl, AWK ATAU Python skrip atau program lainnya):

$ mkdir ~/bin 

Selanjutnya, buat direktori yang dipanggil lib (kependekan dari perpustakaan) di mana Anda akan menyimpan perpustakaan sendiri. Anda juga dapat menyimpan perpustakaan untuk bahasa lain seperti C, Python dan sebagainya, di dalamnya. Di bawahnya, buat direktori lain yang disebut SH; Ini khususnya akan menyimpan perpustakaan Shell Anda:

$ mkdir -p ~/lib/sh 

Buat fungsi dan perpustakaan shell Anda sendiri

A fungsi shell adalah sekelompok perintah yang melakukan tugas khusus dalam skrip. Mereka bekerja mirip dengan prosedur, subrutin, dan fungsi dalam bahasa pemrograman lainnya.

Sintaks untuk menulis fungsi adalah:

function_name () daftar perintah 

Misalnya, Anda dapat menulis fungsi dalam skrip untuk menampilkan tanggal sebagai berikut:

showdate () date; 

Setiap kali Anda ingin menampilkan tanggal, Cukup memohon fungsi di atas menggunakan namanya:

$ showdate 

A Perpustakaan Shell Namun, hanyalah sebuah skrip shell, Anda dapat menulis perpustakaan untuk hanya menyimpan fungsi yang dapat Anda hubungi dari skrip shell lainnya.

Di bawah ini adalah contoh perpustakaan yang disebut libmyfuncs.SH di saya ~/lib/sh Direktori dengan lebih banyak contoh fungsi:

#!/bin/bash #function untuk mencantumkan direktori dengan jelas di path showpath () oldifs = "$ ifs" #Store Old Secara Pemisah Bidang Internal IFS =: #specify pemisah bidang internal baru untuk DIR di $ path; lakukan gema $ dir; selesai ifs = "$ oldifs" #Restore Old Internal Field Separator #function untuk menampilkan Pengguna yang dicatat () echo -e “Di bawah ini adalah pengguna yang dicatat pada sistem: \ n” w #print detail pengguna printusDets () oldifs = "$ ifs" #Store Old Internal Field Separator IFS =: #specifikasi Pemisah Bidang Internal Baru Baca -P "Masukkan Nama Pengguna untuk dicari:" UName #Read Username echo "" #Read dan simpan dari string di sini " Nilai menjadi variabel menggunakan: sebagai pembatas bidang membaca -r nama pengguna lulus uid komentar homedir shell <<< "$(cat /etc/passwd | grep "^$uname")" #print out captured values echo -e "Username is : $username\n" echo -e "User's ID : $uid\n" echo -e "User's GID : $gid\n" echo -e "User's Comments : $comments\n" echo -e "User's Home Dir : $homedir\n" echo -e "User's Shell : $shell\n" IFS="$oldifs" #store old internal field separator  

Simpan file dan buat skrip dapat dieksekusi.

Cara memohon fungsi dari perpustakaan

Untuk menggunakan fungsi di a lib, Pertama -tama Anda harus menyertakan lib Dalam skrip shell di mana fungsi akan digunakan, dalam bentuk di bawah ini:

$ ./path/to/lib atau $ source/path/to/lib 

Jadi Anda akan menggunakan fungsinya printuserdets dari lib ~/lib/sh/libmyfuncs.SH dalam skrip lain seperti yang ditunjukkan di bawah ini.

Anda tidak perlu menulis kode lain dalam skrip ini untuk mencetak detail pengguna tertentu, cukup panggil fungsi yang ada.

Buka file baru dengan namanya tes.SH:

#!/bin/bash #include lib . ~/lib/sh/libmyfuncs.SH #use function dari lib printuserDets #exit skrip keluar 0 

Simpan, lalu buat skrip dapat dieksekusi dan jalankan:

Tes $ Chmod 755.sh $ ./tes.SH 
Tulis fungsi shell

Dalam artikel ini, kami menunjukkan kepada Anda di mana harus menyimpan skrip shell dengan andal, cara menulis fungsi dan perpustakaan shell Anda sendiri, memohon fungsi dari perpustakaan dalam skrip shell normal.

Selanjutnya, kami akan menjelaskan cara konfigurasi yang lurus ke depan Vim sebagai Ide untuk skrip bash. Sampai saat itu, selalu tetap terhubung ke Tecmint dan juga membagikan pemikiran Anda tentang panduan ini melalui formulir umpan balik di bawah ini.