Variabel saya adalah
LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib
ORACLE_HOME=/usr/lib/oracle/11.2/client64
Bagaimana cara menyimpan variabel-variabel ini secara permanen?
environment-variables
pengguna3021349
sumber
sumber
/usr/lib/oracle/11.2/client64/lib
file baru di bawah/etc/ld.so.conf.d/
path. Maka Anda tidak perlu mengatur LD_LIBRARY_PATH, lihat juga di sini .Jawaban:
Anda dapat menambahkannya ke file
.profile
atau file profil shell login Anda (terletak di direktori home Anda).Untuk mengubah variabel lingkungan "secara permanen" Anda harus mempertimbangkan setidaknya situasi ini:
pesta
/etc/profile
,~/.bash_profile
,~/.bash_login
,~/.profile
dalam urutan~/.bashrc
$BASH_ENV
zsh
ksh
maksud
csh atau tcsh
Jika Anda ingin menjadikannya permanen untuk semua pengguna, Anda dapat mengedit file yang sesuai di bawah
/etc/
, yaitu/etc/profile
untuk shell mirip Bourne,/etc/csh.login
untuk (t) csh, dan/etc/zsh/zprofile
dan/etc/zsh/zshrc
untuk zsh.Pilihan lain adalah menggunakan
/etc/environment
, yang pada sistem Linux dibaca oleh modul PAMpam_env
dan hanya mendukung penugasan sederhana, bukan ekspansi shell-style. (Lihat panduan Debian tentang ini.)File-file ini kemungkinan sudah mengandung beberapa tugas, jadi ikuti sintaksis yang Anda lihat sudah ada dalam file Anda.
Pastikan untuk memulai kembali shell dan masuk kembali ke pengguna, untuk menerapkan perubahan.
Jika Anda perlu menambahkan variabel lingkungan sistem lebar, sekarang ada
/etc/profile.d
folder yang berisi skrip sh untuk menginisialisasi variabel.Anda dapat menempatkan skrip sh Anda dengan semua variabel yang diekspor di sini.
Hati-hati meskipun ini tidak boleh digunakan sebagai cara standar untuk menambahkan variabel ke env di Debian.
sumber
.profile
di/etc/
tapi saya tidak bagaimana mengatur variabel dalam.profile
jelaskan.profile
ada di direktori home Anda bukan/etc/
[Admin@localhost etc]$ cat ~/.profile cat: /home/Admin/.profile: No such file or directory [Admin@localhost etc]$
:wq
adalah perintah untuk menulis file dan keluar di vi jangan lupa untuk mengetikesc
sebelumnyacrontab
skrip. Tidak satu pun dari lokasi ini akan terlihat ketikacrontab
skrip sedang berjalanUntuk melakukannya jika untuk semua pengguna / shell, tergantung pada distro Anda dapat menggunakan
/etc/environment
atau/etc/profile
. Membuat file baru di/etc/profile.d
mungkin lebih disukai jika ada, karena akan lebih kecil kemungkinannya bertentangan dengan pembaruan yang dibuat oleh sistem pengemasan.Di
/etc/environment
, variabel biasanya diatur denganname=value
, misalnya:Di
/etc/profile
, Anda harus menggunakanexport
karena ini skrip, misalnya:Hal yang sama berlaku untuk file di bawah
/etc/profile.d
, mungkin juga ada batasan penamaan yang harus dipenuhi agar file berfungsi. Pada Debian, file tersebut harus memiliki ekstensi.sh
(walaupun tidak memerlukan bang line atau izin yang dapat dieksekusi karena bersumber). periksa dokumentasi distro Anda atau lihat/etc/profile
skrip untuk melihat bagaimana file-file ini dimuat.Perhatikan juga bahwa pengaturan
LD_LIBRARY_PATH
secara permanen berpotensi bermasalah , termasuk menjadi risiko keamanan. Sebagai alternatif, saya akan menyarankan menemukan beberapa cara untuk menambahkanLD_LIBRARY_PATH
awal baris perintah untuk setiap program yang membutuhkannya sebelum berjalan. Misalnya:Salah satu cara untuk melakukannya adalah dengan menggunakan skrip wrapper untuk menjalankan program. Anda bisa memberikan ini nama yang sama dengan program Anda dan memasukkannya ke
/usr/local/bin
atau di mana saja yang muncul sebelum lokasi program AndaPATH
. Berikut ini contoh skrip (jangan lupachmod +x
skrip):sumber
environment
file saya , apa yang menyebabkan mereka memuat? Misalnya, setelah keluar dari vi editor (perubahan berhasil ditulis), saya berharap untuk menulisecho $MY_NEW_VARIABLE
dan melihatnya mencetak - EDIT: Saya melihat mereka ada di sana jika saya meluncurkan shell perintah baru/etc/environment
, bahkan jika saya me- restart terminal bash atau mengetiksource /etc/environment
. Jadi, jika Anda mengalami masalah ketika variabel lingkungan tidak bertahan, coba reboot./etc/environment
bukan skrip, jadi tidak dapat diperoleh dari sumber. Itu dimuat pada waktu login (dan beberapa peristiwa sistem lainnya) oleh PAM, sehingga Anda dapat logout / login atau menjalankan sesi login baru di terminal dengan$ su <your username here>
mengambil nilai-nilai baru dalam sesi yang terisolasi itu. Nilai-nilai akan hilang begitu Anda keluar, jadi mungkin lebih mudah untuk keluar / masuk sepenuhnya.ketika Anda menginstal oracle, oracle meminta Anda menjalankan beberapa skrip sebelum mengklik ok. Script itu meletakkan pengaturan dummy di
.bash_profile
direktori home pengguna oracle. Untuk melihat file,ls -al
akan menampilkan semua file yang tersembunyi.ketik
nano bash_profile
untuk membuka file. Buat perubahan pada file untuk mencerminkan nama host Anda, dan nama samping yang sesuai. periksa pengaturan lain yang perlu modifikasi. tekan control x untuk menyimpan dan ketik y ketika ditanya apakah Anda ingin menyimpan. Tekan tombol kembali untuk menyimpan. Nyalakan ulang komputernya. Masuk sebagai pengguna oracle. mulai database dengan mengetiksumber