Saya telah menambahkan "ekspor HISTCONTROL=ignoredups" . ini baris di ~/.bashrc
file untuk menghindari entri duplikat dalam riwayat Bash di desktop Linux saya. Apakah Anda memperhatikan bahwa saya mengawali HISTCONTROL
variabel dengan "export"
? Tahukah Anda - apa itu "export"
pilihan untuk? Jika Anda bertanya-tanya apa perbedaan antara mendefinisikan variabel bash dengan dan tanpa opsi ekspor, baca terus!
Perbedaan Antara Mendefinisikan Variabel Bash Dengan Dan Tanpa Ekspor
Kami mendefinisikan variabel dengan export
untuk membuatnya tersedia untuk semua sub-proses (atau proses anak). Artinya - jika Anda mendefinisikan variabel dengan export
seperti di bawah ini,
export variable_name=value
Variabel tersedia untuk setiap sub-proses Anda menjalankan dari proses shell itu.
Jika Anda mendefinisikan variabel tanpa export
seperti di bawah ini,
variable_name=value
Variabel terbatas pada shell dan tidak tersedia untuk sub-proses lainnya. Anda dapat menggunakannya untuk variabel sementara dan/atau loop.
Izinkan saya untuk menunjukkan sebuah contoh, sehingga Anda dapat memahaminya dengan lebih baik.
Biarkan saya mendefinisikan sebuah variabel bernama "ostechnix"
tanpa "export"
seperti di bawah ini:
$ ostechnix="Welcome to ostechnix.com blog!"
Sekarang tampilkan nilainya menggunakan perintah "echo":
$ echo $ostechnix
Ini akan menampilkan nilai variabel ostechnix:
Welcome to ostechnix.com blog!
Sekarang, mulai sesi shell Bash baru dengan menjalankan perintah berikut:
$ bash
Kemudian, coba tampilkan nilai variabel ostechnix menggunakan echo
perintah:
$ echo $ostechnix
Lihat? Itu tidak mengembalikan apa pun! Anda hanya melihat output kosong. Oleh karena itu terbukti bahwa ketika kita mendefinisikan variabel tanpa export
, itu tidak akan tersedia untuk proses anak.
Mari kita definisikan kembali variabel yang sama dengan export
pilihan:
$ export ostechnix="Welcome to ostechnix.com blog!"
Menampilkan nilai variabel:
$ echo $ostechnix
Contoh keluaran:
Welcome to ostechnix.com blog!
Mulai sesi shell baru:
$ bash
Coba lagi untuk menampilkan nilai variabel:
$ echo $ostechnix
Sekarang akan mengembalikan nilainya.
Oleh karena itu, ekspor membuat variabel tersedia untuk proses turunan lainnya di lingkungan shell tersebut.