Bash Değişkenleri
Önceki V. Oylum - Kabuk Değişkenleri Sonraki
Bash Değişkenleri
Bu değişkenler Bash tarafından atanır ve kullanılır, ancak diğer kabuklar bu değişkenleri normalde kullanmaz.
Bash tarafından kullanılan bir kaç değişken bu kılavuzun başka bölümlerinde anlatılmıştır. İş denetim yeteneklerini kontrol eden değişkenleri İş Denetim Değişkenleri bölümünde bulabilirsiniz.
BASH
Bash'in çalışan kopyasının çalıştırılmasında kullanılan tam dosya yollu.
BASH_ARGC
Değerleri o anki bash çalıştırma çağrı yığıtının her çerçevesindeki parametrelerin sayısı olan bir dizi değişkeni. O anki altyordam parametrelerinin sayısı yığıtın tepesinde bulunur. Bir altyordam çalıştırıldığında aktarılan parametre sayısı BASH_ARGC'ye üstten basılır. Kabuk BASH_ARGC'yi sadece ek hata ayıklama kipindeyken etkin kılar. (shopt yerleşiğinin extdebug seçeneğinin açıklamasına bakınız.)
BASH_ARGV
O anki bash çalıştırma çağrı yığıtındaki tüm parametreleri içeren dizi değişkeni. Son altyordamın son parametresi yığıtın tepesinde bulunur; ilk çağrının ilk parametresi ise en altta bulunur. Bir altyordam çalıştırıldığında parametreleri BASH_ARGV'ye basılır. Kabuk BASH_ARGV'yi sadece ek hata ayıklama kipindeyken etkin kılar. (shopt yerleşiğinin extdebug seçeneğinin açıklamasına bakınız.)
BASH_COMMAND
Bir sinyal kapanının sonucu olarak çalıştırılıyor olmadıkça o an çalışmakta olan ya da çalışmaya hazır olan komut.
BASH_ENV
Bash bir kabuk betiğini çalıştırmak için çağrıldığında bu değişken atanmışsa, değişkenin değeri betiği çalıştırmadan önce okunacak başlatma dosyasının ismi olarak yorumlanır ve kullanılır.
BASH_EXECUTION_STRING
-c çağrı seçeneğine belirtilen komut argümanı.
BASH_LINENO
Üyeleri FUNCNAME dizisinin üyelerinin kaynak dosyalarda bulunduğu satır numaraları olan dizi değişkeni. ${BASH_LINENO[$i]}, ${FUNCNAME[$i]} çağrıldığında işlevin kaynak dosyasındaki satır numarasıdır. Kaynak dosyasının ismi ise ${BASH_SOURCE[$i]}'dir. O anki satır numarasını elde etmek için LINENO değişkenini kullanın.
BASH_REMATCH
Üyeleri [[ koşullu komutuna =~ iki terimli işleci ile atanan dizi değişkeni (bkz, Koşullu Çalıştırma). 0 indisli eleman düzenli ifadenin tamamı ile eşleşen dizge parçasını içerir. n indisli eleman ise n'inci parantezli alt ifadeyle eşleşen dizge parçasını içerir. Bu değişken salt-okunurdur.
BASH_SOURCE
Üyeleri FUNCNAME dizisinin üyelerinin kaynak dosyalarının isimleri olan dizi değişkeni.
BASH_SUBSHELL
Bir alt kabuk ya da bir alt kabuk ortamının her çatallanışında değeri bir
BASH_VERSION
Bash'in kullanılan kopyasının sürüm numarası.
BASH_VERSINFO
Bash'in kullanılan kopyasının sürüm bilgilerini saklamakta kullanılan salt-okunur bir dizi değişkeni. Dizi elemanlarına atanan değerler:
BASH_VERSINFO[0]
Ana sürüm numarası (dağıtım).
BASH_VERSINFO[1]
Alt sürüm numarası (sürüm).
BASH_VERSINFO[2]
Yama seviyesi.
BASH_VERSINFO[3]
Derlemenin sürümü.
BASH_VERSINFO[4]
Dağıtımın durumu (örn., beta1).
BASH_VERSINFO[5]
MACHTYPE değişkeninin değeri.
COLUMNS
select yerleşiği tarafından seçim listelerini basarken uçbirim genişliğini saptamakta kullanılır. Bir SIGWINCH sinyali alındığında otomatik olarak atanır.
COMP_WORDBREAKS
Sözcük tamamlama uygulanırken Readline kütüphanesince sözcük ayracı olarak ele alınacak karakterler. COMP_WORDBREAKS unset ile kaldırıldıktan sonra hemen sıfırlansa bile kendine özel niteliklerini yitirir.
COMP_CWORD
O anki imleç konumunu içeren sözcüğün ${COMP_WORDS}'ü için bir indis. Bu değişken sadece programlanabilir tamamlama araçları tarafından çağrılan kabuk işlevlerinde kullanılır.
COMP_LINE
O anki komut satırı. Bu değişken sadece programlanabilir tamamlama araçları tarafından çağrılan kabuk işlevleri ve disk komutları için kullanılır.
COMP_POINT
O anki komutun başlangıcına göre o anki imleç konumunun indisi. O andaki imleç konumu o anki komutun sonunda ise değişkenin değeri ${#COMP_LINE}'a eşittir. Bu değişken sadece programlanabilir tamamlama araçları tarafından çağrılan kabuk işlevleri ve disk komutları için kullanılır.
COMP_WORDS
O andaki komut satırındaki tek tek sözcüklerin oluşturduğu dizi değişkeni. Sözcükler kabuk çözümleyicisinin ayrımsayabileceği şekilde kabuk ötekarakterleri ile birbirlerinden ayrılırlar. Bu değişken sadece programlanabilir tamamlama araçları tarafından çağrılan kabuk işlevlerinde kullanılır.
COMPREPLY
Bash'in programlanabilir tamamlama araçları tarafından çağrılan bir kabuk işlevi tarafından üretilen mümkün tamamlamaları okuduğu dizi değişkeni.
DIRSTACK
Dizin yığınının o anki içeriğinin bulunduğu dizi değişkeni. Dizinler yığın içinde, dirs yerleşiği tarafından gösterildiği sırada bulunur. Bu dizi değişkeninin elemanlarına atama yoluyla yığındaki dizinler değiştirilebirse de, dizinleri eklemek ve kaldırmak için pushd ve popd yerleşikleri kullanılmalıdır. Bu değişkene atama yapılarak o anki dizin değiştirilemez. DIRSTACK kaldırılırsa, hemen ardından sıfırlansa bile kendine özgü niteliklerini kaybeder.
EMACS
Kabuk t değeriyle başlarken Bash ortamda bu değişkeni bulursa kabuğun bir emacs kabuk tamponunda çalıştığını varsayar ve satır düzenlemeyi kapatır.
EUID
O anki kullanıcının etkin kullanıcı kimliğinin numarası. Salt-okunurdur.
FCEDIT
fc yerleşik komutunun -e seçeneği tarafından öntanımlı olarak kullanılan metin düzenleyici.
FIGNORE
Dosyaismi tamamlaması uygulanırken yoksayılacak soneklerin : ayraçlı listesi. Soneki FIGNORE içindeki girdilerden biri ile eşleşen bir dosya, eşleşen dosya isimleri listesinden çıkarılır. Bir örnek değer: .o:~.
FUNCNAME
O an çalışan kabuk işlevinin ismi. O anki çalıştırma çağrı yığıtındaki tüm kabuk işlevlerinin isimlerini içeren bir dizi değişkeni. 0 indisli eleman o an çalışmakta olan kabuk işlevinin ismidir. En alttaki eleman ise "main" işlevidir. Bu değişken sadece bir kabuk işlevi çalışırken vardır. FUNCNAME'e yapılan değer atamaları etkisizdir ve bir hata durumu döner. FUNCNAME, unset komutu ile kaldırılırsa, ardından tekrar atansa bile, sahip olduğu özel nitelikleri kaybeder.
GLOBIGNORE
Dosyaismi yorumlaması tarafından yoksayılan dosyaisimleri kümesini tanımlayan kalıpların : ayraçlı listesi. Bir dosya ismi, hem bir dosyaismi yorumlama kalıbı ile hem de GLOBIGNORE içindeki kalıplardan biri ile eşleşiyorsa, eşleşenler listesinden kaldırılır.
GROUPS
O anki kullanıcının üyesi olduğu grupların listesini tutan bir dizi değişkeni. Değişkene yapılan atamalar etkisizdir ve bir hata durumu döner. GROUPS, unset komutu ile kaldırılırsa, ardından tekrar atansa bile, sahip olduğu özel nitelikleri kaybeder.
histchars
Geçmiş yorumlaması, hızlı ikame ve sembolleştirmeyi kontrol eden en çok üç karakter. İlk karakter geçmiş yorumlamasının başlatılmasını sağlayan geçmiş yorumlama karakteridir ve normalde ! işaretidir. İkinci karakter, bir satırdaki ilk karakter olduğunda `hızlı ikame'yi imleyen karakterdir ve normalde ^ işaretidir. İstemlik olan üçüncü karakter ise, bir sözcüğün ilk karakteri olarak bulunduğunda satırın kalanının açıklama olmasını sağlayan karakterdir ve normalde # işaretidir. Kabuk çözümleyicisinin satırın kalanını bir açıklama sayması için bu karakterin burada atanması gerekli değildir.
HISTCMD
O anki komutun geçmiş numarası ya da geçmiş listesindeki indisi. HISTCMD, unset komutu ile kaldırılırsa, ardından tekrar atansa bile, sahip olduğu özel nitelikleri kaybeder.
HISTCONTROL
Geçmiş listesinde kayıtlı kaç komutun olduğunu denetleyen değerlerin : ayraçlı listesi. Eğer değer listesi ignorespace içeriyorsa bir boşluk karakteri ile başlayan satırlar geçmiş listesine kaydedilmez. Bir ignoredups değeri varsa önceki geçmiş girdisi ile aynı olan satırlar kaydedilmez. Bir ignoreboth değeri ignorespace ve ignoredups için kısaltmadır. Bir erasedups değeri o anki satırla aynı olan tüm önceki satırlar satır kaydedilmeden önce geçmiş listesinden silinmesine sebep olur. Buraya kadar bahsedilenler dışında bir değer yoksayılır. HISTCONTROL eğişkeni unset ile ortamdan kaldırılırsa ya da geçerli bir değer içermiyorsa kabuk çözümleyici tarafından okunan HISTIGNORE değerine konu tüm satırlar geçmiş listesine kaydedilir. Bir çok-satırlı birleşik komutun ikinci ve sonraki satırları denetlenmez ve HISTCONTROL değişkeninin değerine bakılmaksızın geçmişe eklenir. Değişken kaldırılırsa ya da bu üçünden farklı bir değer atanırsa bütün satırlar geçmiş listesine eklenir.
HISTFILE
Komut geçmişinin kaydedildiği dosyanın ismi. Öntanımlı değeri ~/.bash_history'dir.
HISTFILESIZE
Geçmiş dosyasındaki satırların azami sayısı. Bu değişkene bir değer atandığında geçmiş dosyasında bu değerden fazla satırlar varsa silinir. Etkileşimli bir kabuk çıkarken kabuğun geçmiş listesi dosyaya yazıldıktan sonra bu değerden fazla olan satırları silinir. Öntanımlı değeri 500'dür.
HISTIGNORE
Geçmiş listesine hangi satırların kaydedilmesi gerektiğine karar vermek için kullanılan kalıpların : ayraçlı listesi. Her kalıp bu listenin başına yerleştirilir ve kalıp satırın tamamı ile uyumlu olmalıdır. Her kalıp, HISTIGNORE tarafından belirtilen denetimler uygulandıktan sonra satırda test edilir. Normal kabuk kalıp eşleştirme karakterine ek olarak & önceki geçmiş satırını ifade eder. & bir tersbölü ile öncelenebilir; bir eşleştirme öncesi bu tersbölü kaldırılır. Bir çok-satırlı birleşik komutun ikinci ve sonraki satırları denetlenmez ve HISTIGNORE değişkeninin değerine bakılmaksızın geçmişe eklenir.
HISTIGNORE, HISTCONTROL'ün işlevselliğini de altında toplar. Bir & kalıbı ignoredups'a eşdeğerken, bir [ ]* kalıbı ignorespace'e eşdeğerdir. Bu iki kalıp bir : ile birleştirilerek ignoreboth'un işlevselliği de sağlanır.
HISTSIZE
Geçmiş listesinde hatırlanan komutların azami sayısı. Öntanımlı değeri 500'dür.
HISTTIMEFORMAT
Bu değişken ortamda mevcutsa ve boş değerli değilse değeri history yerleşiği tarafından gösterilen her geçmiş girdisi ile ilişkili zaman damgasını basacak strftime için bir biçim dizgesi olarak kullanılır. Bu değişken tanımlıysa zaman damgaları geçmiş dosyasına yazılır böylece kabuk oturumlarına karşı korunabilirler.
HOSTFILE
Kabuk bir konak isminin tamamlamaya çalıştığında okuması gereken /etc/hosts ile aynı biçemdeki bir dosyanın ismini içerir. Olası konak ismi tamamlamaları kabuk çalışırken değişebilir; değer değiştikten sonra yapılan bir başka konak ismi tamamlamasında, Bash yeni dosyanın içeriğini mevcut listeye ekler. HOSTFILE değer verilmeden atanmışsa, Bash olası konak ismi tamamlamalarının listesini /etc/hosts dosyasından okumaya çalışır. HOSTFILE kaldırılırsa konak ismi listesi temizlenir.
HOSTNAME
O anki konak ismi.
HOSTTYPE
Bash'in üzerinde çalıştığı makinayı tanımlayan bir dizge.
IGNOREEOF
Tek girdi olarak EOF karakteri alındığında kabuğun eylemini kontrol eder. Atandığında değeri, kabuk çıkmadan önce bir girdi satırındaki ilk karakter olarak okunabilen ardışık EOF karakterlerinin sayısını gösterir. Değişken bir sayısal olmayan değere sahipse ya da boşsa öntanımlı değer 10 dur. Eğer değişken mevcut değilse, EOF kabukta girdi sonunu belirtir. Bu sadece etkileşimli kabuklarda etkilidir.
INPUTRC
Readline ilklendirme dosyasının ismi. Dosyanın öntanımlı değeri, ~/.inputrc'dir.
LANG
LC_ ile başlayan bir değişkenle özellikle seçilmemiş bir bir kategori için yerel kategoriyi saptamakta kullanılır.
LC_ALL
Bu değişken bir yerel kategori belirten LC_ ile başlayan değişkenler ile LANG değişkeninin değeri yerine kendi değerini geçerli yapar.
LC_COLLATE
Bu değişken dosyaismi yorumlamasının sonuçlarını sıralamada, aralık ifadelerinin davranışlarını saptamada, denklik sınıflarında, dosyaismi yorumlaması ve kalıp eşleştirme içindeki alfabetik dizilimlerde harf sıralamasını saptamakta kullanılır.
LC_CTYPE
Bu değişken dosyaismi yorumlaması ve kalıp eşleştirme içindeki karakter sınıflarının davranışını ve karakterlerin yorumlanmasını belirler.
LC_MESSAGES
Bu değişken $ ile öncelenmiş çift tırnak içindeki dizgelerin çevirilerinin kullanıldığı yereli belirler (Yerele Özel Çeviri bölümüne bakınız).
LC_NUMERIC
Bu değişken numara biçemlemesi için kullanılan yerel kategoriyi belirler.
LINENO
O an çalışmakta olan kabuk işlevi ya da betik içindeki satırın numarasıdır.
LINES
select yerleşiği tarafından seçim listelerini basarken sütun uzunluğunu saptamakta kullanılır. Bir SIGWINCH sinyali alındığında otomatik olarak atanır.
MACHTYPE
Bash'in üzerinde çalıştığı sistem türünü açıklayan standart GNU işlemci-firma-sistem biçeminde bir dizgedir.
MAILCHECK
Kabuğun posta için MAILPATH veya MAIL değişkenlerinde belirtilen dosyaları ne sıklıkta (saniye cinsinden) kontrol edeceğini belirler. Öntanımlı 60 saniyedir. Postanın kontrol zamanı geldiğinde kabuk komut istemini göstermeden önce bunu yapar. Bu değişken kaldırılırsa ya da değeri sıfırdan büyük ya da eşit olmayan bir sayı olarak atanırsa kabuk posta denetimini iptal eder.
OLDPWD
cd yerleşiği tarafından atanan önceki dizin.
OPTERR
1 değeri atandığında Bash, getopts yerleşik komutu tarafından üretilen hata iletilerini gösterir.
OSTYPE
Bash'in üzerinde çalıştığı işletim sistemini açıklayan bir dizge.
PIPESTATUS
Önalan boruhattında en-son-çalışan süreçlerin çıkış durumu değerlerinin bir listesini içeren bir dizi değişkeni.
POSIXLY_CORRECT
Bash başlatılırken bu değişken ortamda ise, başlatma dosyalarını okumadan önce, --posix çağrı seçeneği verilmişçesine, kabuk POSIX kipine girer. Eğer kabuk çalışırken atanırsa,
set -o posix
komutu çalıştırılmışçasına POSIX kipi etkinleştirilir.
PPID
Kabuğu çağıran kabuğun süreç kimliği. Bu salt-okunur bir değişkendir.
PROMPT_COMMAND
Atanmışsa, değeri her birincil komut isteminden ($PS1) önce çalıştırılacak komut olarak yorumlanır. Daha ayrıntılı bilgi için Komut İsteminin Kontrol Edilmesi bölümüne bakınız.
PS3
Bu değişkenin değeri select komutu için istem olarak kullanılır. Bu değişken atanmamışsa, select komutu #? ile istemde bulunur.
PS4
Değişkenin değeri, set yerleşiğinin -x seçeneği ile etkinleştirilen yansılamalı komut satırından önce basılan istemdir. PS4'ün ilk karakteri, adreslemenin çoklu seviyelerini belirtecek şekilde gerektikçe defalarca kopyalanır. Öntanımlı değeri 'tur.
PWD
cd yerleşiği ile geçilen dizin.
RANDOM
Bu parametre her zaman 0 ile 32767 arasında üretilmiş bir rasgele tamsayıdır. Bu değişkene bir değer atanması rasgele sayı üretecini tohumlar[110].
REPLY
read yerleşiği için öntanımlı değişken.
SECONDS
Bu değişken kabuk başlatıldığından beri kaç saniye geçtiğini gösterir. Bu değişkene bir değer atanması sayacı bu değere ayarlar ve yorumlanan değer, atanan değer artı atamadan itibaren geçen saniyelerdir.
SHELL
Kabuğa tam dosya yolu bu ortam değişkeninde tutulur. Kabuk başlatıldığında bu değişken tanımlı değilse Bash değer olarak o anki kullanıcının giriş kabuğunun tam dosyayolunu atar.
SHELLOPTS
Etkin kabuk seçeneklerinin : ayraçlı listesidir. Listedeki her sözcük set yerleşiğinin -o seçeneğinin geçerli bir argümanıdır. SHELLOPTS içinde görünen seçenekler set -o komutunun çıktısında on olarak raporlanır. Bash başlatıldığında, bu değişken ortamda ise listedeki her kabuk seçeneği başlatma dosyaları okunmadan önce ekinleştirilir. Bu salt-okunur bir değişkendir.
SHLVL
Bash'in her yeni kopyası başlatıldığında değeri 1 artar. Bu değer, Bash kabuklarınızın ne kadar derinlikte iç içe olduğunu gösteren bir sayaç olarak düşünülmüştür.
TIMEFORMAT
Bu parametrenin değeri time anahtar sözcüğü ile başlayan boruhatları için zamanlama bigisinin nasıl belirtileceğini gösteren bir biçem dizgesi olarak kullanılır. % karakteri bir zaman değeri veya başka bir bilgi olarak yorumlanan bir önceleme dizgesi girer. Önceleme dizgelerinin anlamları aşağıda açıklanmıştır; köşeli parantezler istemlik kısımları gösterir.
%%
% sabiti.
%[p][l]R
Saniye cinsinden geçen zaman.
%[p][l]U
Kullanıcı kipinde harcanan saniye cinsinden işlemci zamanı.
%[p][l]S
Sistem kipinde harcanan saniye cinsinden işlemci zamanı.
%P
(%U + %S) / %R olarak hesaplanan işlemci yüzdesi.
İstemlik bir p ondalık hanelerin sayısını belirten bir rakamdır. 0 değeri ile bir ondalık nokta gösterilmez ya da çıktı bir kesir olur. Ondalık noktadan itibaren en çok üç hane belirtilebilir. Üçten büyük değerler üç olarak değiştirilir. p belirtilmezse 3 değeri kullanılır.
İstemlik l dakikaları da içererek daha uzun biçemde, ddmss.kk biçiminde gösterir. p'nin değeri kesir (kk) kısmının olup olmayacağını belirler.
Bu değişken atanmamışsa, Bash aşağıdaki değerin varlığını kabul eder.
    $'\nreal\t%3lR\nuser\t%3lU\nsys\t%3lS'
Değer boşsa, zamanlama bilgisi gösterilmez. Biçem dizgesi gösterilirken sonuna bir satırsonu eklenir.
TMOUT
Sıfırdan büyük bir değer atanmışsa TMOUT, read yerleşiği için öntanımlı zamanaşımı olarak ele alınır. Girdi bir uçbirimden beklendiğinde TMOUT saniye sonra girdi hala görünmemişse select komutu sonlanır.
Kabuk etkileşimliyse, atanan değer birincil komut istemi gösterildikten sonra girdi için beklenecek saniye sayısı olarak yorumlanır. Belirtilen süre bitimine dek bir girdi olmazsa Bash sonlanır.
TMPDIR
Tanımlıysa değeri Bash tarafından kabuğun kullanımı için Bash'in oluşturduğu geçici dosyaları içerecek dizinin ismi olarak kullanılır.
UID
O anki kullanıcının sayısal gerçek kullanıcı kimliği. Bu salt-okunur bir değişkendir.


[110] Ç.N.: Tohum (seed) yeni rasgele sayıların üretilmesi için kaynaklık edecek bir sayı olarak düşünülebilir. Aynı tohumlar hep aynı sayıları üretir.
Önceki Üst Ana Başlık Sonraki
Bourne Kabuğu Değişkenleri Başlangıç VI. Oylum - Bash'in Özellikleri
Bir Linux Kitaplığı Sayfası