Mukadimah:
1. Pembolehubah persekitaran ialah pembolehubah yang ditetapkan oleh persekitaran sistem pengendalian dan boleh digunakan untuk proses pengguna dalam keseluruhan sistem;
2. Pembolehubah persekitaran boleh ditetapkan dalam arahan, dan nilai tetapan ini akan hilang apabila pengguna log keluar;3. Jika anda ingin mengaplikasikannya berulang kali, lebih baik anda mentakrifkannya dalam .profile;
4 Dan sebelum digunakan, ia mesti diimport dengan arahan eksport.1 Pengenalan kepada fail pembolehubah persekitaran
Pembolehubah persekitaran dalam Linux termasuk pembolehubah persekitaran peringkat sistem dan peringkat sistem ialah pembolehubah sistem yang mesti dibaca oleh setiap pengguna yang log masuk ke sistem, manakala pembolehubah persekitaran peringkat pengguna ialah pembolehubah persekitaran yang dimuatkan apabila pengguna menggunakan. sistem , jadi fail yang mengurus pembolehubah persekitaran juga dibahagikan kepada peringkat sistem dan peringkat pengguna.
2 jenis pembolehubah dalam Linux
Ditakrifkan oleh kitaran hayat pembolehubah, pembolehubah Linux boleh dibahagikan kepada dua kategori:
1 Kekal: Fail konfigurasi perlu ditukar dan pembolehubah akan berkuat kuasa secara kekal
2. Sementara: Gunakan perintah eksport untuk mengisytiharkan, pembolehubah akan menjadi tidak sah apabila shell ditutup
3 fail pembolehubah persekitaran Linux
Fail pembolehubah Linux termasuk /etc/environment atau /etc/profile atau ~/.profile atau /etc/bash.bashrc atau ~/.bashrc, dan ~/.bash_profile (biasanya dibuat oleh pengguna dalam direktori mereka sendiri), ~ / .bash_logout.
Tahap sistem:
1./etc/environment: Ia adalah fail pertama yang dibaca oleh sistem semasa log masuk. Fail ini menetapkan persekitaran keseluruhan sistem Fail ini hanya akan dibaca apabila muat turun linux sistem dimulakan persekitaran untuk semua pembolehubah persekitaran. Apabila sistem menggunakan fail ini, ia tidak melaksanakan arahan dalam fail ini Sebaliknya, ia mengikut kod dalam mod KEY=VALUE dan menetapkan VALUE kepada parameter KEY, jika anda ingin mentakrifkan pembolehubah persekitaran PATH fail, anda hanya perlu menambah baris borang: Kod PATH=$PATH:/xxx/bin sudah memadai
2./etc/profile: Fail ini ialah fail kedua yang dilaksanakan apabila sistem log masuk. Tetapkan maklumat persekitaran untuk setiap pengguna sistem Apabila pengguna log masuk buat kali pertama, fail ini dilaksanakan. Dan kumpulkan tetapan shell daripada fail konfigurasi dalam direktori /etc/profile.d. (/etc/profile boleh digunakan untuk menetapkan pembolehubah persekitaran untuk semua pengguna dalam keseluruhan sistem. Tempoh pembolehubah persekitaran adalah kekal)
3./etc/bashrc: Ia adalah fail permulaan bash untuk semua pengguna Pembolehubah persekitaran yang ditetapkan di sini akan digunakan pada cangkerang semua pengguna Fail ini akan dilaksanakan setiap kali pengguna membuka cangkerang. (Iaitu, setiap kali terminal baru dibuka, /etc/bashrc akan dilaksanakan).
Tahap pengguna (fail ini dalam direktori rumah):
1.~/.profile: Fail profil yang sepadan dengan pengguna yang sedang dilog masuk, digunakan untuk menyesuaikan persekitaran kerja peribadi pengguna semasa (pembolehubah adalah kekal. Setiap pengguna boleh menggunakan fail ini untuk memasukkan maklumat shell khusus untuk kegunaan mereka sendiri). . Fail ini hanya dilaksanakan sekali apabila pengguna log masuk secara lalai, ia menetapkan beberapa pembolehubah persekitaran dan melaksanakan fail .bashrc pengguna. Ini ialah tempat yang disyorkan untuk meletakkan tetapan peribadi anda
2.~/.bashrc: Fail ini mengandungi maklumat bash khusus untuk bashshell anda Fail ini dibaca semasa log masuk dan setiap kali shell baharu dibuka. (~/.bashrc hanya untuk pengguna semasa, kitaran hayat pembolehubah adalah kekal)
Tidak digalakkan untuk meletakkannya di sini, kerana setiap kali shell dibuka, fail ini akan dibaca sekali
Dalam sistem Linux, apakah shell lalai?
Ia pasti akan menjejaskan kecekapan.3.~/.bash_profileor~./bash_login:~/.bash_profile digunakan untuk memasukkan bash berjalan dalam mod log masuk interaktif, ~/.bashrc digunakan untuk memasukkan bash berjalan dalam mod bukan log masuk interaktif dua adalah lebih kurang sama Jadi secara amnya yang kedua akan memanggil yang pertama. Setiap pengguna boleh menggunakan fail ini untuk memasukkan maklumat shell khusus untuk kegunaan mereka sendiri Apabila pengguna log masuk, fail hanya dilaksanakan sekali. Secara lalai, ia menetapkan beberapa pembolehubah persekitaran dan melaksanakan fail .bashrc pengguna. (Jika tiada .bash_profile dalam direktori ~/, buat yang baharu) Ini adalah tempat yang disyorkan untuk meletakkan tetapan peribadi
Apabila shell ditutup, pembolehubah sistem yang ditakrifkan dalam bash_profile akan menjadi tidak sah. Untuk melakukan ini, sourcebash_profile mesti dijalankan setiap kali shell baharu dibuka Dan untuk pengguna semasa.
4.~/.pam_environment: Fail tetapan pembolehubah persekitaran peringkat pengguna Saya belum mengujinya, jadi saya tidak tahu sama ada ia berfungsi.
5.~/.bash_logout: Jalankan fail ini setiap kali anda keluar dari sistem (keluar dari bashshell). Di samping itu, pembolehubah (global) yang ditetapkan dalam /etc/profile boleh mempengaruhi mana-mana pengguna, manakala pembolehubah (tempatan) yang ditetapkan dalam ~/.bashrc hanya boleh mewarisi pembolehubah dalam /etc/profile Ia adalah "ibu dan anak" ". perhubungan.
4. Perintah pelaksanaan fail pembolehubah persekitaran Linux
1. Proses melaksanakan fail semasa log masuk ke Linux adalah seperti berikut:
Apabila anda mula-mula log masuk ke LinuxDalam sistem Linux, apakah shell lalai?,
Mulakan mula-mula fail /etc/profile,
Selepas itu, mulakan salah satu fail ~/.bash_profile, ~/.bash_login atau ~/.profile dalam direktori pengguna Urutan pelaksanaan fail dalam direktori pemilik rumah ialah:
~/.bash_profile->~/.bash_login->~/.profile.
Jika fail ~/.bash_profile wujud, fail ~/.bashrc biasanya akan dilaksanakan.
Kerana biasanya terdapat kod berikut dalam fail ~/.bash_profile:
if [ -f ~/.bashrc ] ; then . ./bashrc fi
~/.bashrc biasanya mengandungi kod berikut:
if [ -f /etc/bashrc ] ; then . /etc/bashrc fi
Jadi, ~/.bashrc akan memanggil fail /etc/bashrc. Akhir sekali, apabila keluar dari shell, fail ~/.bash_logout dilaksanakan.
Arahan pelaksanaan ialah:/etc/profile->(~/.bash_profile|~/.bash_login|~/.profile)->~/.bashrc->/etc/bashrc->~/.bash_logout
Faedah pelbagai fail tetapan pembolehubah persekitaran seperti /etc/profile dan /etc/environment
1) Mula-mula tambah exportLANG=zh_CN ke /etc/profile, keluar dari sistem dan log masuk semula Gesaan log masuk akan memaparkan bahasa Cina.
2) Mula-mula padam exportLANG=zh_CN dalam /etc/profile, tambah LNAG=zh_CN ke /etc/environment, keluar dari sistem dan log masuk semula Gesaan log masuk akan dipaparkan dalam bahasa Inggeris.
Dalam proses menambah baik persekitaran pengguna, sentiasa laksanakan /etc/profile dahulu, dan kemudian baca /etc/environment.
Mengapa terdapat perbezaan seperti yang dinyatakan di atas? Daripada melaksanakan /etc/environment dahulu dan kemudian /etc/profile?
Ini kerana: /etc/environment adalah untuk menetapkan persekitaran keseluruhan sistem, manakala /etc/profile adalah untuk menetapkan persekitaran semua pengguna yang terakhir tidak ada kaitan dengan pengguna log masuk, manakala yang pertama adalah berkaitan kepada pengguna yang log masuk.
Pelaksanaan aplikasi sistem mungkin tiada kaitan dengan persekitaran pengguna, tetapi berkaitan dengan persekitaran sistem Oleh itu, apabila anda log masuk, maklumat segera yang anda lihat, seperti format paparan maklumat tarikh dan masa, adalah berkaitan kepada LANG persekitaran sistem , LANG=en_US lalai, jika persekitaran sistem LANG=zh_CN, maklumat segera adalah dalam bahasa Inggeris, jika tidak dalam bahasa Inggeris.
Untuk permulaan shell pengguna, /etc/profile pertama kali dilaksanakan, dan kemudian fail /etc/environment dibaca untuk keseluruhan sistem, /etc/environment dilaksanakan terlebih dahulu. Adakah ini pemahaman yang betul?
Tempahan semasa log masuk ke dalam sistem hendaklah:
/etc/enviroment-->/etc/profile-->HOME/.profile−−>HOME/.env (jika wujud)
/etc/profile ialah pembolehubah persekitaran untuk semua pengguna
/etc/enviroment ialah pembolehubah persekitaran sistem
Susunan bacaan cangkerang semasa log masuk ke dalam sistem hendaklah:
/etc/profile->/etc/enviroment-->HOME/.profile−−>HOME/.env
Sebabnya adalah perbezaan antara persekitaran pengguna dan persekitaran sistem Jika pembolehubah yang sama mempunyai nilai yang berbeza dalam persekitaran pengguna (/etc/profile) dan persekitaran sistem (/etc/environment), maka persekitaran pengguna. patut diutamakan.
5 Pembolehubah persekitaran biasa dan fungsinya dalam Linux
Pembolehubah persekitaran biasa dalam Linux ialah:
1.PATH: Tentukan laluan carian untuk arahan
2.HOME: Tentukan direktori kerja rumah pengguna (iaitu, direktori lalai apabila pengguna log masuk ke sistem Linux)
3.SAIZ SEJARAH: merujuk kepada bilangan rekod arahan sejarah yang disimpan.
4.LOGNAME: merujuk kepada nama log masuk pengguna semasa.
5.HOSTNAME: merujuk kepada nama hos Jika banyak aplikasi perlu menggunakan nama hos, ia biasanya diperoleh daripada pembolehubah persekitaran ini.
6.SHELL: Merujuk kepada Shell yang digunakan oleh pengguna semasa.
7.LANG/LANGUGE: Pembolehubah persekitaran berkaitan bahasa Pengguna yang menggunakan berbilang bahasa boleh menukar pembolehubah persekitaran ini.
8.MEL: merujuk kepada direktori storan e-mel pengguna semasa.
9.PS1: Gesaan arahan asas ialah # untuk pengguna root dan $ untuk pengguna biasa.
10.PS2: Gesaan tambahan, lalai ialah ">".
Nota: Anda boleh menukar gesaan arahan semasa dengan menukar pembolehubah persekitaran ini Sebagai contoh, arahan berikut akan menukar gesaan kepada rentetan "Hello, MyNewPrompt".
#PS1="Hello,MyNewPrompt"
Nota: Nama pembolehubah di atas tidak tetap Sebagai contoh, HOSTNAME mungkin ditetapkan kepada HOST dalam beberapa sistem Linux
Sebenarnya, pembolehubah persekitaran di atas yang saya senaraikan tidak menyeluruh!
Linux juga menyediakan arahan untuk menukar dan melihat pembolehubah persekitaran! Berikut adalah beberapa contoh untuk menggambarkan:
1.echo memaparkan nilai pembolehubah persekitaran tertentu echo$PATH
2.export menetapkan export pembolehubah persekitaran baharuHELLO="hello" (tiada koma), dan secara langsung menggunakan [export variable name = variable value] untuk mentakrifkan pembolehubah di bawah baris arahan shell ini hanya tersedia dalam shell semasa (. BASH ) atau subkulitnya (BASH) adalah sah Apabila cangkerang ditutup, pembolehubah akan menjadi tidak sah Apabila anda membuka cangkerang baharu, tidak akan ada pembolehubah sedemikian.
3.env memaparkan semua pembolehubah persekitaran
4.set memaparkan pembolehubah shell yang ditakrifkan secara setempat (sudah ada dalam sistem) dan nilai pembolehubah baharu untuk menetapkan pembolehubah shell. Jika tiada nilai dinyatakan, nilai pembolehubah akan ditetapkan kepada NULL.
5.unset membersihkan pembolehubah persekitaran unsetHELLO
6.baca sahaja menetapkan pembolehubah persekitaran baca sahaja baca sahajaHELLO Jika arahan baca sahaja digunakan, pembolehubah tidak boleh ditukar atau dikosongkan
Atas ialah kandungan terperinci Penggunaan pembolehubah persekitaran dalam Linux dibahagikan dengan kitaran hayat yang sama. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!