OnWorks Linux i Windows Online WorkStation

logo

Darmowy hosting online dla stacji roboczych

<Poprzedni | Spis treści | Następne>

Po zamknięciu powłoki logowania, bash odczytuje i wykonuje polecenia z pliku ~/.bash_logout, jeśli istnieje. Ta procedura jest szczegółowo wyjaśniona w Zaloguj Się i bash strony podręcznika.

7.2.3. Typowy zestaw plików instalacyjnych


7.2.3.1. /etc/przykład profilu


Spójrzmy na niektóre z tych plików konfiguracyjnych. Najpierw / etc / profile jest odczytywany, w którym ważne zmienne, takie jak

PATH, USER i HOSTNAME są ustawione:


Debby: ~> kot /etc/profil

# /etc/profil


# Środowisko systemowe i programy startowe do konfiguracji logowania

# Funkcje i aliasy trafiają do /etc/bashrc


# Manipulacja ścieżką

if [ `id -u` = 0 ] && ! echo $PATH | /bin/grep -q "/sbin" ; następnie PATH=/sbin:$PATH

fi


if [ `id -u` = 0 ] && ! echo $PATH | /bin/grep -q "/usr/sbin" ; następnie PATH=/usr/sbin:$PATH

fi


if [ `id -u` = 0 ] && ! echo $PATH | W takim razie /bin/grep -q "/usr/local/sbin"

ŚCIEŻKA=/usr/local/sbin:$ ŚCIEŻKA

fi


Jeśli ! echo $PATH | /bin/grep -q "/usr/X11R6/bin" ; następnie PATH="$PATH:/usr/X11R6/bin"

fi

Debby: ~> kot /etc/profil

# /etc/profil


# Środowisko systemowe i programy startowe do konfiguracji logowania

# Funkcje i aliasy trafiają do /etc/bashrc


# Manipulacja ścieżką

if [ `id -u` = 0 ] && ! echo $PATH | /bin/grep -q "/sbin" ; następnie PATH=/sbin:$PATH

fi


if [ `id -u` = 0 ] && ! echo $PATH | /bin/grep -q "/usr/sbin" ; następnie PATH=/usr/sbin:$PATH

fi


if [ `id -u` = 0 ] && ! echo $PATH | W takim razie /bin/grep -q "/usr/local/sbin"

ŚCIEŻKA=/usr/local/sbin:$ ŚCIEŻKA

fi


Jeśli ! echo $PATH | /bin/grep -q "/usr/X11R6/bin" ; następnie PATH="$PATH:/usr/X11R6/bin"

fi

Te linie sprawdzają ścieżkę do ustawienia: jeśli korzeń otwiera powłokę (identyfikator użytkownika 0), sprawdzane jest, że / sbin, / usr / sbin i

/usr/local/sbin są na ścieżce. Jeśli nie, są dodawane. Jest sprawdzany dla wszystkich, którzy

/usr/X11R6/bin znajduje się na ścieżce.


# Domyślnie brak plików core ulimit -S -c 0 > /dev/null 2>&1

# Domyślnie brak plików core ulimit -S -c 0 > /dev/null 2>&1

Wszystkie śmieci trafiają do / dev / null jeśli użytkownik nie zmieni tego ustawienia.


UŻYTKOWNIK=`id -un` NAZWA LOGOWANIA=$USER

MAIL="/var/spool/mail/$USER"


HOSTNAME=`/bin/hostname` HITSIZE=1000

UŻYTKOWNIK=`id -un` NAZWA LOGOWANIA=$USER

MAIL="/var/spool/mail/$USER"


HOSTNAME=`/bin/hostname` HITSIZE=1000

Tutaj zmiennym ogólnym przypisuje się ich właściwe wartości.


if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ]; następnie INPUTRC=/etc/inputrc

fi

if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ]; następnie INPUTRC=/etc/inputrc

fi

Jeśli zmienna WEJŚCIE nie jest ustawiony i nie ma .wejście w katalogu domowym użytkownika, ładowany jest domyślny wejściowy plik kontrolny.


obraz


eksport PATH USER NAZWA LOGU MAIL NAZWA HOSTA ROZMIAR HIST WEJŚCIE

Wszystkie zmienne są eksportowane, dzięki czemu są dostępne dla innych programów żądających informacji o Twoim środowisku.


obraz

7.2.3.2. Katalog profile.d


