Saya baru-baru ini menemukan /etc/environment
, yang tampaknya cara yang lebih standar untuk mensetup variabel lingkungan yang sederhana daripada skrip, tapi saya bertanya-tanya apakah ada cara untuk merujuk kembali variabel lingkungan dalam file / etc / environment.
Yaitu, saya punya ini:
JAVA_HOME="/tools/java"
GRAILS_HOME="/tools/grails"
GROOVY_HOME="/tools/groovy"
GRADLE_HOME="/tools/gradle"
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
Namun, jika saya mencoba menambahkan $JAVA_HOME/bin
definisi PATH, saya mendapatkan $ JAVA_HOME / bin, dan bukan variabel yang diinterpolasi. Untuk mengatasinya, saya membuat environment.sh di profil.d untuk menambahkan /bin
entri ke path, tapi ini tampaknya ceroboh dan tidak terorganisir.
Apakah ada cara untuk mereferensi variabel lingkungan di / etc / environment?
sumber
/etc/environment
, saya terpaksa/etc/profile
, terima kasih atas saran Anda.Dokumentasi Ubuntu membuat ini tampak mustahil. TAPI, ada jawaban.
JAWABAN : Membuat variabel, lingkungan sistem lebar persisten di
/etc/.bashrc
Detail:
Berikut ini beberapa detail lainnya dari dokumentasi Environment Variables .
Rekomendasi resmi adalah untuk digunakan
/etc/environment
, seperti yang telah Anda coba. Masalahnya adalah file ini bukan file skrip. Dengan kata lain, Anda tidak dapat menggunakan variabel dalam deklarasi variabel.Dokumentasi dilanjutkan dengan 2 file "Tidak Disarankan" lainnya
/etc/profile
dan/etc/bash.bashrc
./etc/profile
+ msgstr "lakukan sedikit lebih dari memanggil file /etc/bash.bashrc". Jadi, bukannya memilih/etc/bash.bashrc
karena "Ubuntu dikonfigurasi secara default untuk mengeksekusi file ini setiap kali pengguna memasukkan shell atau lingkungan desktop."sumber