Özel Kabuk Değişkenleri
Önceki Bash Kabuğu Sonraki
Özel Kabuk Değişkenleri
Sisteme girdiğiniz zaman Linux size bir kabuk tahsis eder ve kabuk üzerinde değişkenler tanımlayabilmenize izin verir. Kabuk içinde bir kabuk betiği (script) çalıştırılınca sistem tarafından bir alt kabuk daha yaratılır. Bu andan itibaren iki kabuk çalışır, birisi sisteme girdiğiniz anda tahsis edilen, diğeri de programın çalıştırılabilmesi için sistem tarafından çağırılan. Program bittiği anda alt kabuğun işlevi sona erer ve sistem tarafından öldürülür.
Bir kabuk altında tanımlanan değişken o kabuğa özgüdür. Bir kabuk altında erişilebilen değişkene diğer bir kabuk erişemez. Fakat bash kabuğu altında bir çevre değişkeni yaratılırsa, sistem tarafından her alt kabuğa bu çevre değişkeni kopyalanır. Böylece bir değişken yaratılır, ama her alt kabuk tarafından kullanılabilir. bash kabuğunda yaratılan çevre değişkenlerinin normal değişkenlerden tek farkı, bu değişkenin diğer alt kabuklar tarafından tanınmasıdır.
Bir çevre değişkeni belirtmek için export komutu kullanılır. Aşağıdaki örnekte dosyam isimli çevre değişkeni tanımlanıyor.
$ export dosyam="internet.97.txt"
$ echo $dosyam
internet.97.txt
Bu esnadan sonra tüm kabuklar altında bu değişken tanımlı olacaktır.
env komutu yardımıyla sistemde öntanımı yapılan veya sonradan tanımlanan tüm değişkenler ekrana listelenir.
$ env
HOME=/home/gorkem
SHELL=/bin/bash
LS_OPTIONS=--8bit --color=tty -F -b -T 0
PS1=\h:\w\$
PS2=>
LOGNAME=gorkem
OSTYPE=Linux
Sisteme girdiğiniz anda tanımlanan bazı komutlar ve açıklamaları aşağıda verilmiştir:
HISTFILE: Tüm yazdığınız komutlar .bash_history adlı bir dosya içinde tutulur. Her kullanıcının kendi ev dizinleri içinde kullanıcıya özgü bu dosyadan vardır. $HISTFILE değişkeni ile dosyanın ismi değiştirilebilir.
$ echo $HISTFILE
/home/gorkem/.bash_history
$ HISTFILE="komutlar"
$ echo $HISTFILE
komutlar
PATH: PATH değişkeninde bir komut yazıldığı anda sistem tarafından aranacak olan patika listesi görüntülenir. Örnek olarak who komutu /usr/bin/ dizini altındadır ve bu bilgi PATH değişkeninde saklı tutulur. Kullanıcının yaptığı programları çalıştırabilmesi için PATH değişkeninde bulunduğu dizini de tanımlaması gerekir.
PATH değişkeninde her dizin iki nokta üstüste işareti ile birbirinden ayrılır. Örnek olarak /usr/local/bin:/usr/bin dizisi sırasıyla /usr/local/bin ve /usr/bin patikalarına karşılık gelir.
Kullanıcı PATH değişkenine yeni girdiler ekleyebilir. Aşağıdaki örnekte bunun nasıl uygulandığı görülüyor. Kullanıcı kısaca PATH değişkeninin sonuna kendisinin istediği patikayı veya patikaları ekler.
$ echo $PATH                    # PATH degiskenini ekrana bas
$ export PATH=$PATH:/usr/net    # buna /usr/net patikasini ekle
SHELL: O an kullanılan kabuğun patika ismini verir. Kabuk programları genellikle /bin dizini altında tutulurlar. Her kabuğun patika ismi sistemdeki /etc/shells dosyasında bulunmalıdır.
$ echo $SHELL
/bin/bash
HOME: Kullanıcının ev dizinini gösteren patikayı ekrana basar. Her kullanıcının ev dizini, sistemde hesap açılırken sistem görevlisi tarafından belirlenir. Linux Slackware dağıtımı altında bu dizin öntanımlı olarak /home 'dur. Aşağıdaki örnek kullanıcının ev dizinine ait patikayı ekrana basıyor.
$ echo $HOME
/home/gorkem
LOGNAME: Sistemdeki kullanıcı hesabınının ismini tutar. Her kullanıcı için farklı bir değerde olur.
$ echo $LOGNAME
gorkem
TERM: Kullanıcının halen üzerinde çalıştığı terminal tipini görüntüler. vi ve pico gibi editörler çalıştırıldıkları anda TERM çevresel değişkenine bakarlar. Bu sayede ekran ile ilgili bilgileri önceden düzenleyebilirler. Aşağıdaki komut önce halihazırdaki TERM değişkenini görüntülüyor, ardından değişkene başka bir değer atıyor.
$ echo $TERM
linux
$ export TERM=vt100
$ echo $TERM
vt100
PS1 ve PS2: Ekranda komut satırının başına gelecek olan karakterleri belirlerler. Komut isteminin en başındaki yazı bu iki değişken yardımıyla değiştirilebilir. PS1, birinci satırın karakterlerini tutarken satıra sığmayan komutlar bir satır aşağı geçeceklerinden ikinci satırın karakterlerini de PS2 belirler. Aşağıdaki satır, bu iki değişkenin öntanımlı olan "$" işaretini bir kelimeyle değiştiriyorlar.
$ export PS1='-> '
-> export PS2='>'
->
Önceden tanımlanan kodlar yardımıyla komut satırı değiştirilebilir. Her kodun başında \ karakteri vardır. Bu kodların herbiri örneğin o anki saati, makinanın ismini veya bulunduğunuz dizini ekrana yazabilirler. Örneğin \h ve \w kodları sırasıyla çalışılan makinanın ismini ve çalışma dizinini gösterirler. Bu örnekte PS1 değişkeni bu iki kod yardımıyla değiştiriliyor.
$ export PS1='\h:\w\$ '
linux:~$                        # yeni komut satiri goruntusu
linux:~$ cd /tmp
linux:/tmp$                     # calisma dizinini de gosteriyor
Aşağıda, sıkça kullanılan kodların bir listesi görülüyor.
  • \t, saat
  • \d, tarih
  • \s, kabuk ismi
  • \w, çalışma dizini
  • \u, kullanıcı ismi
  • \h, makina ismi
Önceki Üst Ana Başlık Sonraki
Özel Kabuk Tanımları Başlangıç Sisteme Giriş Dosyaları
Bir Linux Kitaplığı Sayfası