dla mnie w /etc/profile.d/*.sh ; wykonaj jeśli [ -r $i ]; następnie

. $tj

fi gotowe rozbrajać ja

dla mnie w /etc/profile.d/*.sh ; wykonaj jeśli [ -r $i ]; następnie

. $tj

fi gotowe rozbrajać ja

Wszystkie czytelne skrypty powłoki z /etc/profil.d katalogi są odczytywane i wykonywane. Robią takie rzeczy, jak włączanie kolor-ls, aliasowanie vi do vim, ustawianie lokalizacji itp. Zmienna tymczasowa i nie jest ustawiona, aby zapobiec późniejszemu zakłócaniu działania powłoki.


obraz

7.2.3.3. .bash_profile przykład


Następnie bash szuka .bash_profil w katalogu domowym użytkownika:


obraz

Debby: ~> kot .bash_profile

################################################## ###############

# #

# plik .bash_profile #

# #

# Wykonywane z powłoki bash po zalogowaniu. #

# #

################################################## ###############


źródło ~/.bashrc źródło ~/.bash_login

Ten bardzo prosty plik instruuje twoją powłokę, aby najpierw przeczytała ~ / .bashrc , a następnie ~/.bash_login. Spotkasz źródło wbudowane polecenie powłoki regularnie podczas pracy w środowisku powłoki: służy do wprowadzania zmian konfiguracyjnych w bieżącym środowisku.


obraz

7.2.3.4. .bash_login przykład


Połączenia ~/.bash_login file definiuje domyślną ochronę plików przez ustawienie umaska wartość, patrz rozdział 3.4.2.2. ten ~ / .bashrc Plik służy do definiowania szeregu aliasów i funkcji specyficznych dla użytkownika oraz osobistych zmiennych środowiskowych. Najpierw czyta / Etc / .bashrc, który opisuje domyślny monit (PS1) i domyślną wartość umask. Następnie możesz dodać własne ustawienia. Jeśli nie ~ / .bashrc istnieje, / Etc / .bashrc jest odczytywany domyślnie.


obraz

7.2.3.5. Przykład /etc/bashrc


Twój / Etc / .bashrc plik może wyglądać tak:


Debby: ~> kot /etc/bashrc

# /etc/bashrc


# Funkcje i aliasy ogólnosystemowe

# Środowisko trafia do /etc/profile


# domyślnie chcemy to ustawić.

Debby: ~> kot /etc/bashrc

# /etc/bashrc


# Funkcje i aliasy ogólnosystemowe

# Środowisko trafia do /etc/profile


# domyślnie chcemy to ustawić.


# Nawet dla powłok nieinteraktywnych, bez logowania.

if [ `id -gn` = `id -un` -a `id -u` -gt 99 ]; następnie umask 002

więcej

umaska ​​022

fi

# Nawet dla powłok nieinteraktywnych, bez logowania.

if [ `id -gn` = `id -un` -a `id -u` -gt 99 ]; następnie umask 002

więcej

umaska ​​022

fi

Te linie wyznaczają umaska wartość. Następnie, w zależności od typu powłoki, ustawiany jest znak zachęty:


# czy jesteśmy interaktywną powłoką? if [ "$PS1" ]; następnie

if [ -x /usr/bin/tput ]; następnie

if [ "x`tput kbs`" != "x" ]; następnie

# Nie możemy tego zrobić za pomocą "głupich" terminali stty erase `tput kbs`

elif [ -x /usr/bin/wc ]; następnie

if [ "`tput kbs|wc -c `" -gt 0 ]; następnie

# Nie możemy tego zrobić za pomocą "głupich" terminali stty erase `tput kbs`

fi fi

fi

sprawa $TERM w

xtermin*)

if [ -e /etc/sysconfig/bash-prompt-xterm ]; następnie PROMPT_COMMAND=/etc/sysconfig/bash-prompt-xterm

więcej

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

;;

to C

[ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h \W]\\$ "


if [ "x$SHLVL" != "x1" ]; then # Nie jesteśmy powłoką logowania dla i w /etc/profile.d/*.sh; robić

jeśli [ -x $i ]; następnie

. $tj

fi

zrobić

fi

fi

# czy jesteśmy interaktywną powłoką? if [ "$PS1" ]; następnie

if [ -x /usr/bin/tput ]; następnie

if [ "x`tput kbs`" != "x" ]; następnie

# Nie możemy tego zrobić za pomocą "głupich" terminali stty erase `tput kbs`

elif [ -x /usr/bin/wc ]; następnie

if [ "`tput kbs|wc -c `" -gt 0 ]; następnie

# Nie możemy tego zrobić za pomocą "głupich" terminali stty erase `tput kbs`

fi fi

fi

sprawa $TERM w

xtermin*)

if [ -e /etc/sysconfig/bash-prompt-xterm ]; następnie PROMPT_COMMAND=/etc/sysconfig/bash-prompt-xterm

więcej

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

;;

to C

[ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h \W]\\$ "


if [ "x$SHLVL" != "x1" ]; then # Nie jesteśmy powłoką logowania dla i w /etc/profile.d/*.sh; robić

jeśli [ -x $i ]; następnie

. $tj

fi

zrobić

fi

fi


obraz


7.2.3.6. .bash_logout przykład


Po wylogowaniu komendy w ~/.bash_logout są wykonywane, co może na przykład wyczyścić terminal, dzięki czemu po wylogowaniu się z sesji zdalnej lub opuszczeniu konsoli systemowej będzie czyste okno:


Debby: ~> kot .bash_logout

# ~/.bash_logout


jasny

Debby: ~> kot .bash_logout

# ~/.bash_logout


jasny

Przyjrzyjmy się bliżej działaniu tych skryptów w następnej sekcji. Trzymać Informacje bash pod ręką.


obraz


Najlepsze przetwarzanie w chmurze dla systemu operacyjnego w OnWorks: