Sisteme Giriş Dosyaları

Next: Kabuk Programlamaya Giriş Up: Bash Kabuğu Previous: Özel Kabuk Değişkenleri

# Sisteme Giriş Dosyaları

Sisteme girerken her giriş anında çalıştırılan birtakım dosyalar bulunur. Bash kabuğu ile doğrudan ilgili olan giriş dosyaları arasında

    /etc/profile
    ~/.bash_profile
    ~/.bash_login
    ~/.profile
    ~/.bashrc

sayılabilir. Kullanıcı bu dosyaların kendine ait olanlarını dilediği gibi değiştirebilir. Sisteme girerken tanımlamak istediği değişkenleri tanımlar, çalıştıracaği programları yazar. `/etc/profile` dosyasını ise tüm kullanıcılar ortak kullanır. Her kullanıcı sisteme girdiğinde sistem tarafından bu dosya çalıştırılır. Bu dosyada kullanıcıların ihtiyacına yönelik özel sistem değişkenleri bulunur, ek olarak birtakım kontrol ve kayıt işlemleri yapılır.

Örnek bir `/etc/profile` dosyası şekildeki gibidir.

    if [ "$TERM" = "" -o "$TERM" = "unknown" ]; then
     TERM=linux
    fi
    #PS1='`hostname`:`pwd`# '
    if [ "$SHELL" = "/bin/pdksh" -o "$SHELL" = "/bin/ksh" ]; then
     PS1="! $ "
    elif [ "$SHELL" = "/bin/zsh" ]; then
     PS1="%m:%~%# "
    elif [ "$SHELL" = "/bin/ash" ]; then
     PS1="$ "
    else
     PS1='\h:\w\$ '
    fi
    PS2='> '
    ignoreeof=2
    export PATH DISPLAY LESS TERM PS1 PS2 ignoreeof
    umask 022
    # set up the color-ls environment variables:
    if [ "$SHELL" = "/bin/zsh" ]; then
      eval `dircolors -z`
    elif [ "$SHELL" = "/bin/ash" ]; then
      eval `dircolors -s`
    else
      eval `dircolors -b`
    fi

`.bashrc` dosyası, her bash kabuğu veya alt kabuk çalıştırıldığı anda okunur. Her kabuk programı çalıştırılınca bir alt kabuğa ihtiyaç olduğundan bu durumda `.bashrc` dosyası da okunacak ve içerdiği değişkenler proram çalışmadan önce tanımlanacaktır.

Sistemden çıkarken varsa çalıştırılan dosyanın ismi `.bash_logout`'tur. Bu dosya ile kullanıcı sistemi terkederken fazladan işlemler yapabilir. Aşağıdaki örnekteki `.bash_logout` dosyasında kullanıcı sistemden her çıktığında ekran temizlenecek ve en üste 'Hoscakal' yazacaktır.

    clear
    echo "Hoscakal!"