GNU/Linux >> Belajar Linux >  >> Linux

Perintah Sumber di Linux Dijelaskan

perintah sumber di Linux adalah fungsi yang cukup populer yang dijalankan oleh administrator sistem setiap hari.

Tapi apa fungsi dari perintah sumber?

Digunakan untuk menyegarkan lingkungan shell saat ini , perintah sumber juga dapat digunakan untuk mengimpor fungsi ke skrip bash lain atau untuk menjalankan skrip ke dalam lingkungan shell saat ini.

Dalam tutorial hari ini, kita akan melihat bagaimana perintah source harus digunakan di Linux.

Perintah akan dijalankan di lingkungan Debian 10 dengan GNOME, tetapi akan bekerja untuk setiap distribusi.

Internal perintah sumber

Sebelum memulai, penting untuk memiliki pemahaman yang lengkap tentang apa variabel lingkungan dan shell.

Secara default, di Linux, sistem Anda sudah memiliki beberapa variabel lingkungan untuk menyimpan berbagai informasi seperti shell yang akan digunakan, nama host Anda, atau nama pengguna Anda saat ini.

Variabel lingkungan diinisialisasi oleh sistem dan diwarisi oleh semua proses pada sistem. Akibatnya, saat Anda menjalankan instance shell, Anda akan mendapatkan nilai variabel lingkungan di sistem Anda.

$ echo $USER
devconnected

Di sisi lain, variabel shell adalah variabel yang dideklarasikan dalam konteks instance shell dan mereka tidak dibagikan dengan shell lain atau dengan proses anak.

$ VARIABLE=devconnected
$ echo $VARIABLE
devconnected

Di Linux, saat Anda menjalankan skrip, kemungkinan besar skrip dieksekusi dalam subkulit.

Akibatnya, Anda tidak akan dapat membuat variabel yang ditentukan di shell pertama Anda berjalan di skrip, mereka tidak berbagi lingkungan yang sama.

Inilah yang dipecahkan oleh perintah sumber.

Perintah source digunakan untuk mengevaluasi file yang diteruskan sebagai argumen dalam konteks eksekusi saat ini. Dipendekkan sebagai '.', perintah sumber sebagian besar digunakan dalam konteks shell yang dijalankan di jendela terminal.

$ source filename [arguments]

Perhatikan bahwa ketika argumen diberikan, argumen tersebut ditetapkan sebagai parameter posisi untuk skrip yang ditentukan.

Catatan :dokumentasi sumber terletak di dalam dokumentasi bash. Untuk membacanya, ketik “man bash” dan cari paragraf perintah sumber.

Sumber untuk memperbarui lingkungan shell Anda saat ini (.bashrc)

Salah satu alasan utama menggunakan sumber adalah untuk menyegarkan lingkungan shell saat ini dengan menjalankan file bashrc.

Sebagai pengingat, .bashrc adalah file skrip yang dieksekusi setiap kali Anda meluncurkan instance shell interaktif.

Ini didefinisikan berdasarkan per pengguna dan terletak di direktori home Anda.

Katakanlah misalnya Anda ingin menambahkan alias baru ke lingkungan shell Anda.

Buka file .bashrc Anda dan masukkan entri baru ke dalamnya.

alias ll='ls -l'

Sekarang coba jalankan perintah alias baru Anda langsung di terminal.

Seperti yang Anda lihat, perubahan tidak langsung diterapkan di lingkungan Anda saat ini.

Agar perubahan diterapkan, jalankan perintah sumber dengan .bashrc file sebagai argumen.

$ source ~/.bashrc

Cara alternatif untuk melakukannya adalah dengan menjalankannya dengan sintaks titik

$ . ~/.bashrc

Jika Anda mencoba menjalankan alias Anda lagi, Anda seharusnya dapat menjalankannya

Sumber untuk menjalankan skrip dalam konteks saat ini

Seperti yang dijelaskan sebelumnya, perintah sumber dapat digunakan untuk mengeksekusi skrip dalam konteks lingkungan saat ini .

Untuk mengilustrasikan poin ini, mari kita definisikan variabel shell lokal di lingkungan shell Anda saat ini.

$ VARIABLE=devconnected

Sekarang, buat skrip baru dan tempel konten berikut di dalamnya

#!/bin/bash

echo $VARIABLE
echo $LOGNAME

Variabel VARIABLE mewakili variabel shell lokal yang kita buat sebelumnya dan variabel LOGNAME adalah variabel lingkungan di host Anda.

