GNU/Linux >> Belajar Linux >  >> Linux

Apa cara terbaik untuk mengatur variabel lingkungan di .bashrc?

Solusi 1:

Cara terbaik

export VAR=value

Perbedaannya

Melakukan

VAR=value

hanya menetapkan variabel untuk durasi skrip (.bashrc pada kasus ini). Proses anak (jika ada) dari skrip tidak akan memiliki VAR yang ditentukan, dan setelah skrip keluar VAR hilang.

export VAR=value

secara eksplisit menambahkan VAR ke daftar variabel yang diteruskan ke proses anak. Ingin mencobanya? Buka shell, lakukan

PS1="foo > "
bash --norc

Shell baru mendapatkan prompt default. Jika sebaliknya Anda melakukan sesuatu seperti

export PS1="foo > "
bash --norc

shell baru mendapatkan perintah yang baru saja Anda atur.

Perbarui: seperti yang dicatat oleh Ian Kelling di bawah variabel yang diatur dalam .bashrc bertahan di shell yang bersumber .bashrc . Lebih umum lagi setiap kali shell mencari skrip (menggunakan source scriptname command) variabel yang diatur dalam skrip bertahan selama masa pakai shell.

Solusi 2:

Keduanya tampaknya berfungsi dengan baik, tetapi menggunakan export akan memastikan variabel tersedia untuk subkulit dan program lainnya. Untuk mengujinya, coba ini.

Tambahkan dua baris ini ke file .bashrc Anda

TESTVAR="no export"
export MYTESTVAR="with export"

Kemudian buka shell baru.

Menjalankan echo $TESTVAR dan echo $MYTESTVAR akan menampilkan isi dari setiap variabel. Sekarang di dalam shell yang sama hapus kedua baris itu dari file .bashrc Anda dan jalankan bash untuk memulai subkulit.

Menjalankan echo $TESTVAR akan memiliki keluaran kosong, tetapi menjalankan echo $MYTESTVAR akan menampilkan "dengan ekspor"


Linux
  1. Contoh Perintah Ekspor Linux (Cara Mengatur Variabel Lingkungan)

  2. Berapa ukuran maksimum nilai variabel lingkungan Linux?

  3. Setel variabel lingkungan dalam skrip/akses Shell di Aplikasi Tomcat

  1. Apa cara terbaik untuk menangani kondisi kehabisan memori di Jawa?

  2. Di mana set variabel lingkungan $HOME?

  3. Apa cara terbaik untuk mempelajari SELinux?

  1. Bagaimana Cara Mengatur Variabel Lingkungan Pengguna? (secara permanen, Bukan Sesi)?

  2. Apa Cara Distro/shell-agnostik Terbaik Untuk Mengatur Variabel Lingkungan?

  3. Apa lokasi yang benar untuk variabel PS1 Shell?