Cara Menulis dan Menggunakan Fungsi dan Perpustakaan Shell Custom

Cara Menulis dan Menggunakan Fungsi dan Perpustakaan Shell Custom

Di Linux, skrip shell membantu kami dalam pelbagai cara termasuk melaksanakan atau mengautomasikan tugas pentadbiran sistem tertentu, mewujudkan alat baris arahan mudah dan banyak lagi.

Dalam panduan ini, kami akan menunjukkan pengguna Linux baru di mana untuk menyimpan skrip shell tersuai, terangkan cara menulis fungsi shell tersuai dan perpustakaan, gunakan fungsi dari perpustakaan dalam skrip lain.

Tempat menyimpan skrip shell

Untuk menjalankan skrip anda tanpa menaip jalan penuh/mutlak, mereka mesti disimpan di salah satu direktori di $ Jalan pembolehubah persekitaran.

Untuk memeriksa anda $ Jalan, Isu arahan di bawah:

$ echo $ Path /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games 

Biasanya, jika direktori bin wujud dalam direktori rumah pengguna, ia dimasukkan secara automatik dalamnya $ Jalan. Anda boleh menyimpan skrip shell anda di sini.

Oleh itu, buat bin direktori (yang juga boleh disimpan Perl, Awk atau Python skrip atau program lain):

$ mkdir ~/bin 

Seterusnya, buat direktori yang dipanggil lib (pendek untuk perpustakaan) di mana anda akan menyimpan perpustakaan anda sendiri. Anda juga boleh menyimpan perpustakaan untuk bahasa lain seperti c, python dan sebagainya, di dalamnya. Di bawahnya, buat direktori lain yang dipanggil sh; Ini terutamanya akan menyimpan perpustakaan anda:

$ mkdir -p ~/lib/sh 

Buat fungsi dan perpustakaan anda sendiri

A fungsi shell adalah sekumpulan arahan yang melaksanakan tugas khas dalam skrip. Mereka bekerja sama dengan prosedur, subrutin dan fungsi dalam bahasa pengaturcaraan lain.

Sintaks untuk menulis fungsi adalah:

function_name () senarai arahan 

Contohnya, anda boleh menulis fungsi dalam skrip untuk menunjukkan Tarikh seperti berikut:

showDate () date; 

Setiap kali anda mahu memaparkan Tarikh, Cukup gunakan fungsi di atas menggunakan namanya:

$ showdate 

A Perpustakaan Shell Adalah sekadar skrip shell, bagaimanapun, anda boleh menulis perpustakaan untuk hanya menyimpan fungsi anda yang kemudiannya boleh anda panggil dari skrip shell lain.

Berikut adalah contoh perpustakaan yang dipanggil libmyfuncs.sh di saya ~/lib/sh Direktori dengan lebih banyak contoh fungsi:

#!/bin/bash #function untuk menyenaraikan direktori dengan jelas di Path ShowPath () oldifs = "$ ifs" #store lama pemisah lapangan dalaman ifs =: #specify pemisah medan dalaman baru untuk dir in $ path; lakukan echo $ dir; Selesai ifs = "$ oldifs" #Restore pemisah medan dalaman lama #function untuk menunjukkan showusers pengguna log () echo -e "di bawah adalah pengguna yang log masuk pada sistem: \ n" w #print perincian pengguna printUSerDets () oldifs = "$ ifs" #Store lama pemisah medan dalaman ifs =: #specify medan dalaman pemisah medan baru Baca -p "Masukkan nama pengguna untuk dicari:" uname #read username echo "" #read dan simpan dari rentetan di sini Nilai ke dalam pembolehubah menggunakan: sebagai pembatas medan membaca -r nama pengguna lulus uid gid komen 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 fail dan buat skrip boleh dilaksanakan.

Cara Memohon Fungsi dari Perpustakaan

Untuk menggunakan fungsi dalam a lib, anda perlu terlebih dahulu termasuk lib Dalam skrip shell di mana fungsi akan digunakan, dalam bentuk di bawah:

$ ./Path/to/lib atau $ Sumber/Path/to/lib 

Oleh itu, anda akan menggunakan fungsi tersebut PrintuserDets dari lib ~/lib/sh/libmyfuncs.sh dalam skrip lain seperti yang ditunjukkan di bawah.

Anda tidak perlu menulis kod lain dalam skrip ini untuk mencetak butiran pengguna tertentu, hanya hubungi fungsi yang ada.

Buka fail baru dengan nama ujian.sh:

#!/bin/bash #termasuk lib . ~/lib/sh/libmyfuncs.fungsi sh #use dari lib printuserdets #exit skrip keluar 0 

Simpan, kemudian buat skrip boleh dilaksanakan dan jalankan:

Ujian $ chmod 755.sh $ ./ujian.sh 
Tulis fungsi shell

Dalam artikel ini, kami menunjukkan kepada anda di mana untuk menyimpan skrip shell yang boleh dipercayai, cara menulis fungsi dan perpustakaan shell anda sendiri, memanggil fungsi dari perpustakaan dalam skrip shell biasa.

Seterusnya, kami akan menerangkan cara mengkonfigurasi lurus ke hadapan Vim sebagai IDE Untuk skrip bash. Sehingga itu, sentiasa terus berhubung dengan Tecmint dan juga berkongsi pendapat anda mengenai panduan ini melalui borang maklum balas di bawah.