Simpan skrip Anda dan berikan izin eksekusi ke skrip yang baru Anda buat (Anda akan memerlukan hak sudo untuk menjalankan perintah ini)

$ sudo chmod ugo+x <script>

Jika Anda mencoba menjalankan skrip, Anda akan melihat hasil berikut

Seperti yang Anda lihat, variabel lokal $VARIABLE tidak dicetak ke output standar.

Ini karena skrip dieksekusi dalam subkulit yang memiliki set variabel lokalnya sendiri. Namun variabel lingkungan dicetak.

Untuk mengeksekusi skrip ini dalam konteks shell kita saat ini, kita akan menggunakan perintah source.

Seperti yang Anda lihat, dalam kasus ini, variabel $VARIABLE dicetak dengan benar ke output standar.

Sumber untuk mengimpor fungsi skrip

Salah satu fitur hebat dari perintah sumber adalah memperbarui fungsi skrip, memungkinkan penggunaan kembali yang lebih besar dari fungsi shell Anda yang ada.

Untuk mengilustrasikan hal ini, mari kita ambil contoh fungsi yang mencetak pengguna saat ini ke output standar.

Buat file skrip baru dan tempel konten berikut di dalamnya.

$ nano script

#!/bin/bash
# Print the current user to the standard output
printUser() {
   echo $USER
}

Buat skrip lain dan gunakan fungsi sumber untuk mengimpor fungsi printUser Anda.

$ nano import-script

#!/bin/bash
source ./script
printUser

Tetapkan izin yang benar untuk file yang ingin Anda jalankan. Anda tidak perlu memiliki izin eksekusi untuk file yang berisi fungsi yang ingin Anda impor.

$ sudo chmod u+x import-script
$ ./import-script

Inilah yang seharusnya Anda lihat di layar.

Seperti yang Anda lihat, fungsi tersebut diimpor dan dijalankan dengan benar, mencetak nama pengguna host saya saat ini.

Sumber untuk membaca variabel dari sebuah file

Penggunaan hebat lainnya dari perintah source di Linux adalah untuk membaca variabel dari sebuah file.

Katakanlah misalnya Anda memiliki file dengan konten berikut dalam file bernama “variabel

NAME=devconnected
WEBSITE=devconnected.com
DESCRIPTION="best educational website online"

Di file skrip lain, Anda dapat menggunakan variabel tersebut dengan menggunakan perintah sumber untuk membaca variabel.

Buat skrip dan tempel konten berikut di dalamnya.

$ nano variable-script

#!/bin/bash
source ./variables
echo $NAME is a website located at $WEBSITE and it is probably the $DESCRIPTION

Pemecahan Masalah

Dalam beberapa kasus, Anda mungkin mengalami kesalahan saat mencoba mencari sumber file Anda menggunakan perintah sumber.

Berikut adalah daftar kesalahan umum saat mencoba mencari file sumber.

Perintah sumber tidak ditemukan di Linux

Dalam beberapa kasus, Anda mungkin mengalami kesalahan ini

$ source: command not found

Atau menggunakan sudo, Anda mungkin juga mengalami kesalahan perintah sumber tidak ditemukan.

$ sudo: source: command not found

Perbaikan mudah di sini adalah dengan menjalankan perintah sebagai pengguna root dengan menggunakan “su”.

$ sudo -s
$ source .bashrc

Perhatikan bahwa Anda juga dapat menggunakan “sintaks titik” yang setara dengan perintah sumber.

$ . .bashrc

Kesimpulan

Dalam tutorial hari ini, Anda telah mempelajari apa yang dimaksud dengan perintah sumber di Linux dan bagaimana Anda dapat menggunakannya untuk mengeksekusi skrip dalam konteks lingkungan saat ini.

Anda juga mengetahui bahwa ini dapat digunakan untuk mengimpor fungsi atau variabel dari file sederhana ke file skrip.

Jika Anda ingin lebih banyak tutorial terkait administrasi sistem Linux, kami memiliki kategori lengkap yang didedikasikan untuk itu di devconnected. Klik gambar di bawah untuk membacanya.


Linux
  1. Perintah Sejarah di Linux Dijelaskan Secara Mendalam

  2. ls Perintah di Linux:17 Contoh yang Berguna Dijelaskan

  3. Contoh Perintah chsh di Linux

  1. Perintah mv Linux

  2. Linux du perintah

  3. Perintah ip Linux

  1. Perintah W di Linux

  2. Di Perintah di Linux

  3. Perintah cd Linux