Provided by: manpages-tr_2.0.6-2_all bug

İSİM

       dash - komut yorumlayıcı (kabuk)

KULLANIM

       dash [-aCefnuvxIimqVEb] [+aCefnuvxIimqVEb] [-o SEÇENEK_ADI] [+o SEÇENEK_ADI]
            [KOMUT_DOSYASI [KOMUT_GİRDİSİ...]]
       dash -c [-aCefnuvxIimqVEb] [+aCefnuvxIimqVEb] [-o SEÇENEK_ADI] [+o SEÇENEK_ADI]
            KOMUT_DİZGESİ [KOMUT_ADI [KOMUT_GİRDİSİ...]]
       dash -s [-aCefnuvxIimqVEb] [+aCefnuvxIimqVEb] [-o SEÇENEK_ADI] [+o SEÇENEK_ADI] [GİRDİ...]

AÇIKLAMA

       dash sistem için standart komut yorumlayıcısıdır. dash’in mevcut sürümü, kabuk için POSIX
       1003.2 ve 1003.2a belirtimlerine uyacak şekilde değiştirilme sürecindedir. Bu sürüm, bazı
       açılardan Korn kabuğunun benzeri gibi görünmesini sağlayan birçok özelliğe sahiptir, ancak
       bu bir Korn kabuğu türevi değildir (bkz. ksh(1)). Bu kabuğa yalnızca POSIX tarafından
       tasarlanmış özellikler artı birkaç Berkeley genişletmesi dahil edilmiştir. Bu kılavuz
       sayfası, bir öğretici veya kabuğun tam bir belirtimi olarak tasarlanmamıştır.

   Giriş
       Kabuk, bir dosyadan veya uçbirimden satırları okuyan, yorumlayan ve genellikle diğer
       komutları yürüten bir komuttur. Bir kullanıcı sisteme oturum açtığında çalışan uygulamadır
       (kullanıcı chsh(1) komutu ile farklı bir kabuk seçebilmesine rağmen). Kabuk, akış denetim
       oluşumlarına sahip bir dilin, yerleşik geçmiş ve satır düzenleme yeteneklerinin yanı sıra
       veri depolamaya ek olarak çeşitli özellikler sağlayan makroların gerçeklenimidir.
       Etkileşimli kullanıma yardımcı olacak pek çok özelliği bünyesinde barındırır ve
       yorumlayıcı dilin hem etkileşimli hem de etkileşimsiz kullanımının (kabuk betikleri)
       sağladığı getirilere sahiptir. Yani, komutlar doğrudan çalışan kabuğa yazılabilir veya bir
       dosyaya konulabilir ve dosya doğrudan kabuk tarafından yürütülebilir.

   Kullanım
       Hiçbir komut girdisi yoksa ve kabuğun standart girdisi bir uçbirime bağlıysa (veya -i
       seçeneği belirtilmişse) ve -c seçeneği belirtilmemişse, kabuğun etkileşimli olduğu
       varsayılır. Etkileşimli bir kabuk genellikle her komuttan önce bir komut istemi açarak
       yazılım ve komut hatalarını farklı şekilde ele alır (aşağıda açıklandığı gibi). İlk
       başlatıldığında, kabuk 0’ıncı girdiyi inceler, girdi tire ’-’ ile başlıyorsa, kabuk bir
       oturum açma kabuğu olarak kabul edilir. Bu normalde kullanıcı ilk kez oturum açtığında
       sistem tarafından otomatik olarak yapılır. Bir oturum açma kabuğu önce /etc/profile ve
       varsa .profile dosyalarında bulunan komutları okur. Bir etkileşimli kabuk girdisi ENV
       ortam değişkenine atanır ve ENV oturum açma kabuğunun .profile dosyasına kaydedilirse,
       kabuk daha sonra komutları ENV içindeki dosyadan okur. Bu nedenle, bir kullanıcının
       .profile dosyasına yalnızca oturum açma sırasında yürütülecek komutları ve ENV içindeki
       dosyaya da her etkileşimli kabuk için yürütülecek komutları yerleştirmesi gerekir. ENV
       değişkenine bir dosya atamak için, aşağıdaki satır kullanıcının ev dizinindeki .profile
       dosyasına yerleştirilebilir:

           ENV=$HOME/.shinit; export ENV

       Burada, “.shinit” yerine uygun herhangi bir dosya adı kullanılabilir.

       Seçeneklerin yanı sıra başka komut satırı girdileri de belirtilmişse, kabuk ilk girdiyi
       komutların okunacağı dosyanın adı (bir kabuk betiği) olarak kabul eder ve geri kalan
       girdiler kabuğun konumsal değişkenleri ($1, $2, vb.) olarak ayarlanır. Aksi takdirde
       kabuk, komutları standart girdisinden okur.

   Girdi Listesinin İşlenmesi
       Aşağıdaki tek harfli seçeneklerin yanlarında belirtilen uzun seçenek adlarını -o seçeneği
       ile belirtmek zorunluyken, kısa seçenekler tek başlarına belirtilebilir.

       Seçeneğin önüne eklenen kısa çizgi "-" seçeneği etkin kılar, artı "+" ise seçeneği devre
       dışı bırakır. Bu mantıksız gibi görünse de seçenek kullanım uzlaşımları bakımından en
       uygunu budur. Aşağıdaki seçenekler komut satırından veya set yerleşiğiyle (daha sonra
       açıklanacaktır) kullanılabilir.

       -a, allexport
           Belirtilen tüm değişkenler dışa aktarılır.

       -c  Komutlar, standart girdi yerine KOMUT_DİZGESİ teriminden okunur. Konumsal
           değişkenlerin ilki KOMUT_ADI teriminden diğerleri ($1, $2, vb.) kalan girdilerden
           (KOMUT_GİRDİSİ) elde edilir.

       -C, noclobber
           “>” ile dosyaların üzerine yazmaktan korur. Öntanımlı olarak “>” ile dosyaların
           üzerine yazılır (clobber).

       -e, errexit
           Kabuk, etkileşimli değilse "denenmemiş" bir komutun çıkış durumu başarısız ise hemen
           çıkar. Bir komutun "denenmiş" kabul edilebilmesi için if, elif, while, until
           deyimlerinde veya “&&” ve “||” işleçlerinde sol taraf terimi olarak kullanılmış olması
           gerekir.

       -f, noglob
           Dosya Yolu Genişletmesi (Dosya Adı Üretimi) iptal edilir.

       -n, noexec
           Kabuk, etkileşimli değilse komutları okur ama yürütmez. Kabuk betiklerinde sözdizimi
           denetimi için yararlıdır.

       -u, nounset
           Değer atanmamış bir değişkeni genişletmeye çalışırken hatayı standart hataya çıktılar
           ve kabuk etkileşimli değilse hemen çıkar.

       -v, verbose
           Kabuk, girdisini okundukça standart hataya yazar. Hata ayıklama için kullanışlıdır.

       -x, xtrace
           Yürütmeden önce her komutu standart hataya (’+’ ile önceleyerek) yazar. Hata ayıklama
           için kullanışlıdır.

       -I, ignoreeof
           Kabuk, etkileşimli olduğunda girdisinden gelen dosya sonu karakterlerini (EOF) yok
           sayar.

       -i, interactive
           Kabuk etkileşimli olur.

       -l  dash oturum açma kabuğu olarak davranır.

       -m, monitor
           İş denetimini açar (kabuk etkileşimli olduğunda öntanımlı olarak açılır).

       -s, stdin
           Komutları standart girdiden okur (girdi olarak hiç dosya belirtilmemişse öntanımlı
           olarak etkindir). Bu seçeneğin, kabuk çalışmaya başladıktan sonra (örneğin, set ile)
           belirtilmesinin hiçbir etkisi yoktur.

       -V, vi
           Yerleşik vi(1) komut satırı düzenleyicisi etkinleştirilir (-E, emacs etkinse devre
           dışı bırakılır).

       -E, emacs
           Yerleşik emacs(1) komut satırı düzenleyicisi etkinleştirilir (-V, vi etkinse devre
           dışı bırakılır).

       -b, notify
           Artalanda iş tamamlanma uyarısı eşzamansız olur (4.4alfa sürümünde gerçeklenmemişti).

   Sözdizimsel Yapı
       Kabuk, girdiyi dosyadan satır satır okuyup boşluklara (boşluklar ve sekmelere) göre
       sözcüklere ve "işleç" adı verilen özel karakter dizilimlerine böler. İki tür işleç vardır:
       denetim işleçleri ve yönlendirme işleçleri (anlamları daha sonra açıklanacaktır).

       Denetim işleçleri:
               & && ( ) ; ;; | || <satırsonu>

       Yönlendirme işleçleri
               < > >| << >> <& >& <<- <>

   Tırnaklama
       Tırnaklama, işleçler, boşluk veya anahtar sözcükler gibi belirli karakterlerin veya
       sözcüklerin kabuğa özgü anlamlarını kaldırmak için kullanılır. Üç tırnaklama yöntemi
       vardır: eşleşen tek tırnaklar, eşleşen çift tırnaklar ve ters eğik çizgi.

       Ters Eğik Çizgi
           Ters eğik çizgi, satır sonu karakteri dışında önündeki karakterin gerçek anlamını
           korumasını sağlar. Ters eğik çizgi öncelemeli satır sonu karakteri, satırın alt
           satırda süreceği anlamına gelir.

       Tek Tırnak
           Karakterlerin tek tırnak içine alınması, tüm karakterlerin gerçek anlamlarını
           korumasını sağlar (tek tırnaklar hariç; tek tırnaklı bir dizgeye, tek tırnaklı
           sarmalama uygulanamaz).

       Çift Tırnak
           Karakterlerin çift tırnak içine alınması, dolar imi ($), ters tırnak (’) ve ters eğik
           çizgi (\) dışındaki tüm karakterlerin gerçek anlamlarını korumasını sağlar. Çift
           tırnak içindeki ters eğik çizgi, tarihsel olarak tuhaftır ve yalnızca aşağıdaki
           karakterleri öncelemeye yarar:

               $ ’ " \ <satırsonu>.

           Bunların dışında kalan herşey aslını korur.

   Anahtar Sözcükler
       Anahtar sözcükler, kabuk için özel anlamı olan, bir satırın başında ve bir denetim
       işlecinden sonra kullanıldığında tanınan sözcüklerdir. Anahtar sözcükler şunlardır:

           !       elif    fi      while   case
           else    for     then    {       }
           do      done    until   if      esac

       Bunların anlamları daha sonra açıklanacaktır.

   Takma Adlar
       Takma ad, alias yerleşik komutu kullanılarak atanan bir ad ile ona karşılık gelen değerden
       oluşur. Bir anahtar sözcüğe her rastlanışta (yukarıya bakın), bu sözcükler denetimden
       geçtikten sonra, kabuk bir takma adla eşleşip eşleşmediğini görmek için sözcüğü bir
       denetimden daha geçirir. Girdi akımında varsa, değeriyle değiştirir. Örneğin, "ls -F"
       değerine sahip "lf" adlı bir takma ad varsa,

           lf foobar ⟨return⟩

       komut satırı girdisi şu hale gelir:

           ls -F foobar ⟨return⟩

       Takma adlar, yeni kullanıcıların komutların kullanılışını hatırlamak zorunda kalmadan
       komutları kullanabilmeleri için kısayollar oluşturmalarını sağlar. Sözdizimsel olarak
       hatırlanması/söylenmesi zor bir kodlama oluşturmak için de kullanılabilir. Ancak bu
       kullanım önerilmez.

   Komutlar
       Kabuk, okuduğu sözcükleri, belirtimi bu kılavuz sayfasının kapsamı dışında kalan bir dile
       göre yorumlar (POSIX 1003.2 belgesindeki BNF’ye bakın). Temel olarak, bir satır okunur ve
       satırın başındaki (veya bir denetim işlecinden sonraki) ilk sözcük bir anahtar sözcük
       değilse, kabuk bunu basit bir komut olarak ele alır. Aksi takdirde, karmaşık bir komut
       veya başka bir özel oluşum olarak ele alınır.

       Basit Komutlar
           Ele alınan basit bir komutsa kabuk şunları yapar:

            1. Baştaki "ad=değer" biçimindeki sözcükler ayıklanır ve bunlar basit komutun ortam
               değişkenleri olarak ele alınır. Yönlendirme işleçleri ve bunların terimleri
               (aşağıda açıklandığı gibi) ayıklanır ve işlenmek üzere kaydedilir.

            2. Kalan sözcükler Genişletmeler bölümünde anlatıldığı gibi genişletilir ve ilk kalan
               sözcük komut adı olarak ele alınır ve komut elde edilir. Kalan sözcükler, komut
               girdileri olarak ele alınır. Sonuçta hiçbir komut adı yoksa, kabuk dahili olarak
               1. maddedeki "ad=değer" ortam değişkeni atamalarından etkilenir.

            3. Yönlendirmeler sonraki bölümde açıklanan sıraya göre uygulanır.

   Yönlendirmeler
       Yönlendirmeler, bir komutun girdisini okuduğu veya çıktısını gönderdiği yeri değiştirmek
       için kullanılır. Genel olarak, yönlendirmeler bir dosyaya yönelik varolan bir başvuruyu
       açar, kapatır veya yineler. Yönlendirme için kullanılan genel biçim şöyledir:

           [n] yönlendirme-işleci dosya

       Burada yönlendirme-işleci evvelce bahsedilen işleçlerden biridir. Olası yönlendirmeler
       aşağıda listelenmiştir. n bir dosya tanıtıcısı olup 0 ila 9 arasında olabilir ve
       belirtilmesi isteğe bağlıdır.

           [n]> dosya  Standart çıktıyı (veya n’yi) dosya’ya yönlendirir.
           [n]>| dosya Aynı, fakat -C seçeneğini geçersiz kılar.
           [n]>> dosya Standart çıktıyı (veya n’yi) dosya’ya ekler.
           [n]< dosya  dosya’yı standart girdiye (veya n’ye) yönlendirir.
           [n1]<&n2    n2 dosya tanıtıcısının bir kopyasını standart girdiye (veya n1’e)
                       yönlendirir.
           [n]<&-      Standart girdiyi (veya n’yi) kapatır.
           [n1]>&n2    Standart çıktıyı (veya n1’i) n2’nin bir kopyası olacak şekilde
                       yönlendirir.
           [n]>&-      Standart çıktıyı (veya n’yi) kapatır.
           [n]<> dosya dosya’yı standart girdi (veya n) üzerinde oku-yaz olarak açar.

       "Belge-burada" yönlendirmesi:

           [n]<< sınırlayıcı
                belge-burada-metni ...
           sınırlayıcı

       sınırlayıcı’ya kadar ardışık satırlardaki tüm metinler kaydedilir ve standart girdideki
       komut veya belirtilmişse dosya tanıtıcısı n için kullanılabilir hale getirilir.
       sınırlayıcı ilk satırda belirtildiği gibi kodlanırsa, belge-burada-metni genişletmeler
       uygulanmadan birebir ele alınır, aksi takdirde metne ifade genişletmesi, komut ikamesi ve
       aritmetik ifade genişletmesi uygulanır (Genişletmeler bölümünde açıklandığı gibi). İşleç
       "<<" yerine "<<-" ise, belge-burada-metninin başındaki sekmeler kaldırılır.

   Arama ve Yürütme
       Üç tür komut vardır: kabuk işlevleri, yerleşik komutlar ve normal uygulamalar -- ve komut
       (ada göre) bu sırayla aranır. Her biri farklı bir şekilde yürütülür.

       Bir kabuk işlevi yürütüldüğünde, tüm konumsal değişkenler (değişmeden kalan $0 hariç)
       kabuk işlevinin girdileri haline gelir. Açıkça komutun ortamına yerleştirilen değişkenler
       (işlev adından önce bunlara atamalar yapılarak) değerleri ile birlikte işlevin yerel
       değişkenleri haline gelir. Daha sonra işlev tanımında verilen komut yürütülür. Konumsal
       değişkenlere, komut tamamlandığında ilk değerleri geri atanır. Bunların hepsi aynı kabuk
       içinde gerçekleşir.

       Kabuk yerleşikleri, yeni bir süreç oluşturmadan dahili olarak kabukta yürütülür.

       Komut adı bir işlev veya yerleşikle eşleşmiyorsa, komut dosya sisteminde normal bir
       uygulama olarak aranır (sonraki bölümde açıklandığı gibi). Normal bir uygulama
       yürütüldüğünde, kabuk girdileri ve ortam değişkenleri uygulamaya aktarılarak uygulama
       yürütülür. Uygulama normal bir yürütülebilir dosya değilse (yani, ASCII gösterimi "#!"
       olan "sihirli numara" ile başlamıyorsa, dolayısıyla execve(2) çağrısı ENOEXEC
       döndürüyorsa) kabuk uygulamayı bir alt kabukta yorumlayacaktır. Alt kabuk bu durumda
       kendisini yeniden ilklendirecek ve böylece etki, bu özel kabuk betiğini yürütmek için yeni
       bir kabuk çağrılmış gibi olacaktır, ancak ana kabukta bulunan komutların konumu alt kabuk
       tarafından hatırlanacaktır.

   Dosya Yolu Araması
       Bir komutun yeri tespit edilirken, kabuk önce bu isimde bir kabuk işlevi olup olmadığına
       bakar. Sonra aynı isimde yerleşik bir komut arar. Yerleşik bir komut da bulunamazsa iki
       durumdan biri gerçekleşir:

        1. Eğik çizgi içeren komut adları, herhangi bir arama yapılmadan yürütülür.

        2. Kabuk, sırayla PATH içindeki her dizinde komutu arar. PATH değişkeninin değeri, iki
           nokta üst üste ile ayrılmış bir dizi girdiden oluşmalıdır. Her girdi bir dizin adı
           içerir. Geçerli dizin, örtük olarak boş bir dizin adıyla veya doğrudan tek bir
           noktayla belirtilebilir.

   Komut Çıkış Durumu
       Her komutun, diğer kabuk komutlarının davranışını etkileyebilecek bir çıkış durumu vardır.
       Genel olarak, bir komutun normal veya başarı göstergesi olarak sıfırla, başarısızlık, hata
       veya olumsuzluk göstergesi olarak sıfırdan farklı bir değerle çıkması gerekir. Her komutun
       kılavuz sayfasında, çeşitli çıkış kodları ve bunların ne anlama geldiği belirtilmelidir.
       Ek olarak yerleşik komutlar da, yürütülen kabuk işlevlerinde olduğu gibi çıkış kodları
       döndürür.

       Bir komut tamamen değişken atamalarından oluşuyorsa, komutun çıkış durumu, varsa son komut
       ikamesinin çıkış durumudur, aksi takdirde 0’dır.

   Karmaşık Komutlar
       Karmaşık komutlar, birlikte daha büyük bir karmaşık komut oluşturan denetim işleçleri veya
       anahtar sözcüklerle basit komutların birleşimleridir. Daha genel olarak, bir komut
       aşağıdakilerden biridir:

        •  basit komut
        •  ardışık komutlar
        •  liste veya bileşik liste
        •  bileşik komut
        •  işlev tanımı

       Aksi belirtilmedikçe, bir komutun çıkış durumu, komut tarafından yürütülen son basit
       komutun çıkış durumudur.

   Ardışık Komutlar
       Ardışık komut, | denetim işleciyle ayrılmış bir veya daha fazla komuttan oluşan bir
       dizilimdir. Son komut hariç tümünün standart çıktısı, bir sonraki komutun standart
       girdisine bağlanır. Son komutun standart çıktısı, normal olarak kabuktan alınır.

       Ardışık komut sözdizimi:

           [!] komut1 [| komut2 ...]

       komut1’in standart çıktısı, komut2’nin standart girdisine bağlanır. Bir komutun standart
       girdisi, standart çıktısı veya her ikisinin, komutun parçası olan yönlendirme işleçleri
       ile belirtilen herhangi bir yönlendirmeden önce ardışık düzen tarafından atandığı
       varsayılır.

       Ardışık komutlar artalanda yürütülmüyorsa (daha sonra açıklanacak), kabuk tüm komutların
       tamamlanmasını bekleyecektir.

       Eğer ardışık komut ! anahtar sözcüğü ile başlamıyorsa, ardışık komutun çıkış durumu
       yürütülen son komutun çıkış durumudur. Aksi takdirde, çıkış durumu, son komutun çıkış
       durumunun mantıksal DEĞİL’idir. Yani, son komut 0 döndürürse, çıkış durumu 1’dir; son
       komut sıfırdan büyük bir değerle dönerse, çıkış durumu 0’dır.

       Standart girdinin veya standart çıktının veya her ikisinin ardışık komut ataması
       yönlendirmeden önce gerçekleştiğinden, yalnızca yönlendirme ile değiştirilebilir. Örneğin,

           $ komut1 2<&1 | komut2

       ardışık komutu, komut1’in hem standart çıktısını hem de standart hatasını komut2’nin
       standart girdisine gönderir.

       Ardışık komut, VE-VEYA listesinin (aşağıda açıklanmıştır) basit halidir. Satır sonu
       karakteri, başka bir işleç olmadığında ; ile eşdeğerdir. Sonlandırıcı olarak ; veya
       satırsonu karakteri, önceki ardışık komutun veya daha genel olarak, önceki VE-VEYA
       listesinin sırayla yürütülmesine sebep olur; yani, kabuk komutları yürütür ama sonraki
       komutlara geçmeden önce bunların tamamlanmasını bekler. Sonlandırıcı olarak &, önceki VE-
       VEYA listesinin eşzamansız (artanda) yürütülmesine neden olur (aşağıdaki bir sonraki
       paragrafa bakın). Eşzamansız bir VE-VEYA listesinin çıkış durumu sıfırdır. Tamamlandıktan
       sonra komutların gerçek çıkış durumu, yerleşik wait komutu kullanılarak elde edilebilir.

       Diğer bazı kabuklardan farklı olarak, ardışık komuttaki her sürecin çağrıldığı kabuğun alt
       kabuğunda yürütüldüğüne dikkat edilmelidir (bir kabuk yerleşiği olmadığı sürece; bu
       durumda alt kabuk açılmaz, geçerli kabukta yürütülür -- ancak ortam değişkenleri
       üzerindeki tüm etkiler silinir).

   Artalan Komutları -- &
       Bir komut "ve (&) denetim işleci" tarafından sonlandırılırsa, kabuk komutu eşzamansız
       olarak (artalanda) yürütür -- yani, kabuk bir sonraki komutu yürütmeden önce, komutun
       tamamlanmasını beklemez.

       Bir komutun artalanda yürütülmesini sağlayan sözdizimi:

           komut1 & [komut2 & ...]

       Kabuk etkileşimli değilse, eşzamansız komutun (artalan komutunun) standart girdisi
       /dev/null olur.

   Listeler (genel olarak)
       Liste, satırsonu karakteri, noktalı virgül veya & ile ayrılan ve isteğe bağlı olarak bu üç
       karakterden biri ile sonlandırılan bir veya daha fazla komuttan oluşan bir dizilimdir.
       Etkileşimli bir kabuğa verilen komutları içeren her kabuk uygulaması bir listedir. Böyle
       bir listedeki her komut, tamamen ayrıştırıldıktan sonra yürütülür.

       Listedeki komutlar yazıldıkları sıraya göre yürütülür. Komutun ardından bir & işleci
       geliyorsa, kabuk komutu başlatır ve hemen bir sonraki komuta geçer; aksi halde bir
       sonrakine geçmeden önce komutun sonlanmasını bekler.

   VE-VEYA Listeleri (Kısa Liste İşleçleri)&&” ve “||” VE-VEYA listesi işleçleridir. “&&” ve “||” işleçlerinin öncelikleri aynıdır
       ve soldan ilişkilendirmelidir, yani bu işleçler soldan sağa değerlendirilir.

       &&” yalnızca ilk komutun çıkış durumu sıfırsa ikinci komutun yürütülmesini sağlar. “||”
       işleci de buna benzer, farklı olarak ikinci komutun yürütülebilmesi için birincinin çıkış
       durumu sıfırdan farklı olmak zorundadır.

   Akış Denetim Deyimleri -- if, while, for, case
       Bu deyimler aslında bileşik komutlardır. if deyiminin sözdizimi:

           if liste
           then liste
           [ elif liste
           then   liste ] ...
           [ else liste ]
           fi

       İlk listenin çıkış durumu sıfır ise, ardından gelen liste yürütülür. Aksi takdirde, elif
       varsa sonraki liste yürütülür ve işlem tekrarlanır. elif ve beraberindeki liste
       belirtilmemişse ama else belirtilmişse sonraki liste yürütülür.

       while deyiminin sözdizimi:

           while  liste
           do     liste
           done

       İlk listenin çıkış durumu sıfırdan farklı oluncaya dek iki liste yinelenir. while deyimini
       yerini until deyimi aldığında ise ilk listenin çıkış durumu sıfır oluncaya dek iki liste
       yinelenir.

       for deyiminin sözdizimi:

           for değişken [ in [ sözcük ... ] ]
           do  liste
           done

       in deyimindeki sözcükler genişletilir ve liste, değer olarak her defasında bir sözcük
       atanan değişkenle yürütülür. in sözcük ... ile "$@" eşdeğerdir. Değişkenden sonra in
       olduğu halde hiçbir sözcük belirtilmemişse liste yürütülmez ve çıkış durumu sıfır olur.

       break and continue deyiminin sözdizimi:

           break [ sayı ]
           continue [ sayı ]

       break içteki sayıncı for veya while döngüsünde döngüden çıkılmasını sağlar. continue ise
       içteki sayıncı döngüden devam edilmesini sağlar. Bunlar yerleşik komut olarak
       gerçeklenmiştir.

       case deyiminin sözdizimi:

           case sözcük in
           [(]kalıp [| kalıp]) [liste] ;;
           ...
           esac

       kalıp, “|” karakteri ayraç olarak kullanıldığında bir veya daha fazla sayıda kalıp
       içerebilir (Bkz: Kabuk Kalıpları). kalıptan önceki “(” karakterinin kullanımı isteğe
       bağlıdır.

       sözcük genişletilir ve ilkinden sonuncusuna kadar sırayla her kalıp ile eşleştirilir ve
       her kalıp eşleştirme denenmeden hemen önce genişletilir. Bir eşleşme bulunduğunda, kalıp
       karşılaştırmaları durur ve varsa ilişkili liste değerlendirilir. ;; ile sonlanan bir liste
       yürütüldüğünde veya esac değerine ulaşıldığında, case ifadesinin yürütülmesi tamamlanır.
       Çıkış durumu, varsa değerlendirilen son listenin yürütülen son komutunun durumudur, yoksa
       sıfırdır.

   Komutların Gruplanması
       Komutlar,

           (liste)

       sözdizimi ile veya

           { liste; }

       sözdizimi ile gruplanabilir. Yaylı ayraçlar işleç olup ayrıntılı bir sözdizimi
       gerektirmezken kaşlı ayraçlar anahtar sözcüktür, bu nedenle listeden birer boşluk ile
       ayrılmaları gerekir. İlki, komutları bir alt kabukta yürütür. (liste) halinde gruplanan
       yerleşik komutlar, geçerli kabuğu etkilemez. İkincisi başka bir kabuğu çatallamaz, bu
       nedenle daha verimlidir. Komutları bu şekilde gruplamak, çıktılarının tek bir uygulama
       gibi yönlendirilmesine olanak tanır:

           { printf " hello " ; printf " world\n" ; } > greeting

       Kaşlı ayracın bir komut girdisi olarak değil, anahtar sözcük olarak tanınması için denetim
       işlecinin (burada ";") kaşlı ayraçtan önce gelmesi gerektiğine dikkat edilmelidir.

   İşlevler
       İşlev tanımının sözdizimi:

           isim () komut

       İşlev tanımı yürütülebilir bir ifadedir; yürütüldüğünde, isim adlı işlevi yükler ve sıfır
       çıkış durumu döndürür. komut normalde "{" ve "}" arasına alınmış bir listedir.

       Değişkenler, local deyimi kullanılarak işleve yerel olarak bildirilebilir. Bu, işlevin ilk
       ifadesi olarak görünmelidir ve sözdizimi şu şekildedir:

           local [değişken | -] ...

       local yerleşik komut olarak gerçeklenmiştir.

       Bir değişken yerel yapılırsa, başlangıç değerini devralır ve varsa aynı etki alanında aynı
       adlı değişkenden dışa aktarılabilir ve salt okunur olarak işaretlenebilir. Aksi takdirde,
       değişkene başlangıçta değer atanmamış olur. Kabuk etki alanını dinamik olarak belirler,
       böylece g işlevini çağıran x değişkenini f işlevi için yerel yaparsanız, g içinde x
       değişkenine yapılan atıflar, x küresel değişkenine değil, f içinde bildirilen x
       değişkenine atıfta bulunur.

       Yerel yapılabilecek tek özel değişken “-” dir. “-” yerel yapılırsa, işlev dönüş
       yaptığında, işlev içinde set yerleşiği üzerinden değiştirilen kabuk değişkenlerine özgün
       değerleri geri atanır.

       return deyiminin sözdizimi:

           return [çıkışdurumu]

       return deyimi işlevin yürütmesini durdurur. return yerleşik komut olarak gerçeklenmiştir.

   Değişkenler
       Kabuk bir takım değişkenler içerir. Başlangıçta, kabuk tüm ortam değişkenlerini kabuk
       değişkenlerine dönüştürür. Yeni bir değişken şöyle atanabilir:

           isim=değer

       Kullanıcı tarafından tanımlanan değişkenler, yalnızca harfler, rakamlar ve alt çizgilerden
       oluşan bir ada sahip olmalı, bir rakam ile başlamamalıdır. Kabuk değişkenlerinin adları
       ise aşağıda açıklanacağı üzere yalnızca rakamlardan (konumsal değişkenler) veya yalnızca
       tek bir özel karakterden (özel değişkenler) oluşabilir:

       Konumsal Değişkenler
           Konumsal değişkenlerin isimleri, yalnızca sıfırdan büyük tamsayılardan oluşur. Kabuk
           bunlara, kabuk betiğinin adından sonra gelen komut satırı girdilerinin değerlerini
           atar. Bunları atamak veya sıfırlamak için set yerleşiği de kullanılabilir.

       Özel Değişkenler
           Özel değişkenler, değerleri kabuk tarafından atanan ancak isimleri tek bir özel
           karakterden oluşan değişkenlerdir. Bu değişkenlerin değerlerine diğer kabuk
           değişkenleri gibi başlarına $ işleci getirilerek ulaşılır. Özel değişkenler ve
           aldıkları değerler:

           0 (Sıfır)
               Kabuğun veya kabuk betiğinin adına genişletilir.

           *   1’den itibaren konumsal değişkenlere genişletilir. Genişletme çift tırnaklı bir
               dizge içinde gerçekleştiğinde her değişkenin değeri, IFS değişkeninin ilk
               karakteriyle veya IFS atanmamışsa bir boşluk ile ayrılmış tek bir alana
               genişletilir.

           @   1’den itibaren konumsal değişkenlere genişletilen bir dizidir. Genişletme çift
               tırnak içinde gerçekleştiğinde, her bir konumsal değişken ayrı bir elemana
               genişler. Konumsal değişken yoksa, @ çift tırnaklı olsa bile @ genişletmesi sıfır
               eleman üretir. Bunun anlamı, temel olarak, örneğin, $1 "abc" ve $2 "def ghi" ise,
               "$@" iki elemana genişleyecektir:

                   "abc" "def ghi"

           #   Konumsal değişken sayısına genişletilir.

           ?   Ardışık komutlardan son yürütülen komutun çıkış durumuna genişletilir.

           - (tire)
               Çağrı sırasında set yerleşiği veya dolaylı olarak kabuk tarafından belirlenen
               geçerli seçenek adlarına (tek harfli seçenek adları tek bir dizge halinde
               birleştirilir) genişler.

           $   Çağıran kabuğun süreç kimliğine genişler. Bir alt kabuk, ebeveyninin $ değerini
               korur.

           !   Geçerli kabuk tarafından artalanda en son yürütülen komutun süreç kimliğine
               genişler. Ardışık komutlarda ise, ardışık komutlardan yürütülen sonuncu komutun
               süreç kimliğidir.

   Genişletmeler
       Genişletmeler, sözcükler üzerinde gerçekleştirilen çeşitli genişletmeleri içerir. Daha
       sonra açıklanacağı gibi, her sözcüğe tüm genişletmeler uygulanmaz.

       Tek bir sözcük içinde uygulanan Ev Dizini olarak Yaklaşık Genişletmesi, İfade Genişletme,
       Komut İkamesi, Aritmetik İfade Genişletmesi ve Tırnak kaldırma işlemleri tek bir alana
       genişler. Yalnızca Boşluk Ayıklama (Alanlara Ayırma), tek bir sözcükten birden fazla alan
       oluşturabilir. Bu kuralın tek istisnası, yukarıda açıklandığı gibi çift tırnak içinde @
       özel değişkeninin genişletilmesidir.

       Genişletmeler şu sırayla uygulanır:

        1. Ev Dizini olarak Yaklaşık Genişletmesi, İfade Genişletme, Komut İkamesi, Aritmetik
           İfade Genişletmesi (Tamamı bir kerede uygulanır).

        2. Boşluk Ayıklama (Alanlara Ayırma), IFS değişkeni boş değilse step(1) tarafından
           üretilen alanlara uygulanır.

        3. Dosya Yolu Genişletmesi (Dosya Adı Üretimi) (set -f etkin değilse).

        4. Tırnak kaldırma.

       $ karakteri ile başlayan herşeye İfade Genişletme, Komut İkamesi veya Aritmetik İfade
       Genişletmesi uygulanır.

       Ev Dizini olarak Yaklaşık Genişletmesi
           Tırnaksız yaklaşık imi (~) ile başlayan sözcüklere, yaklaşık genişletmesi uygulanır.
           Eğik çizgiye (/) veya sözcüğün sonuna kadar olan tüm karakterler kullanıcı adı olarak
           ele alınır ve kullanıcının ev dizini ile değiştirilir. Kullanıcı adı yoksa
           (~/foobar’daki gibi), yaklaşık imi HOME değişkeninin değeri (mevcut kullanıcının ev
           dizini) ile değiştirilir.

       İfade Genişletme
           İfade genişletme biçemi:

               ${ifade}

           Burada, "}" ile eşleşene kadar tüm karakterler ifadeyi oluşturur. "}" eşleşmesi
           belirlenirken, ters eğik çizgi ile öncelenmiş ve tırnak içine alınmış dizgelerin
           içinde olanlar ile Aritmetik İfade Genişletmesi, Komut İkamesi ve değişken
           genişletmesine konu olanlar dikkate alınmaz.

           Değişkeni genişletmesinin en basit biçemi:

               ${değişken}

           değişkenin değeri varsa, değer genişletilir.

           Birden fazla rakam içeren Konumsal Değişkenler ile ardından adın parçası olarak
           yorumlanabilecek bir karakter gelen Özel Değişkenler hariç, değişken adı, isteğe bağlı
           olarak kaşlı ayraçlarla sarmalanabilir. Çift tırnakla sarmalanma durumunda:

            1. Genişletmenin sonuçlarına Dosya Yolu Genişletmesi (Dosya Adı Üretimi) uygulanmaz.

            2. @ haricinde, genişletme sonuçlarında Boşluk Ayıklama (Alanlara Ayırma) yapılmaz.

           Ek olarak, aşağıdaki biçemlerden biri kullanılarak değişken genişletmesinde değişiklik
           yapılabilir:

           ${değişken:-sözcük}
               Öntanımlı değerler kullanılır. değişken atanmamışsa veya null atanmışsa sözcük
               genişletmesi kullanılır, aksi takdirde değişken değeri kullanılır.

           ${değişken:=sözcük}
               Öntanımlı değerler atanır. değişken atanmamışsa veya null atanmışsa, değişken’e
               değer olarak sözcük genişletmesi atanır. Her durumda, değişken’in son değeri
               kullanılır. Konumsal değişkenler ve özel değişkenler bu yolla atanamaz yalnızca
               diğer değişkenler bu yolla atanabilir.

           ${değişken:?[sözcük]}
               değişken atanmamışsa veya null atanmışsa bir hata var demektir. değişken
               atanmamışsa veya null atanmışsa sözcük genişletmesi (veya sözcük belirtilmemişse,
               atanmamış olduğunu belirten bir ileti) standart hataya yazılır ve kabuk sıfırdan
               farklı bir çıkış durumu ile çıkar. Bununla birlikte, kabuk etkileşimli ise çıkması
               gerekmez. Aksi takdirde, değişken değeri kullanılır.

           ${değişken:+sözcük}
               Diğer değer kullanılır. değişken atanmamışsa veya null atanmışsa, null kullanılır.
               Aksi takdirde, sözcük genişletmesi kullanılır.

           Yukarıdaki değişken genişletme biçemlerinde iki nokta üst üste iminin yokluğunda,
           sınama yalnızca atanmamış değişkene uygulanır, null atanmış değişkene uygulanmaz.

           ${#değişken}
               Dizge uzunluğu. değişken değerinin karakter sayısı.

           Aşağıdaki dört değişken genişlemesi alt dizge işlemleri içindir. Kalıpların
           değerlendirilmesinde, her durumda, düzenli ifade sözdizimi yerine kalıp eşleme
           sözdizimi kullanılır (Bkz: Kabuk Kalıpları). değişken adı * veya @ ise genişletme
           sonucu belirlenmemiştir. Değişken genişletme dizgesinin tamamının çift tırnaklarla
           sarmalanması aşağıdaki dört kalıp karakteri çeşidinin tırnaklanmasına sebep olmaz,
           oysa kaşlı ayraçlar içinde tırnaklama bu etkiye sebep olur.

           ${değişken%sözcük}
               En küçük sonek kalıbını kaldırır. sözcük bir kalıp üretecek şekide genişletilir.
               Daha sonra değişken genişletmesi, sonekin kalıpla eşleşen en küçük kısmının
               silinmesiyle sonuçlanır.

           ${değişken%%sözcük}
               En geniş sonek kalıbını kaldırır. sözcük bir kalıp üretecek şekide genişletilir.
               Daha sonra değişken genişletmesi, sonekin kalıpla eşleşen en geniş kısmının
               silinmesiyle sonuçlanır.

           ${değişken#sözcük}
               En küçük önek kalıbını kaldırır. sözcük bir kalıp üretecek şekide genişletilir.
               Daha sonra değişken genişletmesi, önekin kalıpla eşleşen en küçük kısmının
               silinmesiyle sonuçlanır.

           ${değişken##sözcük}
               En geniş önek kalıbını kaldırır. sözcük bir kalıp üretecek şekide genişletilir.
               Daha sonra değişken genişletmesi, önekin kalıpla eşleşen en geniş kısmının
               silinmesiyle sonuçlanır.

       Komut İkamesi
           Komut ikamesi, bir komutun çıktısının, komut adı olarak kullanılmasını sağlar. Komut
           ikamesi, komut aşağıdaki gibi

               $(komut)

           sarmalandığında veya

               komut

           biçeminde ters tek tırnaklarla sarmalandığında gerçekleşir.

           Kabuk, bir alt kabuk ortamında komutu yürüterek ve komut ikamesini komutun standart
           çıktısıyla değiştirerek, ikamenin sonundan bir veya daha fazla satır sonu karakterini
           kaldırarak komut ikamesini genişletir. (Çıktının bitiminden önceki gömülü satırsonu
           karakterleri kaldırılmaz; ancak, alan ayırma sırasında bunlar, IFS’nin değerine ve
           etkin olan tırnaklamaya bağlı olarak boşluklara dönüştürülebilir.)

       Aritmetik İfade Genişletmesi
           Aritmetik ifade genişletmesi, bir aritmetik ifadeyi değerlendirmek ve yerine değerini
           koymak için bir mekanizma sağlar. Aritmetik ifade genişletmesinin biçemi:

               $((ifade))

           İfade, çift tırnak içindeymiş gibi ele alınır, ancak ifade içindeki çift tırnak özel
           olarak ele alınmaz. Kabuk, değişken genişletmesi, Komut İkamesi ve Tırnak kaldırma
           için ifadedeki tüm öğeleri genişletir.

           Daha sonra, kabuk bunu aritmetik bir ifade olarak ele alır ve yerine ifadenin değerini
           koyar.

       Boşluk Ayıklama (Alanlara Ayırma)
           Kabuk, değişken genişletmesi, Komut İkamesi ve Aritmetik İfade Genişletmesi sonra,
           alanlarına ayırmak için çift tırnak içinde olmayan genişletme ve ikame sonuçlarını
           tarar.

           Kabuk IFS değişkenindeki her karakteri bir ayraç olarak ele alır. Bunları değişken
           genişletmesi ve komut ikamesinin sonuçlarını alanlara ayırmak için kullanır.

       Dosya Yolu Genişletmesi (Dosya Adı Üretimi)
           Alanlara ayırmanın tamamlanmasından sonra -f seçeneği verilmemişse dosya adı üretimine
           geçilir. Her sözcük, eğik çizgilerle ayrılmış bir dizi kalıp olarak görünür.
           Genişletme işleminde, mevcut dosyaların adları, her kalıp kendisiyle eşleşen bir dizge
           ile değiştirilerek elde edilir. Bununla ilgili iki sınırlama vardır:

            •  Bir kalıp eğik çizgi içeren bir dizge ile eşleşemez.
            •  Bir kalıp, kalıbın ilk karakteri bir nokta olmadıkça nokta ile başlayan bir dizge
            ile eşleşemez.

           Sonraki bölümde, hem dosya yolu genişletmesinde hem de case komutunda kullanılan
           kalıplar açıklanmaktadır.

       Kabuk Kalıpları
           Bir kalıp, özel kalıp karakterleri ve kendileri ile eşleşen normal karakterlerden
           oluşur. Özel kalıp karakterleri: “!”, “*”, “?” ve “[”. Bunların normal karakterler
           olarak davranması istenirse tırnak içine alınmalıdırlar. Komut ikamesi veya değişken
           genişletmesi yapıldıktan sonra çift tırnak içindeki dolar imi veya ters tırnak imleri
           hariç, değişkenin değeri veya komut çıktısı dolar imi veya ters tırnak imleri için
           taranır ve bunlar özel kalıp karakterlerine dönüştürülür.

           Yıldız imi (“*”) herhangi bir karakter dizisiyle eşleşir. Soru imi herhangi bir tek
           karakterle eşleşir. Sol köşeli ayraç (“[”) bir karakter sınıfını tanıtır. Karakter
           sınıfının sonu bir (“]” ile gösterilir); "]" eksikse "[", bir karakter sınıfı sunmak
           yerine kendisi ile eşleşir. Bir karakter sınıfı, köşeli parantezler arasındaki
           herhangi bir karakterle eşleşir. Tire imi kullanılarak bir karakter aralığı
           belirtilebilir. Karakter sınıfının ilk karakterinden önceki ünlem işareti, karakter
           sınıfının dışında kalan karakterlerle eşleşme sağlar.

           Bir karakter sınıfının “]” içermesi için listelenen ilk karakter olmalıdır (varsa “!”
           iminden sonra). Tire imini içermesi için listelenen ilk veya son karakter olmalıdır.

       Tırnak kaldırma
           Yorumlamalar uygulandıktan sonra, yukarıdaki yorumlamaların sonucu olmayan ve tırnak
           içine alınmamış tüm ters eğik çizgi (\), tek tırnak (’) ve çift tırnak (")
           karakterleri kaldırılır.

   Yerleşikler
       Bu bölümde, ayrı bir süreç tarafından gerçekleştirilemeyen bazı işlemleri
       gerçekleştirmeleri gerektiği için yerleşik olan yerleşik komutlar açıklanmıştır. Ayrıca,
       yerleşik olarak daha verimli olabilecek birkaç başka komut da bunlara eklenmiştir (printf,
       echo, test, vb gibi).

       :
       true
           Çıkış durumu olarak 0 (true) döndürmekten başka hiçbir şey yapmaz.

       . dosya
           Belirtilen dosyadaki komutlar okunur ve kabuk tarafından yürütülür.

       alias [isim[=dizge ...]]
           isim=dizge belirtilmişse kabuk, takma adı değer dizgesiyle birlikte tanımlar. Yalnızca
           isim belirtilmişse takma adın değeri basılır. Girdisiz kullanım, tanımlanmış tüm takma
           adların isim ve değerlerinin listelenmesini sağlar. Ayrıca bkz: unalias.

       bg [görev] ...
           Belirtilen görev (belirtilmemişse geçerli görev) çalışmasını artalanda sürdürür.

       command [-p] [-v] [-V] komut [komut-girdisi ...]
           Belirtilen komut aynı addaki kabuk işlevi yok sayılarak yürütülür. Yerleşik komutla
           aynı adda bir kabuk işlevi de varsa bu yerleşik yararlı olur.

           -p  komut tüm standart ugulamaları bulmayı garanti eden PATH ortam değişkeni
               kullanılarak aranır.

           -V  komutu yürütmek yerine type yerleşiğinin yaptığı gibi, komut aramasının
               sonuçlarını gösterir.

           -v  komutu yürütmek yerine komut için arama yapar ve uygulamaları, yerleşik komut
               adlarını ve takma ad genişletmelerini mutlak dosya yolları ile gösterir.

       cd -
       cd [-LP] [dizin]
           Belirtilen dizine (belirtilmemişse HOME dizinine) geçer. CDPATH değişkeni cd komutunun
           ortamında görünür durumdaysa veya CDPATH kabuk değişkeni, eğik çizgi ile başlamayan
           bir dosya yolu ile tanımlanmışsa, belirtilen dizin CDPATH dizinlerinde aranır. CDPATH
           değerinin biçemi PATH ile aynıdır. dizin olarak tek bir tire belirtilmişse OLDPWD
           ortam değişkeninin değeri kullanılır. cd komutu belirtilen dizinden farklı bir dizine
           geçiş yapmışsa dizin adını gösterir. Bu genellikle, dizin olarak tek bir eğik çizgi
           belirtilmesi veya CDPATH değerinin kullanılması durumunda ortaya çıkar. -P seçeneği
           fiziksel dizin yapısının kullanılmasına sebep olur, yani tüm sembolik bağlar
           değerlerine çözümlenir. -L seçeneği önüne getirildiği -P seçeneğini etkisiz kılar.

       echo [-n] dizge...
           Belirtilen dizgeleri aralarında boşluk bırakarak standart çıktıya basar. -n seçeneği
           belirtilmezse dizgelerden sonra satır sonu karakteri çıktılanır.

           Aşağıdaki dizgeciklerin varlığında (çift tırnakların içinde belirtildikleri takdirde),
           dizgecik çıktılanmaz, dizgecikle ilgili eylem gerçekleştirilir :

           \b  Ters eğik çizgi karakteri çıktılanır.

           \c  Ardından gelen çıktıyı baskılar. Genelde, son dizgenin sonunda belirtilerek satır
               sonu karakterinin basılması önlenir.

           \f  Sayfa ileri karakterini çıktılar.

           \n  Satır sonu (yeni satır) karakterini çıktılar (daktilodaki şaryoyu döndürüp satırın
               başına götürme işlemini uçbirimde yapar).

           \r  Satır başı karakterini çıktılar (imleci satırın başına gönderir). Örnek:

                   $ echo "12\r3"
                   32

           \t  Yatay sekme karakterini çıktılar.

           \v  Düşey sekme karakterini çıktılar (imleci bulunduğu sütunda düşeyde ilerletir).
               Örnek:

                   $ echo "başlık açıklama\n" "\rbaşlık\v" "açıklama"
                   başlık açıklama
                   başlık
                          açıklama

           \0NNN
               NNN sekizlik tabanda en fazla 3 rakam içerebilir. Belirtilmişse sekizlik ASCII NNN
               karakterini belirtilmemişse 0ıncı karakteri (Boş karakter de dediğimiz, meşhur
               "null" karakterini) basar. Hiçbir çıktı vermez.)

           \\  Ters eğik çizgi çıktılar.

           Diğer tüm ters eğik çizgi dizgecikleri, tanımsız davranışı ortaya çıkarır.

       eval dizge ...
           Belirtilen tüm dizgeleri aralarına boşluk yerleştirerek birleştirir. Genişletmeleri
           uyguladıktan sonra komutu yürütür.

       exec [komut komut-girdisi ...]
           Bir kabuk komutu veya işlev olmamak koşuluyla gerçek bir komut belirtildiğinde komut,
           süreci kabuktan devralır. komut-girdisi içinde belirtilen yönlendirmeler kalıcı olur,
           yani exec yerleşiğinin işi bittiğinde yönlendirmeler geri alınmaz.

       exit [çıkışdurumu]
           Kabuk oturumunu sonlandırır. çıkışdurumu belirtilmişse kabuğun çıkış durumu olarak
           kullanılır, aksi takdirde önceki komutun çıkış durumu kullanılır.

       export isim ...
       export -p
           Belirtilen isimler dışa aktarılarak sonraki komutların ortam değişkenleri olması
           sağlanır. Bir değişkenin dışa aktarılmaması için tek yol, onu unset ile atanmamış
           yapmaktır. Kabuk bir değişkenin değerini dışa aktarırken de atayabilir:

               export name=value

           export komutu hiçbir girdi belirtilmeksizin kullanıldığında dışa aktarılmış tüm ortam
           değişkenlerini listeler. -p seçeneği belirtildiğinde çıktı, etkileşimli olmayan
           kullanım için uygun şekilde biçimlendirilir.

       fc [-e düzenleyici] [ilk [son]]
       fc -l [-nr] [ilk [son]]
       fc -s [eski=yeni] [ilk]
           fc yerleşiği etkileşimli kabuğa evvelce girilmiş (komut geçmişindeki) komutları
           listeler, düzenler veya yeniden çalıştırır.

           -e düzenleyici
               Komutları düzenlemek için belirtilen düzenleyici kullanılır. düzenleyici dizgesi
               bir komut adı olup PATH ortam değişkeninde belirtilen yollar üzerinde olmalıdır.
               Seçenek belirtilmezse öntanımlı olarak FCEDIT ortam değişkeninde belirtilen
               düzenleyici kullanılır. FCEDIT tanımlı değilse veya boş değer içeriyorsa EDITOR
               ortam değişkeninin değeri kullanılır. EDITOR de tanımlı değilse veya boş değer
               içeriyorsa düzenleyici olarak ed(1) kullanılır.

           -l  Komutları düzenlemek için bir düzenleyici çağırmak yerine komutları listeler.
               Komutlar öntanımlı olarak ilk ve son ile belirtilen sırayla gösterilir. -r
               belirtilmişse sıralama tersine olur. Her komuttan önce komut geçmişindeki sıra
               numarası basılır.

           -n  -l seçeneği ile komutlar listelenirken sıra numaraları gösterilmez.

           -r  Komutlar listelenirken (-l ile) veya düzenlenirken ( -l veya -s olmaksızın)
               sıralama sondan ilke doğru olur.

           -s  Bir düzenleyici çağırmaksızın komut yeniden çalıştırılır.

           ilk
           son Listelenecek ve düzenlenecek komutları seçmek için kullanılır. Komut geçmişinde
               saklanabilecek komut sayısı HISTSIZE ortam değişkeninde tutulur. ilk ve son
               değerleri şunlardan biri olmalıdır:

               [+]sayı
                   sayı komut geçmişinde komutun sıra numarasını belirten pozitif bir tamsayı
                   olmalıdır. Komutların numaralarına -l seçeneği ile erişilebilir.

               -sayı
                   -sayı komut geçmişinde komutun sıra numarasını belirten negatif bir tamsayı
                   olmalıdır. Komutların numaralarına -l seçeneği ile erişilebilir. -1
                   çalıştırılan son komuttur.

           dizge
               Aranan komutun komut geçmişindeki son kullanımına komutun ilk birkaç karakteri
               dizge olarak belirtilerek erişilebilir. -s seçeneği eski=yeni terimiyle birlikte
               kullanılmışsa eski dizgesi eşit imini içermemelidir.

           fc komutunun önemsediği ortam değişkenleri:

           FCEDIT
               Kullanılacak düzenleyicinin adı.

           HISTSIZE
               Komut geçmişinde tutulabilecek en fazla komut sayısı.

       fg [görev]
           Belirtilen görev veya geçerli olan önalana alınır.

       getopts seçenekler değişken
           POSIX getopts yerleşik komutu Bell Labs getopt(1) türevi ile karıştırılmamalıdır.

           seçenekler, seçeneğin bir girdi gerektirdiğini belirtmek için isteğe bağlı olarak her
           birinin ardından iki nokta üst üste gelebilen bir dizi harf olmalıdır. Ayıklanan her
           seçenek değişkene atanır.

           getopts yerleşik komutu, boşluk içeren girdileri işlemesi nedeniyle kullanımı
           önerilmeyen eski getopt(1) yardımcı komutunun yerini alır.

           getopts yerleşiği, bir komutun girdi listesinden seçenekleri ve seçenek girdilerini
           ayıklamak için kullanılabilir. getopts çağrıldığında, seçenekler dizgesinde belirtilen
           seçeneklerden komut satırında belirtileni değişkene ve seçenek sayısı OPTINDe,
           girdisini OPTARG kabuk değişkenine yerleştirir. Kabuk çağrıldığında, OPTIND 1 ile
           ilklendirilir. Bir girdi gerektiren her seçenek için, girdi OPTARG kabuk değişkenine
           yerleştirilir. Girdisiz seçenekler için OPTARG tanımsızdır.

           seçenekler seçenek harflerinden (bkz. getopt(3) oluşan bir dizgedir. Bir harfin
           ardından iki nokta üst üste geliyorsa, seçeneğin kendisinden boşlukla ayrılabilen veya
           kendine bitişik bir girdisi var demektir. Komut satırında belirtilmiş bir seçenek
           seçenekler arasında yoksa, değişkene “?” atanır, OPTARG tanımsız olur ve çıktı
           standart hataya yazılır. seçenekler dizgesinin ilk karakteri iki nokta üst üste ise,
           tüm hatalar yok sayılır.

           Son seçeneğin ardından değişkene “?” atanır ve getopts sıfırdan farklı bir değerle
           çıkar.

           Aşağıdaki örnekte seçenek olarak [a] ve [b] karakterleri ile girdisi olabilen [c]
           karakterini kabul eden bir betiğin komut satırını nasıl değerlendirileceği
           gösterilmiştir.

               while getopts abc: f
               do
                       case $f in
                       a | b)  secenek=$f;;
                       c)      terim=$OPTARG;;
                       \?)     echo $USAGE; exit 1;;
                       esac
               done
               shift ’expr $OPTIND - 1’
               echo "Seçenek olmayan girdiler: " "$@"

           Bu kodun kabul ettiği komut şunlardan biri olabilir:

               betikadı -acterim dosya dosya
               betikadı -a -c terim dosya dosya
               betikadı -cterim -a dosya dosya
               betikadı -a -cterim -- dosya dosya

       hash -rv komut ...
           Hatırlanan komutların yerlerini bir tablo olarak gösterir. Girdisiz kullanıldığında bu
           tablonun içeriği gösterilir. Son cd komutundan beri bakılmamış girdiler yıldız imi ile
           imlenir, bu girdilerin geçersiz olması mümkündür.

           Girdi belirterek kullanıldığında, belirtilen komutlar (işlev değilse) ve tablodan
           kaldırılır ve konumları saptanır. -v seçeneği ile hash komutların konumlarını bulduğu
           gibi gösterir. -r seçeneği, işlevler dışındaki tüm öğelerin tablodan silinmesine neden
           olur.

       pwd [-LP]
           Her seferinde yeniden hesaplamak yerine geçerli dizinin ne olduğunu hatırlar. Bu
           işleri hızlandırır. Ancak, geçerli dizinin adı değişirse, pwd dizinin eski adını
           göstermeye devam edecektir. -P seçeneği ile tüm sembolik bağlar hedeflerine
           çözümlenir. -L seçeneği, önceki tüm -P seçeneklerini etkisiz kılar.

       read [-p istem] [-r] değişken [...]
           -p seçeneği belirtilirse ve standart girdi bir uçbirim ise istem gösterilir. Daha
           sonra standart girdiden bir satır okunur. Satır sonu karakteri, satırdan silinir ve
           satır, yukarıdaki Boşluk Ayıklama (Alanlara Ayırma) bölümünde açıklandığı gibi bölünür
           ve parçalar sırayla değişkenlere atanır. En az bir değişken belirtilmelidir. Parça
           sayısı belirtilen değişkenlerden fazlaysa, kalan parçalar (aralarındaki IFS
           karakterleri ile birlikte) son değişkene atanır. Parçalardan daha fazla değişken
           varsa, kalan değişkenlere boş dizge atanır. read yerleşiği, girdide dosya sonu
           karakteri ile karşılaşılmadığı sürece başarılı olur, aksi takdirde başarısız olur.

           Öntanımlı olarak, -r seçeneği belirtilmedikçe, ters eğik çizgi "\" bir önceleme
           karakteri gibi davranarak sonraki karakterin kendisi olarak ele alınmasını sağlar.
           Satır sonu karakterinden önce bir ters eğik çizgi varsa bu ikisi silinir.

       readonly isim ...
       readonly -p
           Belirtilen isimler, sonradan değiştirilememeleri veya atanamamaları için salt okunur
           olarak imlenir.

               readonly isim=değer

           sözdizimi, salt okunur olarak imlerken aynı zamanda isim ile belirtilen değişkene
           değer atanabilmesini de sağlar.

           Komut girdisiz kullanıldığında, tüm salt okunur değişkenlerin adlarını listeler. -p
           seçeneği ile çıktı, etkileşimli olmayan kullanım için uygun şekilde biçemlendirilir.

       printf biçem [girdi ...]
           printf, biçem ile belirtilen biçeme göre girdileri biçemleyip gösterir. biçem üç tür
           nesne içeren bir dizgedir:

            •  Basitçe standart çıktıya kopyalanan karakterler
            •  Dönüştürülüp standart çıktıya kopyalanan ters eğik çizgi öncelemeli karakterler
            •  girdileri biçemleyen biçem belirteçleri

           Belirteçler b, c veya s ise, girdiler dizge olarak ele alınır; aksi takdirde,
           aşağıdaki genişletmelerle bir C sabiti olarak değerlendirilir:

            •  Baştaki artı veya eksi imine izin verilir.
            •  Öndeki karakter tek veya çift tırnak ise, değer sonraki karakterin ASCII kodudur.

           biçem dizgesi, girdiler üzerinde gerektiğinde tekrar tekrar kullanılabilir. Herhangi
           bir ek biçem belirtimi, sıfır veya boş dizge ile değerlendirilir.

           Ters eğik çizgi öncelemeli karakterler, ANSI X3.159-1989’da (“ANSI C89”) tanımlanan
           gösterime uygun olmalıdır. Karakterler ve anlamları:

           \a  <zil> çalar.

           \b  <geri-silme> karakteri basar.

           \f  <sayfa-ileri> karakteri basar.

           \n  <satır-sonu> karakteri basar.

           \r  <satır-başı> karakteri basar.

           \t  <sekme> karakteri basar.

           \v  <düşey-sekme> karakteri basar.

           \\  Ters eğik çizgi basar.

           \NNN
               ASCII değeri, sekizlik tabanda 1, 2 veya 3 rakamdan oluşan karakteri basar.

           Her biçem belirtimi, yüzde imiyle ("%") başlar. Biçem belirtiminin geri kalanı
           aşağıdaki sırayla şunları içerir:

           Aşağıdakilerden sıfır veya daha fazlası:
               #   Belirtilen alanda çıktının sola yanaştırılacağını belirten eksi imi ’-’;
                   Değerin "başka bir biçimde" yazdırılması gerektiğini belirten bir "#"
                   karakteri. b, c, d ve s biçemleri için bu seçeneğin hiçbir etkisi yoktur. o
                   biçemi için, çıktı dizgesinin ilk karakterini sıfıra zorlamak için sayının
                   hassasiyeti artırılır. x (X) biçemi için, sıfır olmayan bir sonucun başına 0x
                   (0X) dizgesi eklenir. e, E, f, g ve G biçemleri için, noktayı takip eden
                   basamak olmasa bile sonuç her zaman bir ondalık nokta içerir (normalde, bu
                   biçemlerin sonuçlarında ondalık nokta yalnızca noktayı bir basamak takip
                   ediyorsa görünür). Normalde sonuçtan kaldırılan sağdaki sıfırlar g ve G
                   biçemleri için kaldırılmaz.

               -   Belirtilen alanda çıktının sola yanaştırılacağını belirten eksi imi.

               +   İmli biçimler kullanılırken her zaman sayının önüne bir im konulması
                   gerektiğini belirten artı imi.

                 İmli biçim için pozitif bir sayıdan önce bir boşluk bırakılması gerektiğini
                   belirten boşluk karakteri. "+" imi de belirtilmişse boşluk geçersiz olur.

               0   Dolgu karakteri olarak boşluk yerine "0" kullanılması gerektiğini belirten
                   sıfır karakteri. "-" imi de belirtilmişse "0" geçersiz olur.

           Alan Genişliği:
               Alan genişliğini belirten isteğe bağlı rakam dizgesi; çıktı dizgesi alan
               genişliğinden daha az karakter içeriyorsa, alan genişliğini oluşturmak için solda
               (veya sola yanaştırma imi varsa sağda) boşluk bırakılır (baştaki sıfırın belirteç,
               aradaki sıfırların, alan genişliğinin parçası olduğu unutulmamalıdır).

           Hassasiyet:
               İsteğe bağlı nokta, ’.’, ardından e ve f biçemleri için ondalık noktadan sonra
               görünecek basamak sayısını veya bir dizgeden yazdırılacak azami bayt sayısını
               belirten isteğe bağlı sayısal bir dizge (b ve s biçemleri) hassasiyeti belirler.
               Sayısal dizge yoksa hassasiyetin sıfır olduğu varsayılır.

           Biçem:
               Kullanılacak biçemin türünü gösteren bir karakter (diouxXfwEgGbcs harflerinden
               biri).

               Alan genişliği veya hassasiyet için sayısal dizge yerine ‘*’ belirtilebilir. Bu
               durumda, alan genişliğini veya hassasiyeti bir girdi belirler. Biçem karakterleri
               ve anlamları:

               diouXx
                   girdi, sırasıyla, işaretli onluk (d veya i), işaretsiz sekizlik (o), işaretsiz
                   onluk (u) veya işaretsiz onaltılık (X veya x) tabanda basılır.

               f   girdi, [-]ddd.ddd biçeminde basılır; burada ondalık noktadan sonraki d’lerin
                   sayısı, hassasiyet belirtimindeki basamak sayısıdır. Hassasiyet
                   belirtilmemişse 6 basamak öntanımlıdır; hassasiyet açıkça 0 ise, ondalık nokta
                   ve sağındaki basamaklar basılmaz.

               eE  girdi, [-]d.ddde±dd biçeminde basılır; burada ondalık noktadan önce bir
                   basamak vardır ve sonraki basamak sayısı hassasiyet belirtimindeki basamak
                   sayısıdır. Hassasiyet belirtilmemişse 6 basamak öntanımlıdır. ’E’ biçemi için
                   büyük E harfi kullanılır.

               gG  girdi, f ve e (E) biçemlerinden tam hassasiyeti en küçük alanda sağlayan biçem
                   kullanılarak basılır.

               b   girdideki karakterler, ters eğik çizgili karakterler genişletilerek basılır.
                   Diğerlerine ek olarak aşağıdaki ters eğik çizgili karakterler desteklenir:

                   \c  Kendisini içeren girdideki kalan karakterlerin, kalan girdilerin ve
                       biçemdeki tüm ek karakterlerin yok sayılmasına neden olur.

                   \0NNN
                       ASCII değeri, sekizlik tabanda 1, 2 veya 3 rakamdan oluşan 8 bitlik
                       karakteri basar.

               c   girdinin ilk karakteri basılır.

               s   girdideki karakterler, sona ulaşılana veya hassasiyet belirtimiyle belirtilen
                   bayt sayısına ulaşılana kadar basılır; hassasiyet belirtilmemişse, girdideki
                   tüm karakterler basılır.

               %   Yalnızca ’%’ basar.

               Hiçbir durumda, alan genişliğinin olmayışı veya küçük alan genişliği, bir alanın
               kırpılmasına neden olmaz; dolgu, yalnızca belirtilen alan genişliği asıl genişliği
               aşarsa gerçekleşir.

       set [{ -seçenekler | +seçenekler | -- }] girdi ...
           set komutunun üç farklı işlevi vardır.

           Girdisiz kullanımda tüm kabuk değişkenlerinin değerleriyle listeler.

           seçenekler verilirse, belirtilen seçenek imlerini ayarlar veya Girdi Listesinin
           İşlenmesi bölümünde açıklandığı gibi bunları temizler. Özel bir durum olarak, seçenek
           -o veya +o ise ve herhangi bir girdi sağlanmazsa, kabuk tüm seçeneklerinin ayarlarını
           gösterir. Seçenek -o ise, ayarlar tablo olarak gösterilir; seçenek +o ise, ayarlar,
           aynı seçenek ayarlarını etkilemek için kabuğa yeniden girilmeye uygun biçimde
           listelenir.

           Üçüncü kullanımında, kabuğun konumsal değişkenlerinin değerlerine belirtilen girdiler
           atanır. Herhangi bir seçeneği değiştirmeden konumsal değişkenleri değiştirmek için,
           ilk girdi “--” olmalıdır. Hiçbir girdi belirtilmezse, set komutu tüm konumsal
           değişkenleri siler ("shift $#" komutuna eşdeğerdir).

       shift [N]
           Konumsal değişkenleri N kez kaydırır. Kaydırma, $1’in değerini $2’nin değerine, $2’nin
           değerini $3’e vb. atamak, $# değerini bir azaltmak şeklinde uygulanır. N, konumsal
           değişken sayısından büyükse, shift hatayı belirten bir ileti gösterir ve 2 durumu ile
           çıkar.

       test ifade
       [ ifade ]
           test yerleşiği ifadeyi değerlendirir ve doğru olarak değerlendirirse çıkış durumu 0
           (doğru), aksi takdirde 1 (yanlış) olur. ifade belirtilmediği takdirde de, 1 (yanlış)
           ile çıkar.

           Tüm işleçler ve seçenekler, test yerleşiği için ayrı bir girdidir.

           ifade öncelikle aşağıdakilerden oluşur:

           -b dosya
               dosya mevcut ve blok özel dosyası ise sonuç doğrudur.

           -c dosya
               dosya mevcut ve karakter özel dosyası ise sonuç doğrudur.

           -d dosya
               dosya mevcut ve bir dizin ise sonuç doğrudur.

           -e dosya
               dosya mevcut ise sonuç doğrudur (türüne bakılmaksızın).

           -f dosya
               dosya mevcut ve normal bir dosya ise sonuç doğrudur.

           -g dosya
               dosya mevcut ve grup kimliği belirleme biti etkinse sonuç doğrudur.

           -h dosya
               dosya mevcut ve sembolik bağ ise sonuç doğrudur.

           -k dosya
               dosya mevcut ve yapışkan biti etkinse sonuç doğrudur.

           -n dizge
               dizge uzunluğu sıfır değilse sonuç doğrudur.

           -p dosya
               dosya isimli bir ardışık komut (FIFO) ise sonuç doğrudur.

           -r dosya
               dosya mevcut ve okunabilirse sonuç doğrudur.

           -s dosya
               dosya mevcut ve boyutu sıfırdan büyükse sonuç doğrudur.

           -t dosya-tanıtıcı
               dosya-tanıtıcısı belirtilen dosya açık ve bir uçbirim ile ilişkili ise sonuç
               doğrudur.

           -u dosya
               dosya mevcut ve kullanıcı kimliği belirleme biti etkinse sonuç doğrudur.

           -w dosya
               dosya mevcut ve yazılabilir ise sonuç doğrudur. Sonuç yanlızca yazmanın etkin olup
               olmadığı ile ilgilidir. Dosya salt-okunur bağlı bir dosya sisteminde olsa bile
               sonuç doğru olacaktır.

           -x dosya
               dosya mevcut ve çalıştırılabilir ise sonuç doğrudur. Sonuç yanlızca kipin etkin
               olup olmadığı ile ilgilidir. Dosya, bir dizin ise doğru sonucu dizinde arama
               yapılabileceğini belirtir.

           -z dizge
               dizge uzunluğu sıfır ise sonuç doğrudur.

           -L dosya
               dosya mevcut ve sembolik bağ ise sonuç doğrudur. Önceki sürümlerle uyumluluk için
               vardır. Bu seçeneğe güvenilmemeli, yerine -h kullanılmalıdır.

           -O dosya
               dosya mevcut ve dosyanın sahibi sürecin etkin kullanıcısı ile aynıysa sonuç
               doğrudur.

           -G dosya
               dosya mevcut ve dosyanın grubu sürecin etkin grubu ile aynıysa sonuç doğrudur.

           -S dosya
               dosya mevcut ve bir soketse sonuç doğrudur.

           dosya1 -nt dosya2
               dosya1 ve dosya2 mevcut ve dosya1 dosya2’den yeniyse sonuç doğrudur.

           dosya1 -ot dosya2
               dosya1 ve dosya2 mevcut ve dosya1 dosya2’den eskiyse sonuç doğrudur.

           dosya1 -ef dosya2
               dosya1 ve dosya2 mevcut ve ikisi de aynı dosyaya bağlı ise sonuç doğrudur.

           dizge
               dizge null değilse sonuç doğrudur.

           dizge1 = dizge2
               dizge1 ve dizge2 aynıysa sonuç doğrudur.

           dizge1 != dizge2
               dizge1 ve dizge2 aynı değilse sonuç doğrudur.

           dizge1 < dizge2
               Karakterlerinin ASCII değerlerine göre dizge1, dizge2den önce geliyorsa sonuç
               doğrudur.

           dizge1 > dizge2
               Karakterlerinin ASCII değerlerine göre dizge1, dizge2den sonra geliyorsa sonuç
               doğrudur.

           tamsayı1 -eq tamsayı2
               tamsayı1 ve tamsayı2 matematiksel olarak eşitse sonuç doğrudur.

           tamsayı1 -ne tamsayı2
               tamsayı1 ve tamsayı2 matematiksel olarak eşit değilse sonuç doğrudur.

           tamsayı1 -gt tamsayı2
               tamsayı1, tamsayı2’den matematiksel olarak büyükse sonuç doğrudur.

           tamsayı1 -ge tamsayı2
               tamsayı1, tamsayı2’den matematiksel olarak büyük veya eşitse sonuç doğrudur.

           tamsayı1 -lt tamsayı2
               tamsayı1, tamsayı2’den matematiksel olarak küçükse sonuç doğrudur.

           tamsayı1 -le tamsayı2
               tamsayı1, tamsayı2’den matematiksel olarak küçük veya eşitse sonuç doğrudur.

           Yukarıdaki öncüller aşağıdaki işleçlerle birlikte belirtilebilir:

           ! ifade
               ifade yanlışsa sonuç doğrudur.

           ifade1 -a ifade2
               ifade1 VE ifade2 doğru ise sonuç doğrudur.

           ifade -o ifade2
               ifade1 VEYA ifade2 doğru ise sonuç doğrudur.

           (ifade)
               ifade doğru ise sonuç doğrudur.

           -a (VE) işleci -o (VEYA) işlecinden önceliklidir.

       times
           Kabuğun ve kabukta çalışan sürecin harcadığı kullanıcı ve sistem sürelerini basar.
           Çıkış durumu daima sıfırdır.

       trap [eylem sinyal ...]
           Belirtilen sinyal’lerden biri alındığında kabuk eylem’i genişletir ve yürütür.
           sinyaller, sinyal numarasıyla veya sinyalin adıyla belirtilebilir. sinyal 0 veya EXIT
           ise, eylem kabuk çıktığında yürütülür. eylem boş olabilir (’’), bu da belirtilen
           sinyallerin yok sayılmasına neden olur. eylem belirtilmez veya ’-’ olursa, belirtilen
           sinyaller için bunların öntanımlı eylemleri uygulanır. Kabuk bir alt kabuğu
           çatalladığında, yakalanan (ancak yok sayılmayan) sinyaller için öntanımlı eylemleri
           uygulanır. Trap komutunun, kabuk başlatılırken yok sayılan sinyaller üzerinde hiçbir
           etkisi yoktur. trap girdisiz kullanımda, sinyalleri ve ilişkili eylemleri standart
           çıktıya (trap yerleşiğinin aynı sonuçlara ulaşacağı kabuk girdileri olarak) listeler.

           Örnekler:

               trap

           Sinyalleri ve ilişkili eylemleri listeler.

               trap ’’ INT QUIT tstp 30

           INT QUIT TSTP USR1 sinyallerini yoksayar.

               trap date INT

           INT sinyali alınınca tarihi basar.

       type [isim ...]
           Belirtilen her isim bir komut olarak yorumlanır ve komut aramasının çözümü gösterilir.
           Olası çözümler şunlardır: kabuk anahtar sözcüğü, takma ad, kabuk yerleşiği, komut,
           izlenen takma ad ve bulunamadı. Takma adlar için takma adın değeri gösterilir;
           komutlar ve izlenen takma adlar için komutun tam yolu gösterilir.

       ulimit [-H | -S] [-a | -tfdscmlpnv [değer]]
           Süreçler üzerinde, katı ve esnek sınırları belirler veya bilgi verir ya da yeni
           sınırları belirler. Katı sınır (hiçbir sürecin ihlal etmesine izin verilmeyen, değeri
           artırılamayan veya eksiltilemeyen sınırlar) ve esnek sınır (ihlal eden sürecin
           sinyallenmesine ancak öldürülmemesine sebep olan değeri arttırılabilir/eksiltilebilir
           sınırlar) arasında seçim yapılabilmesini sağlayan seçenekler:

           -H  Katı sınırları etkinleştirir veya bilgi verir.

           -S  Esnek sınırları belirler veya bilgi verir. Ne -H ne de -S belirtilmişse ya esnek
               sınırlar gösterilir ya da sınırların ikisi de etkin olur. İki seçenek de
               belirtilmişse sonuncusu kazanır.

           Sorgulanacak veya atanacak sınır aşağıdaki seçeneklere göre seçilir:

           -a  Geçerli tüm sınırlar gösterilir.

           -t  İşlemci zamanı ile ilgili sınır (saniye cinsinden) gösterilir veya atanır.

           -f  Oluşturulabilecek en büyük dosya boyutu (512 baytlık blok sayısı olarak)
               gösterilir veya belirlenir.

           -d  Süreç veri segmanının boyutu (kilobayt olarak) gösterilir veya belirlenir.

           -s  Süreç yığıt boyutu (kilobayt olarak) gösterilir veya belirlenir.

           -c  Üretilebilecek en büyük çekirdek dökümünün boyutu (512 baytlık blok sayısı olarak)
               gösterilir veya belirlenir.

           -m  Bir sürece ayrılan toplam fiziksel belleğin sınırı (kilobayt olarak) gösterilir
               veya belirlenir.

           -l  Bir sürecin lock veya mlock kullanarak kilitleyebileceği bellek boyutu (kilobayt
               olarak) gösterilir veya belirlenir.

           -p  Kullanıcının aynı anda sahibi olabileceği süreç sayısı gösterilir veya belirlenir.

           -n  Bir sürecin aynı anda açabileceği dosya sayısı gösterilir veya belirlenir.

           -v  Bir sürecin kullanılabileceği toplam sanal bellek (kilobayt olarak) gösterilir
               veya belirlenir.

           -r  Bir sürecin gerçek zamanlı zamanlama önceliği gösterilir veya belirlenir.

           Bunlardan hiçbiri belirtilmezse, sınır, gösterilen veya ayarlanan dosya boyutunun
           sınırıdır. değer belirtilirse, sınır o sayıya ayarlanır; aksi takdirde geçerli sınır
           görüntülenir.

           Bir sürecin sınırları sysctl(8) ile belirlenebilir veya gösterilebilir.

       umask [maske]
           umask değerini (bkz. umask(2)) belirtilen sekizlik değere ayarlar. maske
           belirtilmezse, umask değeri gösterilir.

       unalias [-a][isim]
           isim belirtilirse kabuk bu takma adı siler. -a belirtilirse tüm takma adlar silinir.

       unset [-fv ]isim ...
           Belirtilen değişken ve işlev isimleri tanımsız ve dışa aktarılmamış duruma getirilir.
           -f ve -v belirtilirse, işlem karşılık gelen işlev veya değişkene uygulanır. Belirtilen
           isim hem bir değişkene hem de bir işleve karşılık geliyorsa ve herhangi bir seçenek
           verilmezse, yalnızca değişken tanımsız olur.

       wait [görev]
           Belirtilen görevin tamamlanmasını bekler ve görevdeki son sürecin çıkış durumuyla
           çıkar. görev belirtilmezse, tüm görevlerin tamamlanmasını bekler ve sıfır durumu ile
           çıkar.

   Komut Satırı Düzenleme
       dash bir uçbirimden etkileşimli olarak kullanıldığında, geçerli komut ve komut geçmişi
       (Yerleşiklerde fc’ye bakın) vi kipinde komut satırı düzenlemesi kullanılarak
       düzenlenebilir. Bu kip, vi kılavuz sayfasında açıklandığı gibi kullanılır. ’set -o vi’
       komutu, vi kipinde düzenlemeyi etkinleştirir ve kabuğu vi ekleme kipine yerleştirir. vi
       kipi etkinleştirildiğinde kabuk, ekleme kipine veya komut kipine alınabilir. vi’ye benzer
       olarak, ESC tuşuna basılırsa komut kipine girer. Komut kipindeyken Enter tuşuna basılırsa,
       satır kabuğa aktarılır.

ÇIKIŞ DURUMU

       Kabuk tarafından saptanan sözdizimi hatası gibi hatalar, kabuğun sıfırdan farklı bir çıkış
       durumuyla çıkmasına neden olur. Kabuk etkileşimli değilse, kabuk dosyasının yürütmesi
       durdurulur. Aksi takdirde, kabuk yürütülen son komutun çıkış durumunu döndürür veya exit
       yerleşiği sayısal bir girdi ile kullanılırsa, bu sayıyı döndürür.

ORTAM DEĞİŞKENLERİ

       HOME
           Parola dosyasındaki (passwd(4)) kullanıcının oturum açma dizini olup değişkene
           login(1) tarafından otomatik olarak atanır. Bu ortam değişkeni ayrıca cd yerleşiğinin
           de öntanımlı girdisidir.

       PATH
           Yürütülebilirler için öntanımlı dosya arama yolu. Bkz: Dosya Yolu Araması

       CDPATH
           cd yerleşik komutuyla kullanılan dosya arama yolu.

       MAIL
           Yeni posta için denetlenecek posta dosyasının adı. MAILPATH tarafından geçersiz
           kılınır.

       MAILCHECK
           MAILPATH veya MAIL değişkeni ile belirtilen dosyalara posta gelişini kabuğun denetleme
           sıklığının saniye cinsinden değeri. 0 atanırsa, her istemde posta denetimi yapılır.

       MAILPATH
           Kabuğun gelen postayı denetlemesi için iki nokta üst üste ":" ile ayrılmış dosya
           adları listesi. MAIL ortam değişkenini geçersiz kılar. Aynı anda en fazla 10 posta
           kutusu izlenebilir.

       PS1 Birincil istem dizgesi, süper kullanıcı için “# ”, diğer kullanıcılar için “$ ”
           öntanımlıdır.

       PS2 İkincil istem dizgesi, “> ” öntanımlıdır.

       PS4 Yürütme izi (set -x) etkinleştirildiğinde her satırdan önceki çıktı, “+ ”
           öntanımlıdır.

       IFS Girdi Alanı Ayraçları. Normalde boşluk, sekme ve satırsonu karakterlerinden oluşur.
           Daha fazla ayrıntı için bkz: Boşluk Ayıklama (Alanlara Ayırma)

       TERM
           Kabuğun öntanımlı uçbirimi. Kabuğun çocukları tarafından miras alınır ve geçmiş
           düzenleme kiplerinde kullanılır.

       HISTSIZE
           Kabuğun geçmiş tamponundaki satır sayısı.

       PWD Geçerli çalışma dizininin mantıksal değeri. cd komutuyla ayarlanır.

       OLDPWD
           Geçerli çalışma dizininin önceki mantıksal değeri. cd komutuyla ayarlanır.

       PPID
           Kabuğun üst (ebeveyn) sürecinin süreç kimliği.

İLGİLİ DOSYALAR

       $HOME/.profile
       /etc/profile

İLGİLİ BELGELER

       csh(1), echo(1), getopt(1), ksh(1), login(1), printf(1), test(1), getopt(3), passwd(5),
       environ(7), sysctl(8).

GEÇMİŞ

       dash, /bin/sh’nin mümkün olduğu kadar küçük olmayı amaçlayan POSIX uyumlu gerçeklenimidir.
       Gerçeklenim, ash’in (Almquist SHell) NetBSD sürümünden çatallanarak 1997 başlarında
       Linux’a aktarılmış, 2002’de dash olarak yeniden adlandırılmıştır.

HATA AYIKLAMA

       Önemli bir güvenlik riski oluşturduklarından setuid kabuk betiklerinden ne pahasına olursa
       olsun kaçınılmalıdır.

       PS1, PS2 ve PS4, gösterilmeden önce içeriği ayrıştırılmalıdır.

ÇEVİREN

       © 2023 Nilgün Belma Bugüner
       Bu çeviri özgür yazılımdır: Yasaların izin verdiği ölçüde HİÇBİR GARANTİ YOKTUR.
       Lütfen, çeviri ile ilgili bildirimde bulunmak veya çeviri yapmak için
       https://github.com/TLBP/manpages-tr/issues adresinde "New Issue" düğmesine tıklayıp yeni
       bir konu açınız ve isteğinizi belirtiniz.