Perintah source
berfungsi untuk membaca dan mengeksekusi perintah dari file yang ditentukan di lingkungan shell saat ini. Perintah source
berguna untuk memuat fungsi, variabel, dan file konfigurasi ke dalam skrip shell.
source
adalah shell bawaan di Bash dan shell populer lainnya yang digunakan dalam sistem operasi Linux dan UNIX. Perilakunya mungkin sedikit berbeda dari shell ke shell.
Sintaks Perintah Source
Sintaks untuk perintah sumber adalah sebagai berikut:
source FILENAME [ARGUMENTS] . FILENAME [ARGUMENTS]
source
dan.
(titik) adalah perintah yang sama.- Jika
FILENAME
bukan path lengkap ke file, perintah akan mencari file di direktori yang ditentukan dalam environment variable$PATH
. Jika file tidak ditemukan di$PATH
, maka perintah akan mencari file di direktori kerja saat ini. - Jika ada
ARGUMEN
yang diberikan, mereka akan menjadi parameter posisi untukFILENAME
. - Jika
FILENAME
ada, perintahsource
akan keluar dengan kode0
, namun jika file tidak ditemukan, output akan muncul 1.
Contoh Perintah Source
Pada bagian ini, kita akan melihat beberapa contoh dasar tentang cara menggunakan perintah source
.
Function Source
Jika Anda memiliki skrip shell yang menggunakan functions yang sama, Anda dapat mengekstraknya dalam file terpisah dan kemudian source file itu di skrip Anda.
Dalam contoh ini, kami akan membuat file yang menyertakan fungsi bash yang memeriksa apakah pengguna yang menjalankan skrip adalah user root atau bukan. Jika yang mengeksekusi perintah tersebut bukan root, maka output akan menampilkan pesan dan keluar dari skrip.
check_root () { if [[ $EUID -ne 0 ]]; then echo "Script harus dijalankan oleh root" exit 1 fi }
Sekarang di setiap skrip Anda yang perlu dijalankan hanya oleh pengguna root, cukup source file functions.sh
dan panggil function menggunakan:
#!/usr/bin/env bash source functions.sh check_root echo "Saya User root"
Jika Anda menjalankan skrip di atas sebagai pengguna non-root, skrip akan mencetak “Script harus dijalankan oleh root” dan mengakhiri perintah.
Keuntungan dari pendekatan ini, skrip Anda akan lebih kecil dan lebih mudah dibaca, Anda dapat menggunakan kembali file fungsi yang sama kapan pun diperlukan dan jika perlu memodifikasi fungsi Anda hanya akan mengedit satu file.
File Konfigurasi Bash
Dengan perintah source
, Anda juga dapat membaca variabel dari file. Variabel harus ditetapkan menggunakan sintaks Bash, VARIABLE=VALUE
.
Mari kita buat file konfigurasi pengujian:
sudo nano config.sh
VAR1="foo" VAR2="bar"
Di skrip bash, Anda gunakan perintah source untuk membaca file konfigurasi:
#!/usr/bin/env bash source config.sh echo "VAR1 is $VAR1" echo "VAR2 is $VAR2"
Jika Anda menjalankan skrip, hasilnya akan terlihat seperti ini:
VAR1 is foo VAR2 is bar
Kesimpulan
Dalam panduan ini, Anda telah belajar cara menggunakan perintah source builtin di skrip shell.