Saya menjalankan Ubuntu 11.04. Saya menggunakan terminal untuk memulai sesi bash, dan saya ingin menambahkan variabel lingkungan:
$r@hajt:~$ env THEVAR=/example
Tapi itu tidak bekerja. Ini menunjukkan semua variabel dengan THEVAR menjadi yang terakhir, tetapi panggilan lain untuk env tidak menunjukkan THEVAR lagi- env | grep THEVAR mengembalikan apa-apa.
Demikian pula, skrip dengan ekspor (export THEVAR=/example) atau tugas variabel lainnya (THEVAR=/example) jangan menambahkan variabel lingkungan.
Saya tahu saya melakukan sesuatu yang salah, saya tahu itu harus sesuatu yang sederhana, tetapi saya tidak dapat menemukan apa.
Untuk mengatur variabel lingkungan sekali, gunakan export perintah di prompt, bukan dalam skrip shell:
$ export THEVAR=/example
Variabel akan ditetapkan untuk sisa sesi shell atau sampai unset.
Untuk mengatur variabel lingkungan setiap kali, gunakan export perintah dalam .bashrc file (atau file inisialisasi yang sesuai untuk shell Anda).
Untuk mengatur variabel lingkungan dari skrip, gunakan export perintah dalam script, dan kemudian source naskahnya. Jika Anda menjalankan script itu tidak akan bekerja.
Agar perubahan lingkungan / var tetap ada setelah skrip selesai, Anda harus menggunakansource ./script.sh atau notasi singkat untuk sumber,".", seperti . ./script.sh
Sumber akan menjalankan perintah dalam skrip seolah-olah Anda telah mengetiknya... jadi itu mengubah beberapa aspek skrip, seperti keluar... jadi jika skrip Anda memeriksa sesuatu dan memutuskan untuk keluar jika salah, misalnya, melalui panggilan exit 0, ini akan mengakhiri sesi terminal / shell Anda saat ini.
Saya tahu ini cukup terlambat, tetapi jika Anda ingin menambahkan variabel lingkungan untuk semua pengguna (misalnya penggunaan JAVA) - Anda dapat melakukan hal berikut:
1) Buka /etc/bash.bashrc menggunakan nano (Anda dapat menggunakan editor apa pun, saya tidak suka VIM karena ini adalah yang terburuk dalam hal keramahan pengguna - tidak ada yang pribadi).
2) Tambahkan ke file:
export VAR=path export PATH=$PATH:/bin3) (lebih baik jika Anda dapat memantulkan kotak) - atau cukup buka sesi SSH baru dan Konfirmasi menggunakan perintah `env'.
Tetapi jika Anda ingin setiap pengguna memiliki pengaturan terpisah untuk ini, Anda harus membuat perubahan (skrip) ke .bashrc berkas di bawah ~/.bashrc (atau /home/$USER/ jika Anda baru mengenal sistem Linux)
Jika Anda melakukan hal-hal melalui script, salah satu cara mudah untuk mengatur variabel lingkungan secara permanen diletakkan di bawah pernyataan dalam script Anda,
if [[ ! -d "$MyVar" ]]; then export MyVar="abc" echo 'export MyVar="abc"' >> ~/.bashrcfi
Jika Anda perlu mengevaluasi ekspresi seperti pwd, Anda dapat menggunakan ini, misalnya,
Jika Anda menggunakan Ubuntu atau sistem berbasis Unix kemudian ekspor variabel dalam ~/.bashrc file. Ini adalah file tersembunyi dan anda bisa sampai di sana melalui terminal atau dengan unhiding file tersembunyi dalam sistem file.
Kemudian mengedit file dan mengatur export THEVAR=/example di sana, Simpan dan selesai.