Saat Anda masuk ke shell Linux, Anda mewarisi lingkungan kerja tertentu. Sebuah lingkungan , dalam konteks shell, berarti ada variabel tertentu yang telah ditetapkan untuk Anda, yang memastikan perintah Anda berfungsi sebagaimana dimaksud. Misalnya, variabel lingkungan PATH menentukan di mana shell Anda mencari perintah. Tanpanya, hampir semua yang Anda coba lakukan di Bash akan gagal dengan perintah tidak ditemukan kesalahan. Lingkungan Anda, meskipun sebagian besar tidak terlihat oleh Anda saat melakukan tugas sehari-hari, sangat penting.
Ada banyak cara untuk mempengaruhi lingkungan shell Anda. Anda dapat membuat modifikasi pada file konfigurasi, seperti ~/.bashrc
dan ~/.profile
, Anda dapat menjalankan layanan saat startup, dan Anda dapat membuat perintah kustom atau skrip fungsi Bash Anda sendiri.
Tambahkan ke lingkungan Anda dengan sumber
Bash (bersama dengan beberapa shell lainnya) memiliki perintah bawaan yang disebut source
. Dan di sinilah hal itu bisa membingungkan:source
melakukan fungsi yang sama dengan perintah .
(ya, itu hanya satu titik), dan itu bukan source
yang sama sebagai Tcl
perintah (yang mungkin muncul di layar Anda jika Anda mengetik man source
). source
. bawaan perintah tidak ada di PATH
. Anda sama sekali, sebenarnya. Ini adalah perintah yang disertakan sebagai bagian dari Bash, dan untuk mendapatkan informasi lebih lanjut tentangnya, Anda dapat mengetik help source
.
.
perintah sesuai dengan POSIX. source
perintah tidak didefinisikan oleh POSIX tetapi dapat dipertukarkan dengan .
perintah.
Selengkapnya tentang Bash
- Lembar contekan bash
- Pengantar pemrograman dengan Bash
- Panduan sysadmin untuk skrip Bash
- Artikel Bash terbaru
Menurut help
Bash , source
perintah mengeksekusi file di shell Anda saat ini. Klausa "di shell Anda saat ini" penting, karena itu berarti tidak meluncurkan sub-kulit; oleh karena itu, apa pun yang Anda jalankan dengan source
terjadi di dalam dan memengaruhi saat ini . Anda lingkungan.
Sebelum menjelajahi bagaimana source
dapat mempengaruhi lingkungan Anda, coba source
pada file uji untuk memastikan bahwa itu mengeksekusi kode seperti yang diharapkan. Pertama, buat skrip Bash sederhana dan simpan sebagai file bernama hello.sh
:
#!/usr/bin/env bash
echo "halo dunia"
Menggunakan source
, Anda dapat menjalankan skrip ini bahkan tanpa menyetel bit yang dapat dieksekusi:
$ source hello.sh
hello world
Anda juga dapat menggunakan.
perintah untuk hasil yang sama:
$ . hello.sh
halo dunia
source
dan .
perintah berhasil mengeksekusi konten file pengujian.
Menyetel variabel dan fungsi impor
Anda dapat menggunakan source
untuk "mengimpor" file ke lingkungan shell Anda, sama seperti Anda menggunakan include
kata kunci dalam C atau C++ untuk mereferensikan perpustakaan atau import
kata kunci di Python untuk membawa modul. Ini adalah salah satu kegunaan paling umum untuk source
, dan ini adalah penyertaan default umum di .bashrc
file ke source
file bernama .bash_aliases
sehingga setiap alias khusus yang Anda tentukan akan diimpor ke lingkungan Anda saat Anda masuk.
Berikut adalah contoh mengimpor fungsi Bash. Pertama, buat fungsi dalam file bernama myfunctions
. Ini mencetak alamat IP publik Anda dan alamat IP lokal Anda:
function myip() {
curl http://icanhazip.com
ip addr | grep inet$IP | \
cut -d"/" -f 1 | \
grep -v 127\.0 | \
grep -v \:\:1 | \
awk '{$1=$1};1'
}
Impor fungsi ke dalam shell Anda:
$ source myfunctions
Uji fungsi baru Anda:
$ myip
93.184.216.34
inet 192.168.0.23
inet6 fbd4:e85f:49c:2121:ce12:ef79:0e77:59d1
inet 10.8.42.38Telusuri sumber
Saat Anda menggunakan
source
di Bash, ia mencari direktori Anda saat ini untuk file yang Anda referensikan. Ini tidak terjadi di semua shell, jadi periksa dokumentasi Anda jika Anda tidak menggunakan Bash.Jika Bash tidak dapat menemukan file yang akan dieksekusi, Bash akan mencari
PATH
. Anda sebagai gantinya. Sekali lagi, ini bukan default untuk semua shell, jadi periksa dokumentasi Anda jika Anda tidak menggunakan Bash.Ini adalah kedua fitur kenyamanan yang bagus di Bash. Perilaku ini sangat kuat karena memungkinkan Anda untuk menyimpan fungsi umum di lokasi terpusat di drive Anda dan kemudian memperlakukan lingkungan Anda seperti lingkungan pengembangan terintegrasi (IDE). Anda tidak perlu khawatir tentang di mana fungsi Anda disimpan, karena Anda tahu bahwa fungsi tersebut setara dengan
/usr/include
lokal Anda. , jadi di mana pun Anda berada saat Anda mencarinya, Bash akan menemukannya.Misalnya, Anda dapat membuat direktori bernama
~/.local/include
sebagai tempat penyimpanan untuk fungsi-fungsi umum dan kemudian masukkan blok kode ini ke dalam.bashrc
. Anda berkas:untuk saya di $HOME/.local/include/*;
lakukan sumber $i
selesaiIni "mengimpor" file apa pun yang berisi fungsi khusus di
~/.local/include
ke dalam lingkungan shell Anda.Bash adalah satu-satunya shell yang mencari direktori saat ini dan
PATH
. Anda ketika Anda menggunakan salah satusource
atau.
perintah.Menggunakan sumber untuk sumber terbuka
Menggunakan
source
atau.
untuk mengeksekusi file bisa menjadi cara yang nyaman untuk mempengaruhi lingkungan Anda sambil menjaga perubahan Anda tetap modular. Lain kali Anda berpikir untuk menyalin dan menempelkan blok besar kode ke.bashrc
Anda file, pertimbangkan untuk menempatkan fungsi terkait atau grup alias ke dalam file khusus, lalu gunakansource
untuk menelannya.
My Linux Story:me-remix distribusi pada usia 17 tahun Membaca tentang open source dalam bahasa PrancisLinux