<Sebelumnya | Konten | Selanjutnya>
Saat shell login keluar, menampar membaca dan mengeksekusi perintah dari file ~/.bash_logout, jika ada. Prosedur ini dijelaskan secara rinci dalam masuk dan menampar halaman manual.
7.2.3. Satu set khas file pengaturan
7.2.3.1. /etc/contoh profil
Mari kita lihat beberapa file konfigurasi ini. Pertama / etc / profile dibaca, di mana variabel penting seperti
PATH, USER dan HOSTNAME disetel:
debby:~> kucing /etc/profil
# /etc/profil
# Lingkungan luas sistem dan program startup, untuk pengaturan login
# Fungsi dan alias masuk /etc/bashrc
# Manipulasi jalur
jika [ `id -u` = 0 ] && ! gema $PATH | /bin/grep -q "/sbin" ; lalu PATH=/sbin:$PATH
fi
jika [ `id -u` = 0 ] && ! gema $PATH | /bin/grep -q "/usr/sbin" ; lalu PATH=/usr/sbin:$PATH
fi
jika [ `id -u` = 0 ] && ! gema $PATH | /bin/grep -q "/usr/local/sbin" lalu
JALUR=/usr/lokal/sbin:$PATH
fi
jika ! gema $PATH | /bin/grep -q "/usr/X11R6/bin" ; lalu PATH="$PATH:/usr/X11R6/bin"
fi
debby:~> kucing /etc/profil
# /etc/profil
# Lingkungan luas sistem dan program startup, untuk pengaturan login
# Fungsi dan alias masuk /etc/bashrc
# Manipulasi jalur
jika [ `id -u` = 0 ] && ! gema $PATH | /bin/grep -q "/sbin" ; lalu PATH=/sbin:$PATH
fi
jika [ `id -u` = 0 ] && ! gema $PATH | /bin/grep -q "/usr/sbin" ; lalu PATH=/usr/sbin:$PATH
fi
jika [ `id -u` = 0 ] && ! gema $PATH | /bin/grep -q "/usr/local/sbin" lalu
JALUR=/usr/lokal/sbin:$PATH
fi
jika ! gema $PATH | /bin/grep -q "/usr/X11R6/bin" ; lalu PATH="$PATH:/usr/X11R6/bin"
fi
Baris-baris ini memeriksa jalur yang akan disetel: jika akar membuka shell (ID pengguna 0), diperiksa bahwa / sbin, / usr / sbin dan
/usr/local/sbin berada di jalurnya. Jika tidak, mereka ditambahkan. Itu diperiksa untuk semua orang bahwa
/usr/X11R6/bin ada di jalurnya.
# Tidak ada file inti secara default ulimit -S -c 0 > /dev/null 2>&1
# Tidak ada file inti secara default ulimit -S -c 0 > /dev/null 2>&1
Semua sampah masuk ke / dev / null jika pengguna tidak mengubah pengaturan ini.
USER=`id -un` LOGNAME=$USER
MAIL="/var/spool/mail/$USER"
HOSTNAME=`/bin/namahost` HISTSIZE=1000
USER=`id -un` LOGNAME=$USER
MAIL="/var/spool/mail/$USER"
HOSTNAME=`/bin/namahost` HISTSIZE=1000
Di sini variabel umum diberi nilai yang tepat.
jika [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ]; lalu INPUTRC=/etc/inputrc
fi
jika [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ]; lalu INPUTRC=/etc/inputrc
fi
Jika variabel INPUTRC tidak disetel, dan tidak ada .inputrc di direktori home pengguna, maka file kontrol input default dimuat.
ekspor PATH PENGGUNA NAMA LOGO MAIL HOSTNAME UKURAN SEJARAH INPUTRC
Semua variabel diekspor, sehingga tersedia untuk program lain yang meminta informasi tentang lingkungan Anda.
7.2.3.2. Direktori profile.d
untuk saya di /etc/profile.d/*.sh ; lakukan jika [ -r $i ]; kemudian
. $i
fi selesai unset i
untuk saya di /etc/profile.d/*.sh ; lakukan jika [ -r $i ]; kemudian
. $i
fi selesai unset i
Semua skrip shell yang dapat dibaca dari /etc/profile.d direktori dibaca dan dieksekusi. Ini melakukan hal-hal seperti mengaktifkan warna-ls, alias vi untuk semangat, pengaturan lokal dll. Variabel sementara i tidak disetel untuk mencegahnya mengganggu perilaku shell nanti.
7.2.3.3. .bash_profile contoh
Kemudian menampar mencari .bash_profile di direktori home pengguna:
debby:~> kucing .bash_profile
############################################### ################
# #
# .bash_file profil #
# #
# Dieksekusi dari bash shell saat Anda masuk. #
# #
############################################### ################
sumber ~/.bashrc sumber ~/.bash_login
File yang sangat lurus ke depan ini menginstruksikan shell Anda untuk membaca terlebih dahulu ~ / .bashrc lalu ~/.bash_login. Anda akan menghadapi sumber perintah shell bawaan secara teratur saat bekerja di lingkungan shell: digunakan untuk menerapkan perubahan konfigurasi ke lingkungan saat ini.
7.2.3.4. .bash_contoh login
The ~/.bash_login file mendefinisikan perlindungan file default dengan mengatur umask nilai, lihat Bagian 3.4.2.2. NS ~ / .bashrc file digunakan untuk mendefinisikan sekelompok alias dan fungsi khusus pengguna dan variabel lingkungan pribadi. Pertama kali membaca / Etc / bashrc, yang menjelaskan prompt default (PS1) dan nilai umask default. Setelah itu, Anda dapat menambahkan pengaturan Anda sendiri. Jika tidak ~ / .bashrc ada, / Etc / bashrc dibaca secara default.
7.2.3.5. /etc/bashrc contoh
Anda / Etc / bashrc file mungkin terlihat seperti ini:
debby:~> kucing /etc/bashrc
# /etc/bashrc
# Fungsi dan alias seluruh sistem
# Hal-hal lingkungan masuk /etc/profile
# secara default, kami ingin ini disetel.
debby:~> kucing /etc/bashrc
# /etc/bashrc
# Fungsi dan alias seluruh sistem
# Hal-hal lingkungan masuk /etc/profile
# secara default, kami ingin ini disetel.
# Bahkan untuk shell non-interaktif dan non-login.
if [ `id -gn` = `id -un` -a `id -u` -gt 99 ]; lalu umask 002
lain
umask 022
fi
# Bahkan untuk shell non-interaktif dan non-login.
if [ `id -gn` = `id -un` -a `id -u` -gt 99 ]; lalu umask 002
lain
umask 022
fi
Garis-garis ini mengatur umask nilai. Kemudian, tergantung pada jenis shell, prompt diatur:
# apakah kita cangkang interaktif? jika [ "$PS1" ]; kemudian
jika [ -x /usr/bin/tput ]; kemudian
if [ "x`tput kbs`" != "x" ]; kemudian
# Kami tidak dapat melakukan ini dengan terminal "bodoh" stty erase `tput kbs`
elif [ -x /usr/bin/wc ]; kemudian
if [ "`tput kbs|wc -c `" -gt 0 ]; kemudian
# Kami tidak dapat melakukan ini dengan terminal "bodoh" stty erase `tput kbs`
fi fi
fi
kasus $TERM di
xterm*)
jika [ -e /etc/sysconfig/bash-Prompt-xterm ]; lalu PROMPT_COMMAND=/etc/sysconfig/bash-Prompt-xterm
lain
PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:\
${PWD/$HOME/~}\007"'
fi
;;
*)
[ -e /etc/sysconfig/bash-Prompt-default ] && PROMPT_COMMAND=\
/etc/sysconfig/bash-Prompt-default
;;
esac
[ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h \W]\\$ "
if [ "x$SHLVL" != "x1" ]; maka # Kami bukan shell login untuk saya di /etc/profile.d/*.sh; melakukan
jika [ -x $i ]; kemudian
. $i
fi
dilakukan
fi
fi
# apakah kita cangkang interaktif? jika [ "$PS1" ]; kemudian
jika [ -x /usr/bin/tput ]; kemudian
if [ "x`tput kbs`" != "x" ]; kemudian
# Kami tidak dapat melakukan ini dengan terminal "bodoh" stty erase `tput kbs`
elif [ -x /usr/bin/wc ]; kemudian
if [ "`tput kbs|wc -c `" -gt 0 ]; kemudian
# Kami tidak dapat melakukan ini dengan terminal "bodoh" stty erase `tput kbs`
fi fi
fi
kasus $TERM di
xterm*)
jika [ -e /etc/sysconfig/bash-Prompt-xterm ]; lalu PROMPT_COMMAND=/etc/sysconfig/bash-Prompt-xterm
lain
PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:\
${PWD/$HOME/~}\007"'
fi
;;
*)
[ -e /etc/sysconfig/bash-Prompt-default ] && PROMPT_COMMAND=\
/etc/sysconfig/bash-Prompt-default
;;
esac
[ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h \W]\\$ "
if [ "x$SHLVL" != "x1" ]; maka # Kami bukan shell login untuk saya di /etc/profile.d/*.sh; melakukan
jika [ -x $i ]; kemudian
. $i
fi
dilakukan
fi
fi
7.2.3.6. .bash_logout contoh
Setelah logout, perintah di ~/.bash_logout dijalankan, yang misalnya dapat menghapus terminal, sehingga Anda memiliki jendela bersih saat keluar dari sesi jarak jauh, atau setelah meninggalkan konsol sistem:
debby:~> kucing .bash_logout
# ~/.bash_logout
jelas
debby:~> kucing .bash_logout
# ~/.bash_logout
jelas
Mari kita lihat lebih dekat bagaimana skrip ini bekerja di bagian selanjutnya. Menyimpan Info menampar dekat.