source
perintah membaca dan mengeksekusi perintah dari file yang ditentukan sebagai argumennya di lingkungan shell saat ini. Berguna untuk memuat fungsi, variabel, dan file konfigurasi ke dalam skrip shell.
source
adalah shell built-in di Bash dan shell populer lainnya yang digunakan di sistem operasi Linux dan UNIX. Perilakunya mungkin sedikit berbeda dari cangkang ke cangkang.
Sintaks Perintah Sumber #
Sintaks untuk source
perintahnya 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$PATH
variabel lingkungan. Jika file tidak ditemukan di$PATH
, perintah akan mencari file di direktori saat ini. - Jika ada
ARGUMENTS
diberikan, mereka akan menjadi parameter posisi keFILENAME
. - Jika
FILENAME
ada,source
perintah keluar kode adalah0
, jika tidak, jika file tidak ditemukan maka akan mengembalikan1
.
Contoh Perintah Sumber #
Di bagian ini, kita akan melihat beberapa contoh dasar tentang cara menggunakan source
perintah.
Fungsi Sumber #
Jika Anda memiliki skrip shell yang menggunakan fungsi yang sama, Anda dapat mengekstraknya dalam file terpisah, lalu sumber file tersebut di skrip Anda.
Dalam contoh ini, kita akan membuat file yang menyertakan fungsi bash yang memeriksa apakah pengguna yang menjalankan skrip adalah root, dan jika tidak, itu akan menampilkan pesan dan keluar dari skrip.
function.shcheck_root () {
if [[ $EUID -ne 0 ]]; then
echo "This script must be run as root"
exit 1
fi
}
Sekarang di setiap skrip yang hanya perlu dijalankan oleh pengguna root, cukup sumber functions.sh
file dan panggil fungsi:
#!/usr/bin/env bash
source functions.sh
check_root
echo "I am root"
Jika Anda menjalankan skrip di atas sebagai pengguna non-root, skrip ini akan mencetak "Script ini harus dijalankan sebagai root" dan keluar.
Keuntungan dari pendekatan ini adalah skrip Anda akan lebih kecil dan lebih mudah dibaca, Anda dapat menggunakan kembali file fungsi yang sama kapan pun diperlukan, dan jika Anda perlu mengubah fungsi, Anda hanya akan mengedit satu file.
File Konfigurasi Bash #
Dengan source
perintah, Anda juga dapat membaca variabel dari file. Variabel harus disetel menggunakan sintaks Bash, VARIABLE=VALUE
.
Mari buat file konfigurasi pengujian:
config.shVAR1="foo"
VAR2="bar"
Dalam skrip bash Anda, gunakan source
perintah 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 mempelajari cara menggunakan source
perintah bawaan di skrip shell Anda.
Jika Anda memiliki pertanyaan atau masukan, jangan ragu untuk memberikan komentar.