İngilizceFransızcaİspanyolca

Ad


OnWorks favicon'u

bash-static - Bulutta Çevrimiçi

Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü üzerinden OnWorks ücretsiz barındırma sağlayıcısında bash-static çalıştırın

Bu, Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü gibi birden fazla ücretsiz çevrimiçi iş istasyonumuzdan birini kullanarak OnWorks ücretsiz barındırma sağlayıcısında çalıştırılabilen bash-static komutudur.

Program:

ADI


bash - GNU Bourne-Again Shell

SİNOPSİS


darbe [seçenekler] [command_string | dosya]

TELİF HAKKI


Bash'in Telif Hakkı (C) 1989-2013, Free Software Foundation, Inc.'e aittir.

TANIM


Cümbüş bir sh-dan okunan komutları yürüten uyumlu komut dili yorumlayıcısı
standart girdi veya bir dosyadan. Cümbüş ayrıca kullanışlı özellikleri de içerir. Korn ve C
kabuklar (ksh ve csh).

Cümbüş Shell ve Utilities bölümünün uyumlu bir uygulaması olması amaçlanmıştır.
IEEE POSIX spesifikasyonu (IEEE Standardı 1003.1). Cümbüş POSIX- olarak yapılandırılabilir
varsayılan olarak uyumlu.

SEÇENEKLER


Açıklamasında belgelenen tüm tek karakterli kabuk seçenekleri set
Yerleşik komut, kabuk çağrıldığında seçenekler olarak kullanılabilir. Ek olarak, darbe
çağrıldığında aşağıdaki seçenekleri yorumlar:

-c Eğer -c seçenek mevcutsa, komutlar ilk seçenek olmayandan okunur
tartışma komut_dizesi. sonra argümanlar varsa komut_dizesi, Onlar
ile başlayan konumsal parametrelere atanır $0.
-i Eğer -i seçenek mevcut, kabuk interaktif.
-l Yapmak darbe bir oturum açma kabuğu olarak çağrılmış gibi davranın (bkz. ÇAĞRI altında).
-r Eğer -r seçenek mevcutsa, kabuk olur kısıtlı (görmek KISITLI SHELL
altında).
-s Eğer -s seçenek mevcutsa veya seçenek işlemeden sonra hiçbir argüman kalmazsa,
sonra komutlar standart girdiden okunur. Bu seçenek,
etkileşimli bir kabuk çağrılırken ayarlanacak konumsal parametreler.
-D Başına gelen tüm çift tırnaklı dizelerin listesi $ standart olarak basılmıştır
çıktı. Bunlar, dil çevirisine tabi olan dizelerdir.
geçerli yerel ayar değil C or POSIX. Bu, şu anlama gelir: -n seçenek; hiçbir komut olmayacak
idam edilecek.
[+]O [shopt_option]
shopt_option tarafından kabul edilen kabuk seçeneklerinden biridir. alışveriş yerleşik (bkz.
SHELL İNŞAAT KOMUTLAR aşağıda). Eğer shopt_option mevcut, -O değerini ayarlar
o seçenek; +O kaldırır. Eğer shopt_option verilmemiş, isimler ve
tarafından kabul edilen kabuk seçeneklerinin değerleri alışveriş standart olarak basılmıştır
çıktı. Çağırma seçeneği ise +O, çıktı bir biçimde görüntülenir
girdi olarak yeniden kullanılabilir.
-- A -- seçeneklerin sonunu bildirir ve daha fazla seçenek işlemeyi devre dışı bırakır. Herhangi
sonra argümanlar -- dosya adları ve argümanlar olarak ele alınır. bir argüman -
eşdeğerdir --.

Cümbüş ayrıca bir dizi çok karakterli seçeneği de yorumlar. Bu seçenekler üzerinde görünmelidir
tek karakterlik seçeneklerden önce komut satırı tanınmalıdır.

--hata ayıklayıcı
Kabuk başlamadan önce yürütülecek hata ayıklayıcı profilini düzenleyin. Açılır
genişletilmiş hata ayıklama modu (bkz. genişletilmiş hata ayıklama seçeneği alışveriş
aşağıda yerleşik).
--dump-po-dizeleri
Eşittir -D, ancak çıktı GNU'da gettext po (taşınabilir nesne) dosyası
biçimi.
--dump-dizeleri
Eşittir -D.
--yardım et Standart çıktıda bir kullanım mesajı görüntüleyin ve başarıyla çıkın.
--init dosyası dosya
--rc dosyası dosya
Komutları şuradan yürüt: dosya sistem çapında başlatma dosyası yerine
/etc/bash.bashrc ve standart kişisel başlatma dosyası ~ / .bashrc eğer
kabuk etkileşimlidir (bkz. ÇAĞRI altında).

--giriş yapmak
Eşittir -l.

--düzenleme yok
GNU'yu kullanmayın taleb kabuk olduğunda komut satırlarını okumak için kitaplık
İnteraktif.

--profil yok
Sistem genelindeki başlangıç ​​dosyasını da okumayın / etc / profile veya herhangi bir kişisel
başlatma dosyaları ~ / .bash_profile, ~/.bash_loginya da ~ / .profile. Varsayılan olarak,
darbe bir oturum açma kabuğu olarak çağrıldığında bu dosyaları okur (bkz. ÇAĞRI altında).

--norc Sistem genelinde başlatma dosyasını okumayın ve çalıştırmayın /etc/bash.bashrc ve
kişisel başlatma dosyası ~ / .bashrc kabuk etkileşimli ise. Bu
kabuk şu şekilde çağrılırsa seçenek varsayılan olarak açıktır. sh.

--posix
davranışını değiştir darbe varsayılan işlemin POSIX'ten farklı olduğu durumlarda
standarda uygun standart (posix kip). Görmek GDA AYRICA referans için aşağıda
posix modunun bash'ın davranışını nasıl etkilediğini detaylandıran bir belge.

--kısıtlı
Kabuk kısıtlanır (bkz. KISITLI SHELL altında).

--ayrıntılı
Eşittir -v.

--versiyon
Bu örnek için sürüm bilgilerini göster darbe standart çıktı ve çıkışta
Başarıyla.

ARGÜMANLAR


Seçenek işlemeden sonra argümanlar kalırsa ve hiçbiri -c ne -s seçenek oldu
sağlandığında, ilk argümanın kabuk içeren bir dosyanın adı olduğu varsayılır.
komutlar. Eğer darbe bu şekilde çağrılır, $0 dosyanın adına ayarlanır ve
konumsal parametreler kalan bağımsız değişkenlere ayarlanır. Cümbüş okur ve yürütür
komutları bu dosyadan alır, ardından çıkar. Cümbüş'ın çıkış durumu, sonuncunun çıkış durumudur.
komut dosyasında yürütülen komut. Hiçbir komut yürütülmezse, çıkış durumu 0'dır.
önce dosyayı geçerli dizinde açma girişiminde bulunulur ve dosya bulunamazsa,
daha sonra kabuk dizinleri arar PATH senaryo için.

ÇAĞRI


A giriş kabuk sıfır argümanının ilk karakteri a olan karakterdir -veya biriyle başlayan
the --giriş yapmak seçeneği.

An interaktif kabuk, seçenek olmayan bağımsız değişkenler olmadan ve -c seçenek
standart girişi ve hatasının her ikisi de terminallere bağlı olan (tarafından belirlendiği gibi
isatty(3)) veya ile başlayan bir -i seçeneği. PS1 ayarlandı ve $- içerir i if darbe is
etkileşimli, bir kabuk betiğinin veya bir başlangıç ​​dosyasının bu durumu test etmesine izin verir.

Aşağıdaki paragraflar nasıl darbe başlangıç ​​dosyalarını yürütür. eğer herhangi biri
dosyalar var ama okunamıyor, darbe bir hata bildirir. Tildes dosya adlarında genişletilir
aşağıda açıklandığı gibi tilde Genişleme içinde GENİŞLEME Bölüm.

Ne zaman darbe etkileşimli bir oturum açma kabuğu olarak veya etkileşimli olmayan bir kabuk olarak çağrılır.
--giriş yapmak seçeneği, önce dosyadan komutları okur ve yürütür / etc / profile, Eğer
dosya var. Bu dosyayı okuduktan sonra, ~ / .bash_profile, ~/.bash_login, ve
~ / .profile, bu sırayla ve var olan ilk komuttan komutları okur ve yürütür
ve okunabilir. NS --profil yok kabuk engellemeye başladığında seçenek kullanılabilir
bu davranış.

Bir oturum açma kabuğu çıktığında, darbe dosyadan komutları okur ve yürütür ~/.bash_logout,
eğer varsa.

Oturum açma kabuğu olmayan etkileşimli bir kabuk başlatıldığında, darbe okur ve yürütür
gelen komutlar /etc/bash.bashrc ve ~ / .bashrc, bu dosyalar varsa. Bu engellenebilir
kullanarak --norc seçeneği. --rc dosyası dosya seçenek zorlayacak darbe okumak ve yürütmek
gelen komutlar dosya yerine /etc/bash.bashrc ve ~ / .bashrc.

Ne zaman darbe etkileşimli olmayan bir şekilde başlatıldığında, örneğin bir kabuk betiği çalıştırmak için
değişken BASH_ENV ortamda, orada görünüyorsa değerini genişletir ve kullanır
okunacak ve yürütülecek bir dosyanın adı olarak genişletilmiş değer. Cümbüş gibi davranır
aşağıdaki komut yürütüldü:
if [ -n "$BASH_ENV" ]; sonra . "$BASH_ENV"; fi
ama değeri PATH değişken, dosya adını aramak için kullanılmaz.

If darbe adı ile çağrılır sh, tarihsel başlangıç ​​davranışını taklit etmeye çalışır.
sürümleri sh POSIX standardına da uygunken, mümkün olduğunca yakın.
Etkileşimli bir oturum açma kabuğu veya etkileşimli olmayan bir kabuk olarak çağrıldığında --giriş yapmak
seçeneği, önce komutları okumaya ve yürütmeye çalışır / etc / profile ve ~ / .profile,
bu sırayla. NS --profil yok seçeneği bu davranışı engellemek için kullanılabilir. çağrıldığında
adıyla etkileşimli bir kabuk olarak sh, darbe değişkeni arar ENV, genişletir
değer tanımlanmışsa ve okunacak ve okunacak bir dosyanın adı olarak genişletilmiş değeri kullanır.
uygulamak. Bir kabuk olarak çağrıldığından beri sh komutlarını okumaya ve yürütmeye çalışmaz.
diğer başlangıç ​​dosyaları, --rc dosyası seçeneğin etkisi yoktur. Etkileşimli olmayan bir kabuk
adı ile çağrılan sh diğer başlangıç ​​dosyalarını okumaya çalışmaz. çağrıldığında
as sh, darbe girer posix başlangıç ​​dosyaları okunduktan sonra mod.

Ne zaman darbe başladı posix modunda olduğu gibi --posix komut satırı seçeneği, takip eder
başlangıç ​​dosyaları için POSIX standardı. Bu modda, etkileşimli kabuklar, ENV
değişken ve komutlar, adı genişletilmiş dosyadan okunur ve yürütülür.
değer. Başka hiçbir başlangıç ​​dosyası okunmaz.

Cümbüş bağlı standart girişi ile ne zaman çalıştırıldığını belirlemeye çalışır.
uzak kabuk arka plan programı tarafından yürütüldüğünde olduğu gibi ağ bağlantısı, genellikle rshdYa da
güvenli kabuk arka plan programı sshd. Eğer darbe bu şekilde çalıştırıldığını belirler, okur
ve komutları yürütür ~ / .bashrc ve ~ / .bashrc, bu dosyalar varsa ve okunabilir durumdaysa.
olarak çağrılırsa bunu yapmaz sh. --norc seçeneği bunu engellemek için kullanılabilir
davranış ve --rc dosyası seçeneği başka bir dosyayı okumaya zorlamak için kullanılabilir, ancak
ne rshd ne de sshd genellikle bu seçeneklerle kabuğu çağırın veya olmalarına izin verin
belirtildi.

Kabuk, gerçek kullanıcıya eşit olmayan etkin kullanıcı (grup) kimliğiyle başlatılırsa
(grup) kimliği ve -p seçenek sağlanmaz, başlangıç ​​dosyaları okunmaz, kabuk işlevleri
çevreden miras alınmaz, Kabuğu, BAŞOPTLAR, CDPATH, ve GLOBIGNORE
değişkenler, ortamda görünüyorlarsa yok sayılırlar ve etkin kullanıcı kimliği
gerçek kullanıcı kimliğine ayarlayın. Eğer -p seçenek, başlatma sırasında sağlanır, başlatma davranışı
aynıdır, ancak etkin kullanıcı kimliği sıfırlanmaz.

TANIMLAR


Bu belgenin geri kalanında aşağıdaki tanımlar kullanılmıştır.
boş Bir boşluk veya sekme.
sözcük Kabuk tarafından tek bir birim olarak kabul edilen bir karakter dizisi. olarak da bilinir
simge.
isim A sözcük yalnızca alfanümerik karakterlerden ve alt çizgilerden oluşan ve başlangıç
alfabetik bir karakter veya alt çizgi ile. olarak da anılır tanımlayıcı.
metakarakterdir
Alıntı yapılmadığında kelimeleri ayıran bir karakter. Aşağıdakilerden biri:
| & ; ( ) < > uzay çıkıntı
kontrol Şebeke
A simge bir kontrol işlevi gerçekleştirir. Aşağıdaki sembollerden biridir:
|| & && ; ;; ( ) | |&

AYRILMIŞ KELİMELER


rezerve sözler kabuk için özel bir anlamı olan kelimelerdir. Sıradaki kelimeler
alıntı yapılmadığında ve basit bir komutun ilk sözcüğü olduğunda ayrılmış olarak tanınır
(görmek SHELL DİLBİLGİSİ aşağıda) veya üçüncü kelime dava or için komut:

! dava koprok do yapılmış elif başka esac fi için işlev if in seçmek sonra kadar süre { }
zaman [[ ]]

SHELL DİLBİLGİSİ


Basit Komutları
A basit komuta ardından gelen isteğe bağlı değişken atamaları dizisidir. boş-
ayrılmış kelimeler ve yönlendirmeler ve bir ile sonlandırıldı kontrol Şebeke. ilk kelime
yürütülecek komutu belirtir ve sıfır bağımsız değişkeni olarak iletilir. kalan kelimeler
çağrılan komuta argüman olarak iletilir.

a'nın dönüş değeri basit komuta çıkış durumu mu, yoksa 128+n komut ise
sinyal ile sonlandırıldı n.

Boru Hatları
A boru hattı kontrol operatörlerinden biri tarafından ayrılmış bir veya daha fazla komut dizisidir
| or |&. Bir boru hattının formatı şudur:

[zaman [-p]] [ ! ] komuta [[||&] command2 ... ]

standart çıktı komuta standart girişine bir boru aracılığıyla bağlanır. command2.
Bu bağlantı, komut tarafından belirtilen herhangi bir yeniden yönlendirmeden önce gerçekleştirilir (bkz.
YÖNLENDİRME aşağıda). Eğer |& kullanıldı, komutastandardına ek olarak standart hatası
çıkış, bağlı command2borudan standart giriş; kısaltmasıdır
2> & 1 |. Standart hatanın standart çıktıya bu örtük yeniden yönlendirmesi,
komut tarafından belirtilen herhangi bir yeniden yönlendirmeden sonra gerçekleştirilir.

Bir ardışık düzenin dönüş durumu, son komutun çıkış durumudur.
boru arızası seçeneği etkinleştirilir. Eğer boru arızası etkinleştirilirse, boru hattının dönüş durumu
sıfır olmayan bir durumla çıkmak için son (en sağdaki) komutun değeri veya tümü varsa sıfır
komutlar başarıyla çıkıyor. Ayrılmış kelime ise ! bir boru hattından önce gelir, çıkış durumu
bu boru hattının değeri, yukarıda açıklandığı gibi çıkış durumunun mantıksal olarak olumsuzlanmasıdır. Deniz kabuğu
bir değer döndürmeden önce işlem hattındaki tüm komutların sona ermesini bekler.

Eğer zaman ayrılmış kelime bir ardışık düzenden önce gelir, geçen süre, kullanıcı ve sistem zamanı
yürütme tarafından tüketilen işlem hattı sona erdiğinde rapor edilir. NS -p seçenek
çıktı biçimini POSIX tarafından belirtilen biçime değiştirir. Kabuk içeri girdiğinde posix kipBu
tanımıyor zaman sonraki belirteç bir "-" ile başlıyorsa, ayrılmış bir sözcük olarak. NS
ZAMAN FORMATI değişken, zamanlamanın nasıl olacağını belirten bir biçim dizgisine ayarlanabilir.
bilgiler görüntülenmelidir; açıklamasına bakın ZAMAN FORMATI altında Kabuk Değişkenler
altında.

Kabuk içeri girdiğinde posix kip, zaman yeni bir satır takip edebilir. Bu durumda,
kabuk, kabuk ve çocukları tarafından tüketilen toplam kullanıcı ve sistem zamanını görüntüler. NS
ZAMAN FORMATI değişken, zaman bilgisinin biçimini belirtmek için kullanılabilir.

Bir ardışık düzendeki her komut, ayrı bir süreç olarak (yani bir alt kabukta) yürütülür.

Listeler
A liste operatörlerden biri tarafından ayrılmış bir veya daha fazla boru hattı dizisidir ;, &, &&,
or ||ve isteğe bağlı olarak biri tarafından sonlandırıldı ;, &ya da .

Bu liste operatörlerinden, && ve || eşit önceliğe sahip, ardından ; ve &sahip olan
eşit öncelik

Bir satırda bir veya daha fazla yeni satır dizisi görünebilir. liste sınırlandırmak için noktalı virgül yerine
emreder.

Bir komut kontrol operatörü tarafından sonlandırılırsa &, kabuk komutu yürütür
the arka fon bir alt kabukta. Kabuk, komutun bitmesini beklemez ve
dönüş durumu 0'dır. Bir ile ayrılmış komutlar ; sırayla yürütülür; kabuk bekler
her komutun sırayla sona ermesi için. Dönüş durumu, sonuncunun çıkış durumudur.
komut yürütüldü.

AND ve OR listeleri, aşağıdakilerle ayrılmış birden fazla ardışık düzenden birinin dizileridir. && ve || kontrol
sırasıyla operatörler. AND ve OR listeleri sol ilişkilendirme ile yürütülür. bir VE
liste formu var

command1 && command2

command2 yürütülürse ve yalnızca, command1 sıfır çıkış durumunu döndürür.

Bir VEYA listesi şu şekildedir:

command1 || command2

command2 ancak ve ancak yürütülürse command1 sıfır olmayan bir çıkış durumu döndürür. Geri dönüş
AND ve OR listelerinin durumu, listede yürütülen son komutun çıkış durumudur.

Bileşik Komutları
A bileşik komuta aşağıdakilerden biridir. Çoğu durumda bir liste bir komutta
açıklama, komutun geri kalanından bir veya daha fazla yeni satırla ayrılabilir ve
noktalı virgül yerine yeni bir satır takip eder.

(liste) liste bir alt kabuk ortamında yürütülür (bkz. KOMUT UYGULAMA ÇEVRE
aşağıda). Kabuğun özelliklerini etkileyen değişken atamalar ve yerleşik komutlar
komut tamamlandıktan sonra ortam geçerli kalmaz. iade durumu
çıkış durumudur liste.

{ liste; }
liste basitçe mevcut kabuk ortamında yürütülür. liste sonlandırılmalı
yeni satır veya noktalı virgül ile. Bu bir olarak bilinir Grup komuta. iade durumu
çıkış durumudur liste. Meta karakterlerden farklı olarak ( ve ), { ve }
vardır ayrılmış sözler ve ayrılmış bir sözcüğün kullanılmasına izin verildiği yerde gerçekleşmelidir
tanındı. Sözcük kesilmesine neden olmadıkları için birbirinden ayrılmalıdır. liste
boşluk veya başka bir kabuk meta karakteri ile.

((ifade))
The ifade aşağıda açıklanan kurallara göre değerlendirilir. ARİTMETİK
DEĞERLENDİRME. İfadenin değeri sıfır değilse, dönüş durumu 0'dır;
aksi halde dönüş durumu 1'dir. Bu tam olarak şuna eşdeğerdir: izin "ifade".

[[ ifade ]]
Koşullu ifadenin değerlendirmesine bağlı olarak 0 veya 1 durumu döndürür
ifade. İfadeler, aşağıda açıklanan birincillerden oluşur:
KOŞULLU İFADE. Kelime bölme ve yol adı genişletmesi gerçekleştirilmez
arasındaki kelimelerin üzerine [[ ve ]]; tilde genişletme, parametre ve değişken
genişletme, aritmetik genişletme, komut ikamesi, süreç ikamesi ve
alıntı kaldırma işlemi yapılır. gibi koşullu operatörler -f alıntılanmamış olmalı
birincil olarak kabul edilmelidir.

Ile kullanıldığında [[, < ve > operatörler, geçerli olanı kullanarak sözlükbilimsel olarak sıralar
yerel.

açıklamasına bakın test için yerleşik komut (aşağıdaki SHELL BUILTIN COMMANDS bölümü)
parametrelerin işlenmesi (yani eksik parametreler).

Zaman == ve != operatörler kullanıldığında, operatörün sağındaki dize
bir model olarak kabul edilir ve aşağıda açıklanan kurallara göre eşleştirilir. model
Uygun, sanki dış dünya kabuk seçeneği etkinleştirildi. NS = operatör eşdeğerdir
==. Kabuk seçeneği ise durum eşleşmesi yok etkinleştirilirse, maç ne olursa olsun gerçekleştirilir.
alfabetik karakterler durumunda. Dize eşleşirse dönüş değeri 0'dır (==) Veya
eşleşmiyor (!=) desen ve 1 aksi takdirde. Desenin herhangi bir kısmı alıntı yapılabilir
alıntılanan kısmı bir dize olarak eşleşmeye zorlamak için.

Ek bir ikili operatör, =~, ile aynı önceliğe sahip olarak mevcuttur == ve !=.
Kullanıldığında, operatörün sağındaki dize genişletilmiş bir düzenli olarak kabul edilir.
ifade ve buna göre eşleştirildi (olduğu gibi regex(3)). Dize ise dönüş değeri 0'dır.
desenle eşleşir, aksi halde 1'dir. Normal ifade sözdizimsel ise
yanlış, koşullu ifadenin dönüş değeri 2'dir. Kabuk seçeneği
durum eşleşmesi yok etkinleştirilirse eşleşme, alfabetik duruma bakılmaksızın gerçekleştirilir.
karakterler. Modelin herhangi bir parçası, alıntı yapılan kısmı zorlamak için alıntılanabilir.
dize olarak eşleştirilir. Normal ifadelerdeki parantez ifadeleri ele alınmalıdır
dikkatli olun, çünkü normal alıntı karakterleri parantez içindeki anlamlarını kaybeder. Eğer
desen, bir kabuk değişkeninde saklanır, değişken genişletmeyi alıntılayarak tüm
bir dize olarak eşleştirilecek desen. Parantez içindeki alt ifadelerle eşleşen alt dizeler
normal ifade içinde dizi değişkenine kaydedilir BASH_REMATCH. Öğe
of BASH_REMATCH 0 indeksli, dizenin normalin tamamıyla eşleşen kısmıdır.
ifade. unsuru BASH_REMATCH indeks ile n dize kısmıdır
ile eşleşen nparantez içindeki alt ifade.

İfadeler, azalan sırayla listelenen aşağıdaki operatörler kullanılarak birleştirilebilir:
öncelik:

( ifade )
değerini döndürür ifade. Bu normali geçersiz kılmak için kullanılabilir
operatörlerin önceliği.
! ifade
Doğru ise ifade yanlış.
ifade1 && ifade2
Her ikisi de doğruysa ifade1 ve ifade2 Doğrudur.
ifade1 || ifade2
Ya doğruysa ifade1 or ifade2 doğru.

The && ve || operatörler değerlendirmez ifade2 değeri ise ifade1 is
koşullu ifadenin tamamının dönüş değerini belirlemek için yeterlidir.

için isim [[ in [ sözcük ... ] ] ; ] do liste ; yapılmış
Aşağıdaki kelimelerin listesi in genişletilir ve bir öğe listesi oluşturulur. NS
değişken isim sırayla bu listenin her bir öğesine ayarlanır ve liste Idam edildi
her seferinde. Eğer in sözcük atlanır, için komut yürütülür liste her biri için bir kez
ayarlanan konumsal parametre (bkz. PARAMETRELERİ aşağıda). İade durumu,
Yürütülen son komutun çıkış durumu. Öğelerin genişletilmesi ise
takip etme in boş bir listeyle sonuçlanır, hiçbir komut yürütülmez ve geri dönüş
durum 0'dir.

için (( ifade1 ; ifade2 ; ifade3 ) ; do liste ; yapılmış
İlk olarak, aritmetik ifade ifade1 kurallara göre değerlendirilir
aşağıda açıklanan ARİTMETİK DEĞERLENDİRME. aritmetik ifade ifade2 is
sonra sıfıra ulaşana kadar tekrar tekrar değerlendirilir. her seferinde ifade2 için değerlendirir
sıfır olmayan bir değer, liste yürütülür ve aritmetik ifade ifade3 is
değerlendirildi. Herhangi bir ifade atlanırsa, 1 olarak değerlendiriliyormuş gibi davranır.
dönüş değeri, içindeki son komutun çıkış durumudur. liste yürütülen veya
ifadelerden herhangi biri geçersizse false.

seçmek isim [ in sözcük ]; do liste ; yapılmış
Aşağıdaki kelimelerin listesi in genişletilir ve bir öğe listesi oluşturulur. set
genişletilmiş kelimeler, her birinin önünde bir sayı olacak şekilde standart hata üzerine yazdırılır. Eğer
in sözcük atlanırsa, konumsal parametreler yazdırılır (bkz. PARAMETRELERİ altında).
The PS3 İstem görüntülenir ve standart girdiden bir satır okunur. Eğer
satır, görüntülenen kelimelerden birine karşılık gelen bir sayıdan oluşur, ardından
değeri isim bu kelimeye ayarlanır. Satır boşsa, kelimeler ve istem
tekrar görüntülenir. EOF okunursa komut tamamlanır. Başka herhangi bir değer okundu
nedenleri isim null olarak ayarlanacak. Okunan satır değişkene kaydedilir. YANIT.
liste kadar her seçimden sonra yürütülür kırılma komut yürütülür. Çıkış
durumu seçmek yürütülen son komutun çıkış durumudur liste, veya sıfır
eğer hiçbir komut yürütülmediyse.

dava sözcük in [ [(] model [ | model ] ... ) liste ;; ] ... esac
A dava komut önce genişler sözcükve her biri ile eşleştirmeye çalışır model in
yol adı genişletmesiyle aynı eşleştirme kurallarını kullanarak çevirin (bkz. Yol adı
Genişleme altında). sözcük tilde genişletme, parametre kullanılarak genişletilir ve
değişken genişletme, aritmetik ikame, komut ikamesi, süreç
ikame ve alıntı kaldırma. Her biri model incelenen tilde kullanılarak genişletilir
genişletme, parametre ve değişken genişletme, aritmetik ikame, komut
ikame ve süreç ikamesi. Kabuk seçeneği ise durum eşleşmesi yok is
etkinleştirildiğinde, eşleşme alfabetik duruma bakılmaksızın gerçekleştirilir.
karakterler. Bir eşleşme bulunduğunda, ilgili liste Idam edildi. Eğer ;;
operatör kullanılır, ilk kalıptan sonra sonraki eşleşmeler denenmez
kibrit. kullanma ;& yerde içinde ;; yürütmenin devam etmesine neden olur liste
sonraki desen seti ile ilişkilendirilir. kullanma ;; yerde içinde ;; neden olur
varsa, ifadedeki bir sonraki kalıp listesini test etmek ve herhangi birini yürütmek için kabuk
ilişkili liste başarılı bir maçta Kalıp yoksa çıkış durumu sıfırdır
maçlar. Aksi takdirde, yürütülen son komutun çıkış durumudur. liste.

if liste; sonra liste; [ elif liste; sonra liste; ] ... [ başka liste; ] fi
The if liste Idam edildi. Çıkış durumu sıfır ise, sonra liste Idam edildi.
Aksi takdirde, her elif liste sırayla yürütülür ve çıkış durumu sıfır ise,
uyan sonra liste yürütülür ve komut tamamlanır. Aksi takdirde, başka
liste varsa yürütülür. Çıkış durumu, sonuncunun çıkış durumudur.
komut yürütülür veya hiçbir koşul doğru olarak test edilmezse sıfırdır.

süre liste-1; do liste-2; yapılmış
kadar liste-1; do liste-2; yapılmış
The süre komut sürekli olarak listeyi yürütür liste-2 son komut kadar
listede liste-1 sıfır çıkış durumunu döndürür. NS kadar komut aynı
için süre komut, testin olumsuzlanması dışında; liste-2 sürece yürütülür
son komut olarak liste-1 sıfır olmayan bir çıkış durumu döndürür. çıkış durumu
the süre ve kadar komutlar, yürütülen son komutun çıkış durumudur.
liste-2, veya hiçbiri yürütülmediyse sıfır.

yardımcı süreçler
A birlikte işlem önce gelen bir kabuk komutudur koprok ayrılmış kelime. Bir ortak süreç
komut ile sonlandırılmış gibi, bir alt kabukta eşzamansız olarak yürütülür. &
yürütme kabuğu ve gövde arasına yerleştirilmiş iki yönlü bir boru ile kontrol operatörü
birlikte işlem.

Bir ortak işlemin formatı şudur:

koprok [ADI] komuta [yönlendirmeleri]

Bu, adlı bir ortak işlem oluşturur ADI. Eğer ADI sağlanmaz, varsayılan ad COPROC.
ADI durumunda verilmemelidir. komuta bir basit komuta (yukarıyı görmek); aksi halde
basit komutun ilk kelimesi olarak yorumlanır. Birlikte işlem yürütüldüğünde,
kabuk bir dizi değişkeni yaratır (bkz. Diziler aşağıda) adlı ADI bağlamında
kabuk yürütme. standart çıktı komuta bir dosyaya bir boru aracılığıyla bağlanır
yürütülmekte olan kabuktaki tanımlayıcı ve bu dosya tanımlayıcısına atanan ADI[0]. NS
standart giriş komuta yürütmedeki bir dosya tanımlayıcıya bir boru aracılığıyla bağlanır.
kabuk ve bu dosya tanıtıcısına atanır ADI[1]. Bu boru daha önce kurulmuş
komut tarafından belirtilen herhangi bir yönlendirme (bkz. YÖNLENDİRME aşağıda). dosya tanımlayıcıları
standart Word kullanarak kabuk komutları ve yönlendirmeler için argümanlar olarak kullanılabilir
genişlemeler. Dosya tanımlayıcıları alt kabuklarda bulunmaz. İşlem kimliği
birlikte işlemi yürütmek için oluşturulan kabuk, değişkenin değeri olarak kullanılabilir ADI_PID.
The beklemek Yerleşik komut, yardımcı işlemin sona ermesini beklemek için kullanılabilir.

Yardımcı işlem eşzamansız bir komut olarak oluşturulduğundan, koprok her zaman komut
başarıyı döndürür. Bir yardımcı işlemin dönüş durumu, sürecin çıkış durumudur. komuta.

Kabuk işlev Tanımlar
Kabuk işlevi, basit bir komut gibi çağrılan ve bir bileşik yürüten bir nesnedir.
yeni bir dizi konumsal parametre ile komut. Kabuk işlevleri aşağıdaki gibi bildirilir:

isim () bileşik komut [yönlendirme]
işlev isim [()] bileşik komut [yönlendirme]
Bu, adlı bir işlevi tanımlar isim. Ayrılmış kelime işlev İsteğe bağlı. Eğer
the işlev ayrılmış kelime sağlanır, parantezler isteğe bağlıdır. NS vücut of
işlev bileşik komuttur bileşik komut (görmek Bileşik Komutları
üstünde). Bu komut genellikle bir liste { ve } arasındaki komutların sayısı, ancak herhangi biri olabilir
altında listelenen komut Bileşik Komutları yukarıdaki. bileşik komut Idam edildi
her ne zaman isim basit bir komutun adı olarak belirtilir. ne zaman posix kip,
isim POSIX'lerden birinin adı olmayabilir özel yerleşikler. Herhangi bir yönlendirme
(görmek YÖNLENDİRME aşağıda) bir işlev tanımlandığında belirtilenler,
fonksiyon yürütülür. Bir işlev tanımının çıkış durumu, bir
sözdizimi hatası oluşuyor veya aynı ada sahip salt okunur bir işlev zaten mevcut. Ne zaman
yürütüldüğünde, bir işlevin çıkış durumu, son komutun çıkış durumudur.
vücutta yürütülür. (Görmek FONKSİYONLAR altında.)

YORUMLAR


Etkileşimli olmayan bir kabukta veya etkileşimli bir kabukta, etkileşimli_yorumlar
seçeneği alışveriş yerleşik etkinleştirildi (bkz. SHELL İNŞAAT KOMUTLAR aşağıda), bir kelime
ile başlayan # bu kelimenin ve o satırda kalan tüm karakterlerin yok sayılmasına neden olur.
olmadan etkileşimli bir kabuk etkileşimli_yorumlar seçenek etkin izin vermiyor
yorumlar etkileşimli_yorumlar seçenek, etkileşimli kabuklarda varsayılan olarak açıktır.

ALINTI YAPMAK


Alıntı yapmak belirli karakterlerin veya kelimelerin özel anlamını kabuğa kaldırmak için kullanılır.
Özel karakterler için özel muameleyi devre dışı bırakmak, önlemek için alıntı yapmak kullanılabilir.
ayrılmış sözcüklerin bu şekilde tanınmasını ve parametre genişlemesini önlemesini sağlar.

Her biri meta yukarıda aşağıda listelenen TANIMLAR kabuk için özel bir anlamı vardır
ve kendini temsil edecekse alıntı yapılmalıdır.

Komut geçmişi genişletme olanakları kullanıldığında (bkz. TARİHİ GENİŞLEME
aşağıda), tarih genişleme karakter, genellikle !, geçmişi önlemek için alıntı yapılmalıdır
genişleme.

Üç alıntı mekanizması vardır: kaçış karakter, tek tırnak ve çift
alıntılar.

Alıntı yapılmayan bir ters eğik çizgi (\) 'Dir kaçış karakter. Yazının gerçek değerini korur.
aşağıdakiler hariç sonraki karakter . Eğer bir \çift
görünür ve ters eğik çizginin kendisi alıntı değildir, \bir çizgi olarak kabul edilir
devam (yani, giriş akışından kaldırılır ve etkin bir şekilde yoksayılır).

Karakterleri tek tırnak içine almak, içindeki her karakterin gerçek değerini korur.
alıntılar. Tek bir alıntıdan önce gelse bile, tek tırnaklar arasında tek bir alıntı bulunmayabilir.
ters eğik çizgi.

Karakterleri çift tırnak içine almak, içindeki tüm karakterlerin değişmez değerini korur.
alıntılar hariç, $, `, \ve geçmiş genişletme etkinleştirildiğinde, !.
karakterler $ ve ` çift ​​tırnak içinde özel anlamlarını koruyun. ters eğik çizgi
yalnızca aşağıdaki karakterlerden biri tarafından takip edildiğinde özel anlamını korur: $, `,
", \ya da . Bir çift alıntı, kendisinden önce çift tırnak içinde alıntılanabilir.
ters eğik çizgi ile. Etkinleştirilirse, bir ! görünen
çift ​​tırnak içinde ters eğik çizgi kullanılarak kaçılır. önündeki ters eğik çizgi ! değil
çıkarıldı.

özel parametreler * ve @ çift ​​tırnak içindeyken özel bir anlamı vardır (bkz. PARAMETRELERİ
altında).

formun sözleri $'dizi' özel olarak tedavi edilir. Kelime genişler diziIle
ANSI C standardı tarafından belirtildiği gibi değiştirilen ters eğik çizgiden kaçan karakterler. ters eğik çizgi
varsa kaçış dizilerinin kodu şu şekilde çözülür:
\a alarm (zil)
\b geri tuşu
\e
\E bir kaçış karakteri
\f form besleme
\n Yeni hat
\r satırbaşı
\t yatay sekme
\v dikey sekme
\\ Ters eğik çizgi
\' tek alıntı
\" çift ​​alıntı
\nnn değeri sekizlik değer olan sekiz bitlik karakter nnn (bir ila üç
rakamlar)
\xHH değeri onaltılık değer olan sekiz bitlik karakter HH (bir yada iki
onaltılık rakamlar)
\uHHHH değeri onaltılık değer olan Unicode (ISO/IEC 10646) karakteri
HHHH (bir ila dört onaltılık basamak)
\Uhhhhhhhh
değeri onaltılık değer olan Unicode (ISO/IEC 10646) karakteri
hhhhhhhh (bir ila sekiz onaltılık basamak)
\cx Kontrol-x karakter

Genişletilmiş sonuç, sanki dolar işareti yokmuş gibi tek tırnak içine alınır.

Başında bir dolar işareti bulunan çift tırnaklı bir dize ($"dizi") dizenin olmasına neden olur
geçerli yerel ayara göre tercüme edilmiştir. Geçerli yerel ayar ise C or POSIX,
dolar işareti yok sayılır. Dize çevrilir ve değiştirilirse, değiştirme
çift ​​alıntı.

PARAMETRELERİ


A parametre değerleri depolayan bir varlıktır. bir olabilir isim, bir sayı veya bunlardan biri
altında listelenen özel karakterler Özel parametreler. bir değişken bir parametredir
a ile gösterilir isim. Bir değişkenin bir değer ve sıfır veya daha fazla öznitelikleri. öznitelikler
kullanılarak atanan bildirmek yerleşik komut (bkz. bildirmek aşağıda SHELL İNŞAAT KOMUTLAR).

Bir değer atanmışsa bir parametre ayarlanır. Boş dize geçerli bir değerdir.
Bir değişken ayarlandıktan sonra, yalnızca ayarlanmazsa yerleşik komut (bkz. SHELL
İNŞAAT KOMUTLAR altında).

A değişken formun bir ifadesi ile atanabilir

isim=[değer]

If değer verilmez, değişkene boş dize atanır. Tüm değerlerimiz tilde geçirmek
genişletme, parametre ve değişken genişletme, komut değiştirme, aritmetik genişletme,
ve alıntı kaldırma (bkz. GENİŞLEME aşağıda). Değişkenin kendisine sahip olması durumunda tamsayı nitelik seti,
sonra değer $((...)) genişletmesi olmasa bile aritmetik bir ifade olarak değerlendirilir
kullanılmış (bkz. Aritmetik Genişleme aşağıda). ile kelime bölme işlemi yapılmaz.
Istisna "$@" aşağıda açıklandığı gibi Özel parametreler. Yol adı genişletmesi değil
gerçekleştirildi. Atama ifadeleri aynı zamanda argüman olarak da görünebilir. takma ad, bildirmek,
dizgi, ihracat, Sadece oku, ve yerel yerleşik komutlar. ne zaman posix kip, bu yerleşikler
bir veya daha fazla örneğinden sonra bir komutta görünebilir. komuta yerleşik ve muhafaza
bu atama ifadesi özellikleri.

Bir atama ifadesinin bir kabuk değişkenine değer atadığı bağlamda veya
dizi dizini, += operatörü, değişkenin öncekine eklemek veya eklemek için kullanılabilir
değer. += bir değişkene uygulandığında, tamsayı öznitelik ayarlandı,
değer aritmetik bir ifade olarak değerlendirilir ve değişkenin mevcut değerine eklenir,
bu da değerlendirilir. Bileşik kullanılarak bir dizi değişkenine += uygulandığında
atama (bkz. Diziler aşağıda), değişkenin değeri ayarlanmamış değildir (= kullanıldığında olduğu gibi),
ve dizinin maksimum değerinden bir büyükten başlayarak diziye yeni değerler eklenir
dizin (dizinlenmiş diziler için) veya bir ilişkisel dizide ek anahtar/değer çiftleri olarak eklenir.
Dize değerli bir değişkene uygulandığında, değer genişletilir ve değişkene eklenir
değeri.

Bir değişken atanabilir isim referansı özniteliği kullanarak -n seçeneği bildirmek or
yerel yerleşik komutlar (açıklamalarına bakın) bildirmek ve yerel aşağıda) oluşturmak için
isim referansıveya başka bir değişkene başvuru. Bu, değişkenlerin manipüle edilmesini sağlar
dolaylı olarak. nameref değişkenine başvurulduğunda veya atandığında, işlem
aslında nameref değişkeninin değeri tarafından belirtilen değişken üzerinde gerçekleştirilir. bir isim
adı bir değişken olarak geçirilen bir değişkene atıfta bulunmak için kabuk işlevlerinde yaygın olarak kullanılır.
fonksiyonun argümanı. Örneğin, bir kabuk işlevine bir değişken adı geçirilirse
ilk argümanı olarak, çalışan
-n ref=$1 bildir
fonksiyonun içinde bir nameref değişkeni yaratır ref değeri iletilen değişken adı olan
ilk argüman olarak. Referanslar ve atamalar ref referans olarak kabul edilir ve
adı olarak geçirilen değişkene atamalar $1. Eğer kontrol değişkeni bir için
döngü nameref özniteliğine sahiptir, sözcüklerin listesi kabuk değişkenlerinin bir listesi olabilir ve
listedeki her kelime için isim referansı, döngü tamamlandığında sırayla kurulacaktır.
uygulanmış. Dizi değişkenleri verilemez -n bağlanmak. Ancak, nameref değişkenleri
dizi değişkenlerine ve indisli dizi değişkenlerine başvurabilir. Namerefs ayarlanamaz
ile -n seçeneği ayarlanmazsa yerleşik. Aksi takdirde, eğer ayarlanmazsa adı ile yürütülür
argüman olarak bir nameref değişkeninin, nameref değişkeni tarafından başvurulan değişkenin
ayarsız olmak.

Konumsal parametreler
A konumsal parametre tek rakam dışında bir veya daha fazla rakamla gösterilen bir parametredir.
basamak 0. Konum parametreleri, şu durumlarda kabuğun argümanlarından atanır.
çağrılır ve kullanılarak yeniden atanabilir set yerleşik komut. Konumsal parametreler
atama ifadeleriyle atanamaz. Konumsal parametreler geçici olarak
bir kabuk işlevi yürütüldüğünde değiştirilir (bkz. FONKSİYONLAR altında).

Birden fazla rakamdan oluşan bir konumsal parametre genişletildiğinde,
parantez içine alınmış (bkz. GENİŞLEME altında).

Özel parametreler
Kabuk, birkaç parametreyi özel olarak ele alır. Bu parametrelere yalnızca başvurulabilir;
onlara görev verilmesi yasaktır.
* Birinden başlayarak konumsal parametrelere genişler. Genişleme olmadığında
çift ​​tırnak içinde, her konumsal parametre ayrı bir kelimeye genişler. İçinde
gerçekleştirildiği bağlamlarda, bu kelimeler daha fazla kelime bölme işlemine tabidir.
ve yol adı genişletme. Genişletme çift tırnak içinde gerçekleştiğinde genişler
ilk karakterle ayrılmış her parametrenin değeri ile tek bir kelimeye
arasında IFS özel değişken. Yani, "$*"eşdeğerdir"$1c$2c...", nerede c
değerinin ilk karakteridir IFS değişken. Eğer IFS ayarlanmamış,
parametreler boşluklarla ayrılır. Eğer IFS null, parametreler birleştirildi
araya ayırıcılar olmadan.
@ Birinden başlayarak konumsal parametrelere genişler. Genişleme gerçekleştiğinde
çift ​​tırnak içinde, her parametre ayrı bir kelimeye genişler. Yani, "$@"dir
eşittir "$1""$2" ...Çift tırnaklı genişletme bir kelime içinde gerçekleşirse,
ilk parametrenin genişlemesi, başlangıç ​​kısmı ile birleştirilir.
orijinal kelime ve son parametrenin genişlemesi son kısımla birleştirilir
orijinal kelimeden. Konumsal parametre olmadığında, "$@" ve $@ genişletmek
hiçbir şeye (yani, kaldırılırlar).
# Ondalık olarak konumsal parametrelerin sayısına genişler.
? En son yürütülen ön plan işlem hattının çıkış durumuna genişler.
- tarafından çağrıldığında belirtildiği gibi mevcut seçenek bayraklarına genişler. set
yerleşik komut veya kabuğun kendisi tarafından ayarlananlar (örneğin, -i seçenek).
$ Kabuğun işlem kimliğine genişler. Bir () alt kabuğunda,
alt kabuğun değil, geçerli kabuğun işlem kimliği.
! Arka plana en son yerleştirilen işin süreç kimliğine genişler,
asenkron bir komut olarak yürütülüp yürütülmediği veya bg yerleşik (bkz. İŞ
KONTROL altında).
0 Kabuk veya kabuk komut dosyasının adına genişler. Bu kabukta ayarlanmıştır
başlatma. Eğer darbe bir komut dosyasıyla çağrılır, $0 isme ayarlandı
o dosyanın. Eğer darbe ile başlatılır -c seçenek, o zaman $0 ilk olarak ayarlandı
varsa, yürütülecek dizeden sonra argüman. Aksi takdirde, ayarlanır
çağırmak için kullanılan dosya adına darbe, argüman sıfır tarafından verildiği gibi.
_ Kabuk başlangıcında, kabuğu veya kabuğu çağırmak için kullanılan mutlak yol adına ayarlayın
ortamda veya bağımsız değişken listesinde geçirildiği gibi yürütülmekte olan komut dosyası. Daha sonra,
genişletmeden sonra önceki komutun son argümanına genişler. Ayrıca
yürütülen ve içine yerleştirilen her komutu çağırmak için kullanılan tam yol adı
ortam bu komuta aktarılır. Postayı kontrol ederken, bu parametre
şu anda kontrol edilmekte olan posta dosyasının adı.

Kabuk Değişkenler
Aşağıdaki değişkenler kabuk tarafından belirlenir:

BASH Bu örneğini çağırmak için kullanılan tam dosya adına genişler. darbe.
BAŞOPTLAR
Etkinleştirilmiş kabuk seçeneklerinin iki nokta üst üste ayrılmış listesi. Listedeki her kelime geçerli bir
için argüman -s seçeneği alışveriş yerleşik komut (bkz. SHELL İNŞAAT KOMUTLAR
aşağıda). İçinde görünen seçenekler BAŞOPTLAR olarak bildirilenler on by alışveriş. Eğer
bu değişken ortamdayken darbe başlar, her bir kabuk seçeneği
Herhangi bir başlangıç ​​dosyasını okumadan önce liste etkinleştirilecektir. Bu değişken salt okunurdur.
BAŞPID
Geçerli işlemin işlem kimliğine genişler darbe işlem. Bu farklıdır $$ altında
gerektirmeyen alt kabuklar gibi belirli koşullar darbe yeniden olmak
başlatıldı.
BASH_ALIASES
Üyeleri dahili listeye karşılık gelen bir ilişkisel dizi değişkeni
tarafından korunan takma adlar takma ad yerleşik. Bu diziye eklenen öğeler
takma ad listesi; ayarsız dizi öğeleri, takma adların takma addan kaldırılmasına neden olur
liste.
BASH_ARGC
Değerleri, her çerçevedeki parametre sayısı olan bir dizi değişkeni
akım darbe yürütme çağrı yığını. Mevcut parametre sayısı
alt yordam (kabuk işlevi veya komut dosyası ile yürütülen . or kaynak) en üstte
yığın. Bir alt program yürütüldüğünde, geçirilen parametre sayısı
üzerine itildi BASH_ARGC. kabuk setleri BASH_ARGC yalnızca genişletilmiş hata ayıklama sırasında
modu (açıklamaya bakın) genişletilmiş hata ayıklama seçeneği alışveriş aşağıda yerleşik)
BASH_ARGV
Geçerli dizideki tüm parametreleri içeren bir dizi değişkeni darbe infaz
çağrı yığını. Son alt program çağrısının son parametresi, programın en üstündedir.
yığın; ilk aramanın ilk parametresi en alttadır. Ne zaman bir alt program
yürütülür, sağlanan parametreler üzerine itilir BASH_ARGV. kabuk setleri
BASH_ARGV yalnızca genişletilmiş hata ayıklama modundayken (bkz. genişletilmiş hata ayıklama
seçeneği alışveriş aşağıda yerleşik)
BASH_CMDS
Üyeleri dahili hash tablosuna karşılık gelen bir ilişkisel dizi değişkeni
tarafından sağlanan komutların esrar yerleşik. Bu diziye eklenen öğeler görünür
hash tablosunda; ayarsız dizi öğeleri, komutların dizinden kaldırılmasına neden olur.
hash tablosu.
BASH_COMMAND
Kabuk, şu anda yürütülmekte olan veya yürütülmek üzere olan komut, kabuk
bir tuzağın sonucu olarak bir komutu yürütmek, bu durumda komut
tuzak zamanında yürütülüyor.
BASH_EXECUTION_STRING
için komut argümanı -c çağırma seçeneği.
BASH_LINEHAYIR
Üyeleri kaynak dosyalardaki satır numaraları olan bir dizi değişkeni
ilgili üye İŞLEV ADI çağrıldı. ${BASH_LINEHAYIR[$i]} çizgi
kaynak dosyadaki numara (${BASH_SOURCE[$i+1]}) nerede ${FUNCNAME[$i]} aradı
(Ya da ${BASH_LINEHAYIR[$i-1]} başka bir kabuk işlevi içinde başvurulursa). Kullanmak LINENO
Geçerli satır numarasını almak için
BASH_REMATCH
Üyeleri tarafından atanan bir dizi değişkeni =~ ikili operatör [[
koşullu komut 0 indeksli eleman, dizgenin kısmıdır.
tüm normal ifadeyle eşleşen. İndeksli eleman n kısmıdır
eşleşen dize nparantez içindeki alt ifade. Bu değişken okunur-
bir tek.
BASH_SOURCE
Üyeleri kaynak dosya adları olan bir dizi değişkeni, karşılık gelen
kabuk işlevi adları İŞLEV ADI dizi değişkeni tanımlanır. Deniz kabuğu
işlev ${FUNCNAME[$i]} dosyada tanımlı ${BASH_SOURCE[$i]} ve şuradan aradı
${BASH_SOURCE[$i+1]}.
BASH_SUBSHELL
Kabuk kapatıldığında, her bir alt kabuk veya alt kabuk ortamında birer birer artırılır.
bu ortamda yürütmeye başlar. Başlangıç ​​değeri 0'dır.
BASH_VERSINFO
Üyeleri bu örnek için sürüm bilgilerini tutan salt okunur bir dizi değişkeni
of darbe. Dizi üyelerine atanan değerler aşağıdaki gibidir:
BASH_VERSINFO[0] Ana sürüm numarası ( serbest).
BASH_VERSINFO[1] Küçük sürüm numarası ( versiyon).
BASH_VERSINFO[2] Yama seviyesi.
BASH_VERSINFO[3] Yapı sürümü.
BASH_VERSINFO[4] Yayın durumu (örn. beta1).
BASH_VERSINFO[5] Değeri MAKİNA TİPİ.
BASH_VERSION
Bu örneğinin sürümünü açıklayan bir dizeye genişler. darbe.
COMP_CWORD
içine bir indeks ${COMP_WORDS} Geçerli imleç konumunu içeren kelimenin.
Bu değişken yalnızca programlanabilir komut dosyası tarafından çağrılan kabuk işlevlerinde mevcuttur.
tamamlama tesisleri (bkz. Programlanabilir Sürecin Tamamlanması altında).
COMP_KEY
Geçerli tamamlamayı çağırmak için kullanılan anahtar (veya bir anahtar dizisinin son anahtarı)
fonksiyonu.
COMP_LINE
Geçerli komut satırı. Bu değişken yalnızca kabuk işlevlerinde mevcuttur ve
programlanabilir tamamlama tesisleri tarafından çağrılan harici komutlar (bkz.
Programlanabilir Sürecin Tamamlanması altında).
COMP_POINT
Geçerli imleç konumunun geçerli başlangıcına göre dizini
emretmek. Geçerli imleç konumu geçerli komutun sonundaysa,
bu değişkenin değeri eşittir ${#COMP_LINE}. Bu değişken yalnızca kullanılabilir
programlanabilir tamamlama tarafından çağrılan kabuk işlevlerinde ve harici komutlarda
tesisler (bkz. Programlanabilir Sürecin Tamamlanması altında).
COMP_TYPE
Girişilen tamamlama türüne karşılık gelen bir tamsayı değerine ayarlayın.
bir tamamlama işlevinin çağrılmasına neden oldu: SEKME, normal tamamlama için, ?, Için
ardışık sekmelerden sonra tamamlamaları listeleme, !, alternatifleri kısmi olarak listelemek için
kelime tamamlama, @, sözcük değiştirilmemişse tamamlamaları listelemek için veya %, Için
menü tamamlama Bu değişken yalnızca kabuk işlevlerinde ve harici olarak kullanılabilir.
programlanabilir tamamlama tesisleri tarafından çağrılan komutlar (bkz. Programlanabilir
Sürecin Tamamlanması altında).
COMP_WORDBREAKS
olan karakter kümesi taleb kütüphane ne zaman kelime ayırıcı olarak davranır
kelime tamamlama gerçekleştirme. Eğer COMP_WORDBREAKS ayarsız, özelini kaybeder
özellikler, daha sonra sıfırlansa bile.
COMP_WORDS
Bir dizi değişkeni (bkz. Diziler aşağıda) tek tek kelimelerden oluşan
geçerli komut satırı. Satır olarak kelimelere bölünmüştür taleb bölecekti,
kullanma COMP_WORDBREAKS yukarıda anlatıldığı gibi. Bu değişken yalnızca kabukta kullanılabilir
programlanabilir tamamlama tesisleri tarafından çağrılan işlevler (bkz. Programlanabilir
Sürecin Tamamlanması altında).
COPROC Bir dizi değişkeni (bkz. Diziler aşağıda) dosya tanımlayıcılarını tutmak için yaratılmıştır.
isimsiz bir ortak işlemden çıktı ve girdi (bkz. yardımcı süreçler ile elde edilmiş).
DIRSTACK
Bir dizi değişkeni (bkz. Diziler aşağıda) mevcut içeriği içeren
dizin yığını. Dizinler, görüntülendikleri sırayla yığında görünür
tarafından dirs yerleşik. Bu dizi değişkeninin üyelerine atama,
zaten yığında bulunan dizinleri değiştirin, ancak pushd ve popd yerleşikler olmalı
dizin eklemek ve kaldırmak için kullanılır. Bu değişkene atama değişmeyecek
geçerli dizin. Eğer DIRSTACK ayarlanmaz, özel özelliklerini kaybeder, hatta
daha sonra sıfırlanırsa.
EUID Kabuk başlangıcında başlatılan geçerli kullanıcının etkin kullanıcı kimliğine genişler.
Bu değişken salt okunurdur.
İŞLEV ADI
Şu anda tüm kabuk işlevlerinin adlarını içeren bir dizi değişkeni
yürütme çağrı yığını. 0 dizinli öğe, şu anda herhangi bir öğenin adıdır.
kabuk işlevini yürütme. En alttaki eleman (en yüksek indekse sahip olan)
"ana"dır. Bu değişken yalnızca bir kabuk işlevi yürütülürken var olur.
atamalar İŞLEV ADI etkisi yoktur ve bir hata durumu döndürür. Eğer İŞLEV ADI is
kaldırılırsa, daha sonra sıfırlansa bile özel özelliklerini kaybeder.

Bu değişken ile kullanılabilir BASH_LINEHAYIR ve BASH_SOURCE. Her öğesi
İŞLEV ADI karşılık gelen unsurlara sahiptir BASH_LINEHAYIR ve BASH_SOURCE tanımlamak için
çağrı yığını. Örneğin, ${FUNCNAME[$i]} dosyadan çağrıldı
${BASH_SOURCE[$i+1]} satır numarasında ${BASH_LINEHAYIR[$i]}. arayan builtin
bu bilgiyi kullanarak mevcut çağrı yığınını görüntüler.
GRUPLARI Geçerli kullanıcının üyesi olduğu grupların listesini içeren bir dizi değişkeni
üye. atamalar GRUPLARI etkisi yoktur ve bir hata durumu döndürür. Eğer
GRUPLARI ayarlanmamışsa, daha sonra sıfırlansa bile özel özelliklerini kaybeder.
HISTCMD
Geçerli komutun geçmiş numarası veya geçmiş listesindeki dizini. Eğer
HISTCMD ayarlanmamışsa, sonradan olsa bile özel özelliklerini kaybeder.
sıfırlayın.
HOST ADI
Geçerli ana bilgisayarın adına otomatik olarak ayarlanır.
HOST TÜRÜ
üzerinde bulunduğu makinenin türünü benzersiz şekilde tanımlayan bir dizeye otomatik olarak ayarlanır.
darbe yürütüyor. Varsayılan, sisteme bağlıdır.
LINENO Bu parametreye her başvuru yapıldığında, kabuk bir ondalık sayının yerini alır.
bir komut dosyasındaki geçerli sıralı satır numarasını (1 ile başlayan) temsil etmek
veya işlev. Bir komut dosyasında veya işlevde olmadığında, değiştirilen değer
anlamlı olması garanti. Eğer LINENO ayarlanmaz, özel özelliklerini kaybeder,
sonradan sıfırlansa bile.
MAKİNA TİPİ
Sistem türünü tam olarak tanımlayan bir dizeye otomatik olarak ayarlanır. darbe is
yürütme, standart GNU'da işlemci-şirket-sistemi biçim. Varsayılan sistem-
bağımlı.
HARİTA DOSYASI
Bir dizi değişkeni (bkz. Diziler aşağıda) tarafından okunan metni tutmak için yaratılmıştır. harita dosyası
hiçbir değişken adı sağlanmadığında yerleşik.
ESKİPWD tarafından ayarlandığı şekliyle önceki çalışma dizini cd Komut.
OPTARG tarafından işlenen son seçenek argümanının değeri Getopts yerleşik komut (bkz.
SHELL İNŞAAT KOMUTLAR altında).
OPTİND Tarafından işlenecek bir sonraki bağımsız değişkenin dizini Getopts yerleşik komut (bkz.
SHELL İNŞAAT KOMUTLAR altında).
OSTİP üzerinde bulunduğu işletim sistemini tanımlayan bir dizeye otomatik olarak ayarlanır. darbe is
yürütme. Varsayılan, sisteme bağlıdır.
BORU DURUMU
Bir dizi değişkeni (bkz. Diziler aşağıda) çıkış durumu değerlerinin bir listesini içeren
en son yürütülen ön plan boru hattındaki süreçler (içerebilir
yalnızca tek bir komut).
PPID'ler Kabuğun üst öğesinin işlem kimliği. Bu değişken salt okunurdur.
PWD tarafından ayarlanan geçerli çalışma dizini cd Komut.
RASTGELE Bu parametreye her başvuru yapıldığında, 0 ile 32767 arasında rastgele bir tam sayı
oluşturuldu. Rastgele sayı dizisi, bir değer atanarak başlatılabilir.
için RASTGELE. Eğer RASTGELE ayarlanmamışsa, özel özelliklerini kaybeder.
daha sonra sıfırlayın.
READLINE_LINE
İçeriği taleb satır arabelleği, "bind -x" ile kullanım için (bkz. SHELL İNŞAAT
KOMUTLAR altında).
READLINE_POINT
Ekleme noktasının içindeki konumu taleb "bağlama" ile kullanım için satır arabelleği
-x" (bkz. SHELL İNŞAAT KOMUTLAR altında).
YANIT tarafından okunan giriş satırına ayarlayın. okumak hiçbir argüman olmadığında yerleşik komut
sağladı.
SANİYE
Bu parametreye her başvuru yapıldığında, kabuktan bu yana geçen saniye sayısı
çağrı döndürülür. Bir değer atanırsa SANİYE, döndürülen değer
sonraki referanslar, atamadan bu yana geçen saniye sayısı artı değerdir
atandı. Eğer SANİYE ayarlanmamışsa, özel özelliklerini kaybeder.
daha sonra sıfırlayın.
Kabuğu
Etkinleştirilmiş kabuk seçeneklerinin iki nokta üst üste ayrılmış listesi. Listedeki her kelime geçerli bir
için argüman -o seçeneği set yerleşik komut (bkz. SHELL İNŞAAT KOMUTLAR
aşağıda). İçinde görünen seçenekler Kabuğu olarak bildirilenler on by set -o. Eğer
bu değişken ortamdayken darbe başlar, her bir kabuk seçeneği
Herhangi bir başlangıç ​​dosyasını okumadan önce liste etkinleştirilecektir. Bu değişken salt okunurdur.
ŞLVL Bir örneği her seferinde bir artırılır darbe Başladı.
UID Kabuk başlangıcında başlatılan geçerli kullanıcının kullanıcı kimliğine genişler. Bu
değişken salt okunurdur.

Aşağıdaki değişkenler kabuk tarafından kullanılır. Bazı durumlarda, darbe bir varsayılan atar
bir değişkene değer; bu durumlar aşağıda belirtilmiştir.

BASH_COMPAT
Değer, kabuğun uyumluluk düzeyini ayarlamak için kullanılır. açıklamasına bakın
the alışveriş altında yerleşik SHELL İNŞAAT KOMUTLAR açıklaması için
çeşitli uyumluluk seviyeleri ve etkileri. Değer ondalık bir sayı olabilir
(örn. 4.2) veya istenen uyumluluğa karşılık gelen bir tam sayı (örn. 42)
seviyesi. Eğer BASH_COMPAT ayarlanmamış veya boş dizeye ayarlanmış, uyumluluk düzeyi
geçerli sürüm için varsayılana ayarlanmıştır. Eğer BASH_COMPAT bir değere ayarlandı
bu geçerli uyumluluk düzeylerinden biri değilse, kabuk bir hata yazdırır
mesajı ve uyumluluk düzeyini geçerli sürüm için varsayılana ayarlar.
Geçerli uyumluluk seviyeleri, aşağıdakiler tarafından kabul edilen uyumluluk seçeneklerine karşılık gelir:
the alışveriş aşağıda açıklanan yerleşik (örneğin, uyumluluk42 4.2 ve 42 olduğu anlamına gelir
geçerli değerler). Geçerli sürüm de geçerli bir değerdir.
BASH_ENV
Bu parametre ne zaman ayarlanırsa darbe bir kabuk betiği yürütüyor, değeri
olduğu gibi, kabuğu başlatmak için komutları içeren bir dosya adı olarak yorumlanır.
~ / .bashrc. Değeri BASH_ENV parametre genişletmeye tabi tutulur, komut
dosya adı olarak yorumlanmadan önce ikame ve aritmetik genişletme.
PATH sonuçtaki dosya adını aramak için kullanılmaz.
BASH_XTRACEFD
Geçerli bir dosya tanımlayıcıya karşılık gelen bir tam sayıya ayarlanırsa, darbe yazacak
iz çıktısı üretildiğinde set -x bu dosya tanımlayıcı için etkinleştirildi. Dosya
tanımlayıcı kapatıldığında BASH_XTRACEFD ayarlanmamış veya yeni bir değer atanmış.
ayarı bozma BASH_XTRACEFD veya boş dizeyi atamak, izleme çıktısının
standart hataya gönderilir. Bu ayarı unutmayın BASH_XTRACEFD 2'ye (standart
hata dosyası tanımlayıcısı) ve ardından ayarın kaldırılması standart hataya neden olur
kapatılıyor.
CDPATH için arama yolu cd emretmek. Bu, iki nokta üst üste ayrılmış bir dizin listesidir
kabuğun, tarafından belirtilen hedef dizinleri aradığı cd Komut.
Örnek değer ".:~:/ usr".
ÇOCUK_MAX
Kabuğun hatırlaması için çıkılan alt durum değerlerinin sayısını ayarlayın. Bash olacak
bu değerin POSIX tarafından zorunlu kılınan bir minimumun altına düşürülmesine izin vermeyin ve
bunun geçemeyeceği maksimum değer (şu anda 8192). minimum değer
sisteme bağlı.
ÖNE ÇIKAN HABERLER
Tarafından kullanılan seçmek yazdırırken terminal genişliğini belirlemek için bileşik komut
seçim listeleri. Otomatik olarak ayarlanırsa kontrol etmek seçenek etkinleştirildi veya bir
alındığında etkileşimli kabuk SIGVİNÇ.
KESİNLİKLE
Bir dizi değişkeni darbe tarafından oluşturulan olası tamamlamaları okur.
programlanabilir tamamlama tesisi tarafından çağrılan kabuk işlevi (bkz. Programlanabilir
Sürecin Tamamlanması aşağıda). Her dizi öğesi bir olası tamamlama içerir.
EMACS If darbe kabuk değer ile başladığında bu değişkeni ortamda bulur
"t", kabuğun bir Emacs kabuk arabelleğinde çalıştığını varsayar ve devre dışı bırakır
satır düzenleme.
ENV Benzer BASH_ENV; kabuk POSIX modunda çağrıldığında kullanılır.
FEDIT için varsayılan düzenleyici fc yerleşik komut.
FIGNORE
Dosya adı tamamlama gerçekleştirirken yoksayılacak iki nokta üst üste ayrılmış son ek listesi
(görmek OKUMA SIRASI aşağıda). Soneki içindeki girişlerden biriyle eşleşen bir dosya adı
FIGNORE eşleşen dosya adları listesinden çıkarılır. Örnek değer ".o:~" şeklindedir.
(Tilde işareti içeren bu değişkene bir değer atarken alıntı yapmak gerekir).
en eğlenceli
0'dan büyük bir sayısal değere ayarlanırsa, maksimum işlev iç içe yerleştirme düzeyi tanımlar.
Bu yuvalama düzeyini aşan işlev çağrıları, geçerli komuta neden olur
iptal etmek.
GLOBIGNORE
Tarafından yoksayılacak dosya adları kümesini tanımlayan iki nokta üst üste ayrılmış bir kalıp listesi
yol adı genişletme. Bir dosya adı, bir yol adı genişletme modeliyle de eşleşirse
içindeki desenlerden biriyle eşleşir GLOBIGNORE, eşleşmeler listesinden kaldırılır.
HISTKONTROL
Komutların geçmişe nasıl kaydedildiğini kontrol eden iki nokta üst üste ayrılmış bir değerler listesi
liste. Değer listesi şunları içeriyorsa yok sayma alanı, a ile başlayan satırlar uzay
karakter geçmiş listesine kaydedilmez. bir değeri yok sayılanlar çizgilere neden olur
kaydedilmemesi için önceki geçmiş girişiyle eşleşen. bir değeri yok saymak is
kısaltması yok sayma alanı ve yok sayılanlar. Değeri Silinen kopyalar öncekilerin tümüne neden olur
mevcut satırla eşleşen satırlar bundan önce geçmiş listesinden kaldırılacak
satır kaydedilir. Yukarıdaki listede olmayan herhangi bir değer yok sayılır. Eğer HISTKONTROL is
ayarlanmamışsa veya geçerli bir değer içermiyorsa, kabuk ayrıştırıcı tarafından okunan tüm satırlar
değerine bağlı olarak geçmiş listesine kaydedilir. HISTIGNORE. ikinci ve
çok satırlı bileşik komutun sonraki satırları test edilmez ve
değeri ne olursa olsun tarihin HISTKONTROL.
HISTDOSYASI
Komut geçmişinin kaydedildiği dosyanın adı (bkz. TARİHİ altında).
varsayılan değer ~ / .bash_history. Ayarlanmadıysa, komut geçmişi şu durumlarda kaydedilmez:
bir kabuk çıkar.
HISTFILESIZE
Geçmiş dosyasında bulunan maksimum satır sayısı. Bu değişken olduğunda
bir değer atandığında, geçmiş dosyası gerekirse daha fazlasını içermemesi için kısaltılır
en eski girişleri kaldırarak bu satır sayısından daha fazla. Geçmiş dosyası da
bir kabuk çıktığında yazıldıktan sonra bu boyuta kesilir. Değer 0 ise,
geçmiş dosyası sıfır boyuta kesilir. Sayısal olmayan değerler ve sayısal değerler daha az
sıfırdan daha fazla kesmeyi engeller. Kabuk, varsayılan değeri değerine ayarlar.
HISTBOYUT herhangi bir başlangıç ​​dosyasını okuduktan sonra.
HISTIGNORE
Hangi komut satırlarının olması gerektiğine karar vermek için kullanılan iki nokta üst üste ile ayrılmış bir kalıp listesi
geçmiş listesine kaydedilir. Her desen satırın başına sabitlenir
ve tam satırla eşleşmelidir (örtük `*' ektedir). Her desen
tarafından belirtilen kontrollerden sonra hatta karşı test edilmiştir. HISTKONTROL uygulanır. İçinde
normal kabuk deseni eşleştirme karakterlerine ek olarak, `&' öncekiyle eşleşiyor
tarih çizgisi. `&' ters eğik çizgi kullanılarak kaçılabilir; ters eğik çizgi kaldırıldı
bir maç denemeden önce. Çoklu satırın ikinci ve sonraki satırları
bileşik komut test edilmez ve ne olursa olsun geçmişe eklenir.
değeri HISTIGNORE.
HISTBOYUT
Komut geçmişinde hatırlanacak komutların sayısı (bkz. TARİHİ aşağıda). Eğer
değer 0'dır, komutlar geçmiş listesine kaydedilmez. Sayısal değerler daha az
geçmiş listesine kaydedilen her komutta sıfırdan fazla sonuç (hiçbir
sınır). Kabuk, herhangi bir başlangıç ​​dosyasını okuduktan sonra varsayılan değeri 500'e ayarlar.
GEÇMİŞ ZAMAN BİÇİMİ
Bu değişken ayarlanmışsa ve boş değilse, değeri, aşağıdakiler için bir biçim dizesi olarak kullanılır:
strftime(3) tarafından görüntülenen her bir geçmiş girişiyle ilişkili zaman damgasını yazdırmak için
the tarih yerleşik. Bu değişken ayarlanırsa, zaman damgaları
tarih dosyası, böylece kabuk oturumları arasında korunabilirler. Bu geçmişi kullanır
zaman damgalarını diğer geçmiş satırlarından ayırt etmek için yorum karakteri.
ANA SAYFA Geçerli kullanıcının ana dizini; için varsayılan argüman cd builtin
emretmek. Bu değişkenin değeri, tilde genişletmesi yapılırken de kullanılır.
ANA DOSYASI
ile aynı formatta bir dosyanın adını içerir. / Etc / hosts bu okunmalı
kabuğun bir ana bilgisayar adını tamamlaması gerektiğinde. Olası ana bilgisayar adı listesi
kabuk çalışırken tamamlamalar değiştirilebilir; bir sonraki ana bilgisayar adı
değer değiştirildikten sonra tamamlama denenir, darbe içeriğini ekler
mevcut listeye yeni dosya. Eğer ANA DOSYASI ayarlanmış, ancak değeri yok veya yok
okunabilir bir dosya adlandırın, darbe okumaya çalışır / Etc / hosts listesini almak için
olası ana bilgisayar adı tamamlamaları. Ne zaman ANA DOSYASI ayarlanmadı, ana bilgisayar adı listesi
temizlendi.
IFS The İç Alan Separatör genişlemeden sonra kelime bölmek için kullanılır ve
ile satırları kelimelere ayırın okumak yerleşik komut. Varsayılan değer
`` ''.
ENGELSİZ
Alındığında etkileşimli bir kabuğun eylemini kontrol eder. EOF olarak karakter
tek giriş. Ayarlanırsa, değer ardışık sayıdır. EOF hangi karakterler
önce bir giriş satırındaki ilk karakterler olarak yazılmalıdır. darbe çıkışlar. Eğer
değişken var ama sayısal bir değeri yok veya bir değeri yok, varsayılan
değeri 10'dur. Eğer yoksa, EOF kabuğa girdinin sonunu belirtir.
GİRİŞ
için dosya adı taleb başlangıç ​​dosyası, varsayılanı geçersiz kılar ~ / .inputrc
(görmek OKUMA SIRASI altında).
DİL Özel olarak seçilmemiş herhangi bir kategori için yerel kategoriyi belirlemek için kullanılır
ile başlayan bir değişkenle LC_.
LC_ALL Bu değişken değerini geçersiz kılar DİL ve başka LC_ değişken belirten bir
yerel kategori.
LC_COLLATE
Bu değişken, sonuçları sıralarken kullanılan harmanlama sırasını belirler.
yol adı genişletme ve aralık ifadelerinin davranışını belirler, denklik
sınıflar ve yol adı genişletme ve desen eşleştirme içindeki sıraları harmanlama.
LC_CTYPE
Bu değişken, karakterlerin yorumlanmasını ve karakterin davranışını belirler.
yol adı genişletme ve kalıp eşleştirme içindeki karakter sınıfları.
LC_MESSAGES
Bu değişken, çift tırnaklı dizeleri çevirmek için kullanılan yerel ayarı belirler.
öncesinde bir $.
LC_NUMERIC
Bu değişken, sayı biçimlendirme için kullanılan yerel ayar kategorisini belirler.
HATLARI Tarafından kullanılan seçmek yazdırma için sütun uzunluğunu belirlemek için bileşik komut
seçim listeleri. Otomatik olarak ayarlanırsa kontrol etmek seçenek etkinleştirildi veya bir
alındığında etkileşimli kabuk SIGVİNÇ.
POSTA Bu parametre bir dosya veya dizin adına ayarlanmışsa ve POSTA YOLU değişken
ayarlanmadı, darbe belirtilen dosyada postanın geldiğini kullanıcıya bildirir veya
Maildir biçimli dizin.
POSTA KONTROLÜ
Ne sıklıkta (saniye cinsinden) belirtir darbe postayı kontrol eder. Varsayılan 60 saniyedir.
Postayı kontrol etme zamanı geldiğinde, kabuk bunu birincil postayı görüntülemeden önce yapar.
çabuk. Bu değişken ayarlanmamışsa veya daha büyük olmayan bir değere ayarlanmışsa
sıfıra eşit veya sıfıra eşitse, kabuk posta denetimini devre dışı bırakır.
POSTA YOLU
Posta için kontrol edilecek dosya adlarının iki nokta üst üste ile ayrılmış listesi. olması gereken mesaj
belirli bir dosyaya posta geldiğinde yazdırılan
`?' ile mesajdan dosya adı. Mesaj metninde kullanıldığında, $_
geçerli posta dosyasının adına genişler. Örnek:
POSTA YOLU='/var/mail/bfox?"Postanız var":~/kabuk-posta?"$_ postası var!"'
Cümbüş bu değişken için varsayılan bir değer sağlar, ancak kullanıcı postasının konumu
kullandığı dosyalar sisteme bağlıdır (örn. /var/posta/$ USER).
OPTER 1 değerine ayarlanırsa, darbe tarafından oluşturulan hata mesajlarını görüntüler. Getopts
yerleşik komut (bkz. SHELL İNŞAAT KOMUTLAR altında). OPTER 1 olarak başlatıldı
kabuk her çağrıldığında veya bir kabuk betiği yürütüldüğünde.
PATH Komutlar için arama yolu. Bu, iki nokta üst üste ile ayrılmış bir dizin listesidir.
kabuk komutları arar (bkz. KOMUT UYGULAMA altında). Sıfır uzunluklu (boş)
değerinde dizin adı PATH geçerli dizini gösterir. bir boş
dizin adı, iki bitişik iki nokta üst üste veya ilk veya son olarak görünebilir.
kolon. Varsayılan yol sisteme bağlıdır ve bunu yapan yönetici tarafından belirlenir.
Uygulamayı yükleyen darbe. Ortak bir değer ``/ Usr / local / bin:/ usr / local / sbin:/ Usr / bin:
/ usr / sbin:/çöp Kutusu:/ sbin''.
POSIXLY_DOĞRU
Bu değişken ortamda ise darbe başlar, kabuk girer posix
kip başlangıç ​​dosyalarını okumadan önce, sanki --posix çağırma seçeneği vardı
tedarik edildi. Kabuk çalışırken ayarlanırsa, darbe sağlar posix kip, sanki
komuta set -o posix idam edilmişti.
PROMPT_KOMUTANLIĞI
Ayarlanırsa, değer, her bir birincil bilgi isteminin yayınlanmasından önce bir komut olarak yürütülür.
PROMPT_DIRTRIM
Sıfırdan büyük bir sayıya ayarlanırsa değer, takip eden sayı olarak kullanılır.
genişletilirken tutulacak dizin bileşenleri \w ve \W istem dizesi kaçar
(görmek SORGULAMA altında). Kaldırılan karakterler bir üç nokta ile değiştirilir.
PS1 Bu parametrenin değeri genişletilir (bkz. SORGULAMA aşağıda) ve olarak kullanılır
birincil bilgi istemi dizesi. Varsayılan değer ``\s-\v\$ ''.
PS2 Bu parametrenin değeri aşağıdaki gibi genişletilir: PS1 ve ikincil olarak kullanılır
komut satırı. Varsayılan ``> ''.
PS3 Bu parametrenin değeri, komut istemi olarak kullanılır. seçmek komut (bkz. SHELL
DİLBİLGİSİ ile elde edilmiş).
PS4 Bu parametrenin değeri aşağıdaki gibi genişletilir: PS1 ve değer önce yazdırılır
her komut darbe bir yürütme izlemesi sırasında görüntülenir. ilk karakter PS4
birden çok düzeyini belirtmek için gerektiğinde birden çok kez çoğaltılır.
dolaylı. Varsayılan ``+ ''.
SHELL Kabuğa giden tam yol adı bu ortam değişkeninde tutulur. Ya değilse
kabuk başladığında ayarlayın, darbe ona akımın tam yol adını atar
kullanıcının oturum açma kabuğu.
ZAMAN FORMATI
Bu parametrenin değeri, zamanlamanın nasıl olacağını belirten bir biçim dizgisi olarak kullanılır.
ile ön eklenmiş boru hatları için bilgi zaman ayrılmış kelime görüntülenmelidir.
The % karakter, bir zaman değerine genişletilen bir kaçış dizisi sunar veya
diğer bilgiler. Kaçış dizileri ve anlamları şu şekildedir; en
parantezler isteğe bağlı bölümleri belirtir.
%% Bir edebi %.
%[p][l]R Saniye cinsinden geçen süre.
%[p][lu Kullanıcı modunda harcanan CPU saniyesi sayısı.
%[p][l]S Sistem modunda harcanan CPU saniyesi sayısı.
%P (%U + %S) / %R olarak hesaplanan CPU yüzdesi.

İsteğe bağlı p belirten bir rakamdır hassas, kesirli basamak sayısı
ondalık noktadan sonra. 0 değeri, ondalık nokta veya kesir olmamasına neden olur
çıktı. Ondalık noktadan sonra en fazla üç basamak belirtilebilir; değerleri p
3'ten büyük ise 3 olarak değiştirilir. p belirtilmez, 3 değeri kullanılır.

İsteğe bağlı l formun dakika dahil daha uzun bir biçimini belirtir MMmSS.FFs.
Değeri p kesrin olup olmadığını belirler.

Bu değişken ayarlanmazsa, darbe değeri varmış gibi davranır
$'\ngerçek\t%3lR\nuser\t%3lU\nsys\t%3lS'. Değer null ise, zamanlama yok
bilgileri görüntülenir. Biçim dizesi olduğunda, sondaki yeni satır eklenir.
Görüntülenen.
MUTLAKA Sıfırdan büyük bir değere ayarlanırsa, MUTLAKA için varsayılan zaman aşımı olarak kabul edilir
the okumak yerleşik. bu seçmek girdi sonra gelmezse komut sona erer
MUTLAKA giriş bir terminalden geldiğinde saniye. Etkileşimli bir kabukta,
değer, sonra bir giriş satırı için beklenecek saniye sayısı olarak yorumlanır.
birincil istemi yayınlama. Cümbüş bu sayıyı bekledikten sonra sona erer
tam bir giriş satırı gelmezse saniye.
TMPDIR ayarlanırsa, darbe değerini, içinde bulunduğu bir dizinin adı olarak kullanır. darbe oluşturur
kabuğun kullanımı için geçici dosyalar.
otomatik_özgeçmiş
Bu değişken, kabuğun kullanıcı ve iş denetimi ile nasıl etkileşime gireceğini kontrol eder. Eğer
bu değişken ayarlanır, yeniden yönlendirme içermeyen tek kelimelik basit komutlar işlenir
Mevcut bir durdurulmuş işin yeniden başlatılması için adaylar olarak. belirsizlik yok
izin verilmiş; yazılan dize ile başlayan birden fazla iş varsa, iş
en son erişilen seçilir. bu isim Bu bağlamda durdurulan bir işin
başlatmak için kullanılan komut satırı. değere ayarlanırsa kesin, sağlanan dize
durdurulan işin adıyla tam olarak eşleşmelidir; ayarlanırsa alt dize, dize
sağlanan, durdurulan bir işin adının bir alt dizesiyle eşleşmesi gerekir. bu alt dize
değer, şuna benzer işlevsellik sağlar %? iş tanımlayıcısı (bkz. İŞ KONTROL
altında). Başka bir değere ayarlanırsa, sağlanan dize bir ön ek olmalıdır.
durdurulan işin adı; bu, şuna benzer işlevsellik sağlar %dizi
tanımlayıcı.
geçmiş karakterler
Geçmiş genişletmeyi ve simgeleştirmeyi kontrol eden iki veya üç karakter (bkz.
TARİHİ GENİŞLEME altında). İlk karakter, tarih genişleme karakter,
bir tarih genişlemesinin başlangıcını işaret eden karakter, normalde `!'.
ikinci karakter ise hızlı ikame steno olarak kullanılan karakter
girilen önceki komutu yeniden çalıştırmak için, bir dizeyi diğeriyle değiştirmek için
komuta. Varsayılan `^'. İsteğe bağlı üçüncü karakter, karakterdir
bu, ilk olarak bulunduğunda satırın geri kalanının bir yorum olduğunu gösterir.
bir kelimenin karakteri, normalde `#'. Geçmiş yorum karakteri tarihe neden olur
satırda kalan kelimeler için atlanacak ikame. O değil
kabuk ayrıştırıcısının satırın geri kalanını yorum olarak ele almasına neden olur.

Diziler
Cümbüş tek boyutlu dizinlenmiş ve ilişkisel dizi değişkenleri sağlar. herhangi bir değişken olabilir
dizinlenmiş bir dizi olarak kullanılabilir; en bildirmek yerleşik açıkça bir dizi bildirecektir. Orası
bir dizinin boyutunda maksimum sınır veya üyelerin dizine eklenmesi için herhangi bir gereklilik yoktur.
veya bitişik olarak atanır. Dizine alınmış dizilere tamsayılar kullanılarak başvurulur (dahil
aritmetik ifadeler) ve sıfır tabanlıdır; ilişkisel diziler kullanılarak başvurulur
keyfi dizeler. Aksi belirtilmediği sürece, indekslenmiş dizi indeksleri negatif olmamalıdır
tamsayılar.

Sözdizimi kullanılarak herhangi bir değişken atanırsa, dizine alınmış bir dizi otomatik olarak oluşturulur
isim[altindis]=değer. altindis olması gereken aritmetik bir ifade olarak ele alınır.
bir sayıya göre değerlendirin. Dizine alınmış bir diziyi açıkça bildirmek için şunu kullanın: bildirmek -a isim (görmek
SHELL İNŞAAT KOMUTLAR altında). bildirmek -a isim[altindis] ayrıca kabul edilir; en altindis
dikkate alınmaz.

İlişkisel diziler kullanılarak oluşturulur bildirmek -A isim.

Bir dizi değişkeni için öznitelikler şu şekilde belirtilebilir: bildirmek ve Sadece oku yerleşikler.
Her öznitelik, bir dizinin tüm üyeleri için geçerlidir.

Diziler, formun bileşik atamalarını kullanmaya atanır isim=(değer1 ... değern),
her biri değer şeklindedir [altindis]=dizi. Dizinlenmiş dizi atamaları
başka bir şeye ihtiyaç duymak dizi. İndekslenmiş dizilere atanırken, isteğe bağlı parantezler varsa
ve alt simge sağlanır, bu dizin atanır; aksi halde öğenin dizini
atanan, ifade artı bir tarafından atanan son dizindir. İndeksleme şurada başlar:
sıfır.

İlişkili bir diziye atanırken, alt simge gereklidir.

Bu sözdizimi aynı zamanda bildirmek yerleşik. Bireysel dizi öğeleri şunlar olabilir:
kullanmakla görevlendirilmiş isim[altindis]=değer sözdizimi yukarıda tanıtılmıştır. Bir kişiye atanırken
dizine alınmış dizi, eğer isim Negatif bir sayı ile gösterilir, bu sayı şu şekilde yorumlanır:
maksimum indeksinden daha büyük birine göre isim, bu nedenle negatif endeksler geri sayar
dizinin sonundan itibaren ve -1 dizini son öğeye başvurur.

Bir dizinin herhangi bir elemanına ${ kullanılarak başvurulabilir.isim[altindis]}. diş telleri
yol adı genişletmesiyle çakışmaları önlemek için gereklidir. Eğer altindis is @ or *, kelime
tüm üyelerine genişler isim. Bu abonelikler, yalnızca sözcük içinde göründüğünde farklılık gösterir.
ikili alıntı. Sözcük çift tırnak içine alınmışsa, ${isim[*]} ile tek bir kelimeye genişler
dizinin ilk karakteriyle ayrılmış her bir dizi üyesinin değeri IFS özel değişken,
ve ${isim[@]} öğesinin her öğesini genişletir isim ayrı bir kelimeye. Dizi olmadığında
üyeler, ${isim[@]} hiçbir şeye genişler. Çift tırnaklı genişleme bir aralık içinde gerçekleşirse
word, ilk parametrenin genişlemesi, başlangıç ​​​​kısmı ile birleştirilir.
orijinal kelime ve son parametrenin genişlemesi, programın son kısmı ile birleştirilir.
orijinal kelime. Bu, özel parametrelerin genişletilmesine benzer. * ve @ (görmek
Özel parametreler üstünde). ${#isim[altindis]} uzunluğuna genişler
${isim[altindis]}. Eğer altindis is * or @, genişleme öğelerin sayısıdır
dizi. Alt simge olmadan bir dizi değişkenine başvurmak, başvurmakla eşdeğerdir
0 indisli dizi. altindis bir öğeye başvurmak için kullanılır
dizine alınmış dizi sıfırdan küçük bir sayı olarak değerlendirilir, bire göre yorumlanır
dizinin maksimum indeksinden daha büyük, bu nedenle negatif indeksler sondan geriye doğru sayılır
dizinin ve -1 dizini son öğeye başvurur.

Bir alt simgeye bir değer atanmışsa, dizi değişkeni küme olarak kabul edilir. boş
dize geçerli bir değerdir.

Bir dizinin anahtarlarını (endekslerini) ve değerleri elde etmek mümkündür.
${!isim[@]} ve ${!isim[*]} dizi değişkeninde atanan dizinlere genişlet isim.
çift ​​tırnak içindeyken yapılan işlem, özel parametrelerin genişletilmesine benzer @
ve * çift ​​tırnak içinde.

The ayarlanmazsa Yerleşik dizileri yok etmek için kullanılır. ayarlanmazsa isim[altindis] diziyi yok eder
dizindeki eleman altindis. İndekslenmiş dizilerin negatif aboneleri şu şekilde yorumlanır:
Yukarıda tarif edilen. Yol adının neden olduğu istenmeyen yan etkilerden kaçınmak için özen gösterilmelidir.
genişleme. ayarlanmazsa isim, Burada isim bir dizidir veya ayarlanmazsa isim[altindis], nerede altindis
is * or @, tüm diziyi kaldırır.

The bildirmek, yerel, ve Sadece oku yerleşiklerin her biri bir kabul eder -a dizine alınmış bir belirtme seçeneği
dizi ve bir -A ilişkisel bir dizi belirtme seçeneği. Her iki seçenek de sağlanırsa, -A
öncelik alır. bu okumak yerleşik bir kabul eder -a okunan kelimelerin bir listesini atama seçeneği
standart girdiden bir diziye. bu set ve bildirmek yerleşikler dizi değerlerini şurada görüntüler
ödev olarak yeniden kullanılmalarına izin veren bir yol.

GENİŞLEME


Genişletme, kelimelere bölündükten sonra komut satırında gerçekleştirilir. Var
yedi çeşit genişleme gerçekleştirildi: bağ genişleme, tilde genişleme, parametre ve
değişken genişleme, komuta ikame, aritmetik genişleme, sözcük bölme, ve
yol adı genişleme.

Genişletmelerin sırası şöyledir: köşeli ayraç genişletme; tilde genişletme, parametre ve değişken
genişletme, aritmetik genişletme ve komut değiştirme (soldan sağa yapılır)
moda); kelime bölme; ve yol adı genişletme.

Bunu destekleyebilen sistemlerde ek bir genişletme mevcuttur: süreç
ikame. Bu, tilde, parametre, değişken ve
aritmetik genişletme ve komut ikamesi.

Yalnızca ayraç genişletme, sözcük bölme ve yol adı genişletme
genişleme sözleri; diğer açılımlar tek bir kelimeyi tek bir kelimeye genişletir. Tek
bunun istisnaları "$@" ve "${isim[@]}" yukarıda açıklandığı gibi (bkz.
PARAMETRELERİ).

bağ Genişleme
bağ genişleme rasgele dizelerin oluşturulabileceği bir mekanizmadır. Bu
mekanizma şuna benzer yol adı genişleme, ancak oluşturulan dosya adlarının mevcut olması gerekmez.
Genişletilecek olan desenler, isteğe bağlı bir önsöz, ardından bir
virgülle ayrılmış bir dizi dizi veya bir çift parantez arasında bir dizi ifadesi,
ardından isteğe bağlı dipnot. Önsöz, içerdiği her dizenin önüne eklenir
parantezler içinde ve postscript daha sonra elde edilen her dizgeye eklenir ve genişler
soldan sağa.

Brace açılımları iç içe olabilir. Genişletilmiş her dizenin sonuçları sıralanmaz; ayrıldı
doğru sıra korunur. Örneğin, bir{d,c,b}e, "ade ace abe" olarak genişler.

Bir dizi ifadesi formu alır {x..y[..artış]}, Burada x ve y ya tam sayılardır ya da
tek karakterler ve artış, isteğe bağlı bir artış, bir tamsayıdır. tamsayılar olduğunda
sağlandığında, ifade arasındaki her sayıya genişler. x ve y, dahil. Sağlanan
tamsayılar ile önek olabilir 0 her terimi aynı genişliğe sahip olmaya zorlamak için. ne zaman x
or y sıfır ile başlar, kabuk, oluşturulan tüm terimleri
aynı sayıda basamak, gerektiğinde sıfır doldurma. Karakterler sağlandığında,
ifade arasında sözlükbilimsel olarak her karaktere genişler x ve y, dahil, kullanarak
varsayılan C yerel ayarı. Her ikisinin de x ve y aynı türden olmalıdır. Ne zaman
artış sağlanırsa, her terim arasındaki fark olarak kullanılır. Varsayılan
artış, duruma göre 1 veya -1'dir.

Ayraç genişletmesi, diğer genişletmelerden önce ve herhangi bir karaktere özel karakterlerden önce gerçekleştirilir.
sonuçta diğer genişlemeler korunur. Kesinlikle metinseldir. Cümbüş değil
herhangi bir sözdizimsel yorumu genişletmenin bağlamına veya metinler arasındaki metne uygulayın.
diş telleri.

Doğru biçimlendirilmiş bir küme genişletmesi, tırnak içine alınmamış açma ve kapama köşeli ayraçları içermelidir ve
en az bir alıntı yapılmamış virgül veya geçerli bir dizi ifadesi. Herhangi bir yanlış biçimlendirilmiş ayraç
genişleme değişmeden kalır. A { or , olmasını önlemek için ters eğik çizgi ile alıntı yapılabilir
bir ayraç ifadesinin parçası olarak kabul edilir. Parametre genişletme ile çakışmaları önlemek için,
dizi ${ destek genişletmesi için uygun kabul edilmez.

Bu yapı, tipik olarak, kullanılacak dizelerin ortak öneki olduğunda stenografi olarak kullanılır.
oluşturulan, yukarıdaki örnekten daha uzundur:

mkdir /usr/local/src/bash/{eski,yeni,dist,bugs}
or
chown kök /usr/{ucb/{ex,edit},lib/{ex?.?*,how_ex}}

Brace genişlemesi, tarihsel sürümleriyle hafif bir uyumsuzluk getirir. sh. sh
Bir kelimenin parçası olarak göründüklerinde açma veya kapama parantezlerini özel olarak ele almaz ve
bunları çıktıda korur. Cümbüş parantezin bir sonucu olarak parantezleri kelimelerden kaldırır
genleşme. Örneğin, girilen bir kelime sh as dosya{1,2} aynı şekilde görünüyor
çıktı. Aynı kelime şu şekilde çıktı: file1 file2 tarafından genişletildikten sonra darbe. sıkı ise
ile uyumluluk sh isteniyorsa başla darbe ile +B seçenek veya ayraç genişletmeyi devre dışı bırak
ile +B seçeneği set komut (bkz. SHELL İNŞAAT KOMUTLAR altında).

tilde Genişleme
Bir kelime, tırnak içine alınmamış bir tilde karakteriyle başlıyorsa (`~'), önceki tüm karakterler
ilk tırnaksız eğik çizgi (veya tırnaksız eğik çizgi yoksa tüm karakterler) dikkate alınır
a tilde öneki. Yaklaşık önekindeki karakterlerden hiçbiri alıntılanmamışsa, karakterler
tilde'yi takip eden tilde önekinde olası olarak ele alınır giriş isim. Eğer bu
oturum açma adı boş dizedir, yaklaşık işareti kabuk parametresinin değeriyle değiştirilir
ANA SAYFA. Eğer ANA SAYFA ayarlanmadıysa, kabuğu çalıştıran kullanıcının ana dizini değiştirilir
Bunun yerine. Aksi takdirde, tilde öneki, ile ilişkili ana dizini ile değiştirilir.
belirtilen oturum açma adı.

Yaklaşık öneki bir `~+' ise, kabuk değişkeninin değeri PWD tilde'nin yerini alır-
önek. Yaklaşık öneki bir `~-' ise, kabuk değişkeninin değeri ESKİPWD, Öyleyse
küme, değiştirilir. Yaklaşık önekinde yaklaşık işaretinden sonraki karakterler şunlardan oluşuyorsa:
bir sayı N, isteğe bağlı olarak bir '+' veya '-' öneki ile, tilde öneki ile değiştirilir
tarafından görüntüleneceği gibi, dizin yığınından karşılık gelen öğe dirs
Yerleşik, argüman olarak tilde öneki ile çağrılır. Aşağıdaki karakterler ise
tilde önekindeki tilde, başında '+' veya '-' olmayan bir sayıdan oluşur, '+'
varsayıldı.

Oturum açma adı geçersizse veya yaklaşık genişletme başarısız olursa, sözcük değişmez.

Her değişken ataması, bir :
ya da ilk =. Bu durumlarda tilde genişletme de yapılır. Sonuç olarak, bir kişi
atamalarda yaklaşık işaretli dosya adlarını kullanın PATH, POSTA YOLU, ve CDPATH, ve kabuk
genişletilmiş değeri atar.

Parametre Genişleme
`$' karakteri parametre genişletmeyi, komut değiştirmeyi veya aritmetiği tanıtır
genleşme. Genişletilecek parametre adı veya sembolü parantez içine alınabilir.
isteğe bağlıdır, ancak genişletilecek değişkeni hemen karakterlerden korumaya yarar
onu takip eden, adın bir parçası olarak yorumlanabilir.

Ayraçlar kullanıldığında, eşleşen bitiş ayracı ilk `}'kaçan değil
ters eğik çizgi veya tırnak içine alınmış bir dize içinde ve gömülü bir aritmetik genişletme içinde değil,
komut değiştirme veya parametre genişletme.

${parametre}
Değeri parametre ikame edilir. Diş telleri ne zaman gereklidir? parametre bir
birden fazla basamaklı konumsal parametre veya parametre arkasından bir
adının bir parçası olarak yorumlanmayacak olan karakter. bu parametre bir
yukarıda açıklandığı gibi kabuk parametresi PARAMETRELERİ) veya bir dizi referansı (Diziler).

Eğer ilk karakter parametre bir ünlem işaretidir (!), bir seviye tanıtır.
değişken dolaylı Cümbüş geri kalanından oluşturulan değişkenin değerini kullanır
parametre değişkenin adı olarak; bu değişken daha sonra genişletilir ve bu değer
değerinden ziyade ikamenin geri kalanında kullanılır. parametre kendisi. Bu
olarak bilinir dolaylı genişleme. Bunun istisnaları ${ genişletmeleridir.!önek*} ve
${!isim[@]} Aşağıda açıklanan. Ünlem işareti hemen sol parantezden sonra gelmelidir
dolaylılığı tanıtmak için.

Aşağıdaki durumların her birinde, sözcük tilde genişletmeye, parametre genişletmeye tabidir,
komut ikamesi ve aritmetik genişletme.

Alt dizi genişletmesi yapılmadığında, aşağıda belgelenen formları kullanarak (örn. :-), darbe
ayarlanmamış veya boş olan bir parametreyi test eder. İki nokta üst üste işaretinin atlanması yalnızca bir testle sonuçlanır
ayarlanmamış bir parametre için.

${parametre:-sözcük}
kullanım Varsayılan Değerler. Eğer parametre unset veya null, genişletilmesi sözcük is
ikame edilmiş. Aksi takdirde, değeri parametre değiştirilir.
${parametre:=sözcük}
Atamak Varsayılan Değerler. Eğer parametre unset veya null, genişletilmesi sözcük is
atandı parametre. Değeri parametre sonra ikame edilir. Konumsal
parametreler ve özel parametreler bu şekilde atanamaz.
${parametre:?sözcük}
ekran Hata if Null or Ayarı kaldır. Eğer parametre boş veya ayarlanmamış, genişletme
sözcük (veya bu yönde bir mesaj varsa sözcük mevcut değil) yazılır.
standart hata ve etkileşimli değilse kabuk çıkar. Aksi takdirde,
değeri parametre değiştirilir.
${parametre:+sözcük}
kullanım Alternatif Özellik. Eğer parametre null veya ayarlanmadı, hiçbir şey değiştirilmedi,
aksi takdirde genişleme sözcük değiştirilir.
${parametre:ofset}
${parametre:ofset:uzunluk}
Alt dize Genişleme. kadar genişler uzunluk değerinin karakterleri parametre
tarafından belirtilen karakterden başlayarak ofset. Eğer parametre is @, dizine alınmış bir dizi
tarafından abone olunan @ or *veya bir ilişkisel dizi adı, sonuçlar şu şekilde farklılık gösterir:
Aşağıda açıklanan. Eğer uzunluk atlanır, değerinin alt dizisine genişler
parametre tarafından belirtilen karakterden başlayarak ofset ve sonuna kadar uzanan
değer. uzunluk ve ofset aritmetik ifadelerdir (bkz. ARİTMETİK DEĞERLENDİRME
altında).

If ofset sıfırdan küçük bir sayı olarak değerlendirilirse, değer ofset olarak kullanılır.
değerinin sonundaki karakterler parametre. Eğer uzunluk bir sayıya göre değerlendirir
sıfırdan küçükse, sonundan itibaren karakterlerde bir ofset olarak yorumlanır.
değeri parametre bir dizi karakterden ziyade ve genişleme
arasındaki karakterler ofset ve bu sonuç. Negatif bir ofset olması gerektiğini unutmayın
ile karıştırılmaması için kolondan en az bir boşlukla ayrılır. :-
genişleme.

If parametre is @sonuç uzunluk başlayan konumsal parametreler ofset.
Olumsuz ofset en büyük konumsaldan daha büyük birine göre alınır
parametre, dolayısıyla -1 ofseti son konumsal parametreyi değerlendirir. O bir
genişleme hatası ise uzunluk sıfırdan küçük bir sayı olarak değerlendirilir.

If parametre @ veya * ile belirtilen dizine alınmış bir dizi adıdır, sonuç şudur:
uzunluk ${ ile başlayan dizinin üyeleriparametre[ofset]}. Olumsuz ofset
belirtilen dizinin maksimum dizininden daha büyük bir değere göre alınır. o
bir genişleme hatası ise uzunluk sıfırdan küçük bir sayı olarak değerlendirilir.

İlişkili bir diziye uygulanan alt dize genişletmesi, tanımsız sonuçlar üretir.

Alt dizi indeksleme, konumsal parametreler kullanılmadığı sürece sıfır tabanlıdır.
bu durumda indeksleme varsayılan olarak 1'den başlar. Eğer ofset 0 ve konumsal
parametreler kullanılır, $0 listenin önüne eklenir.

${!önek*}
${!önek@}
İsimler uygun önek. Adları ile başlayan değişkenlerin adlarına genişler
önek, ilk karakteriyle ayrılmış IFS özel değişken. Ne zaman @ is
kullanılır ve genişletme çift tırnak içinde görünür, her değişken adı
ayrı bir kelime.

${!isim[@]}
${!isim[*]}
Liste of dizi anahtarlar. Eğer isim bir dizi değişkenidir, dizi listesine genişler
atanan dizinler (anahtarlar) isim. Eğer isim bir dizi değil, eğer 0'a genişler isim is
ayarlayın ve aksi takdirde boş bırakın. Ne zaman @ kullanılır ve genişleme çift içinde görünür
tırnak işaretleri, her anahtar ayrı bir kelimeye genişler.

${#parametre}
Parametre uzunluk. Değerinin karakter cinsinden uzunluğu parametre is
ikame edilmiş. Eğer parametre is * or @, değiştirilen değer sayısıdır
konumsal parametreler. Eğer parametre tarafından indislenen bir dizi adıdır * or @,
değiştirilen değer, dizideki öğelerin sayısıdır. Eğer parametre bir
Negatif bir sayı ile indislenmiş dizine alınmış dizi adı, bu sayı şu şekilde yorumlanır:
maksimum indeksinden daha büyük birine göre parametre, yani negatif endeksler
dizinin sonundan geriye doğru sayın ve -1 dizini sonuncuya başvurur
eleman.

${parametre#sözcük}
${parametre##sözcük}
Kaldır uygun önek model. sözcük tıpkı bir desen üretmek için genişletilir
yol adı genişletmesinde. Desen, değerinin başlangıcıyla eşleşirse
parametre, o zaman genişlemenin sonucu, genişletilmiş değerdir. parametre ile
en kısa eşleşen desen (``#'' durum) veya en uzun eşleşen desen (
``##'' durum) silindi. Eğer parametre is @ or *, desen kaldırma işlemi
sırayla her konumsal parametreye uygulanır ve genişleme sonuçtur.
liste. Eğer parametre ile indislenmiş bir dizi değişkenidir @ or *, desen
Sırayla dizinin her bir üyesine çıkarma işlemi uygulanır ve genişletme
sonuç listesidir.

${parametre%sözcük}
${parametre%%sözcük}
Kaldır uygun sonek model. sözcük tıpkı bir desen üretmek için genişletilir
yol adı genişletmesinde. Desen, genişletilmiş desenin sondaki kısmıyla eşleşirse
değeri parametre, o zaman genişlemenin sonucu, genişletilmiş değerdir.
parametre en kısa eşleşen desenle (``%'' durum) veya en uzun
eşleşen desen (``%%'' durum) silindi. Eğer parametre is @ or *, desen
kaldırma işlemi sırayla her bir konumsal parametreye uygulanır ve
genişleme sonuç listesidir. Eğer parametre indislenmiş bir dizi değişkenidir
ile @ or *, desen kaldırma işlemi dizinin her bir üyesine uygulanır.
sırayla ve genişleme sonuçta ortaya çıkan listedir.

${parametre/model/dizi}
model ikame. model olduğu gibi bir desen üretmek için genişletilir
yol adı genişletme. Parametre genişletilmiş ve en uzun eşleşme model karşı
değeri ile değiştirilir dizi. Eğer model İle başlar /, tüm maçlar
model ile değiştirildi dizi. Normalde sadece ilk eşleşme değiştirilir. Eğer
model İle başlar #, genişletilmiş değerinin başında eşleşmelidir
parametre. Eğer model İle başlar %, genişletilmiş satırın sonunda eşleşmelidir
değeri parametre. Eğer dizi null, eşleşmeleri model silinir ve /
takip etme model ihmal edilebilir. Eğer parametre is @ or *, ikame
işlem, her konumsal parametreye sırayla uygulanır ve genişleme,
sonuç listesi. Eğer parametre ile indislenmiş bir dizi değişkenidir @ or *,
Sırayla dizinin her bir üyesine ikame işlemi uygulanır ve
genişleme sonuç listesidir.

${parametre^model}
${parametre^^model}
${parametre,model}
${parametre,,model}
dava değişiklik. Bu genişletme, içindeki alfabetik karakterlerin durumunu değiştirir.
parametre. model yol adında olduğu gibi bir kalıp üretmek için genişletilir
genleşme. Genişletilmiş değerindeki her karakter parametre karşı test edilir
model, ve desenle eşleşirse büyük/küçük harf dönüştürülür. desen
birden fazla karakter eşleştirmeye çalışmayın. bu ^ operatör küçük harfe dönüştürür
eşleşen harfler model büyük harfe; en , operatör eşleşen büyük harfe dönüştürür
harfler küçük harf. bu ^^ ve ,, genişletmeler, eşleşen her karakteri şu şekilde dönüştürür:
genişletilmiş değer; en ^ ve , genişletmeler eşleşir ve yalnızca ilkini dönüştürür
genişletilmiş değerdeki karakter. Eğer model atlanırsa, bir ?,
hangi her karakterle eşleşir. Eğer parametre is @ or *, vaka değişikliği
işlem, her konumsal parametreye sırayla uygulanır ve genişleme,
sonuç listesi. Eğer parametre ile indislenmiş bir dizi değişkenidir @ or *,
durum değiştirme işlemi sırayla dizinin her bir üyesine uygulanır ve
genişleme sonuç listesidir.

Komuta Ikame
Komuta ikame bir komutun çıktısının komut adını değiştirmesine izin verir. Orası
iki formdur:

$(komuta)
or
`komuta`

Cümbüş genişletmeyi yürüterek gerçekleştirir komuta ve komut ikamesinin değiştirilmesi
komutun standart çıktısıyla, sondaki yeni satırlar silinerek. gömülü
yeni satırlar silinmez, ancak sözcük bölme sırasında kaldırılabilirler. Komuta
ikame $(kedi dosya) eşdeğeri ile değiştirilebilir, ancak daha hızlı $( dosya).

Eski tarz ters alıntı biçimi ikame kullanıldığında, ters eğik çizgi değişmez değerini korur
takip ettiği zamanlar dışında anlamı $, `ya da \. İlk geri alıntıdan önce bir
ters eğik çizgi, komut değiştirmeyi sonlandırır. $( kullanırkenkomuta) biçim, hepsi
parantezler arasındaki karakterler komutu oluşturur; hiçbiri özel olarak tedavi edilmez.

Komut ikameleri iç içe olabilir. Geri alıntılanan formu kullanırken iç içe yerleştirmek için,
ters eğik çizgili iç ters tırnaklar.

İkame çift tırnak içinde görünüyorsa, kelime bölme ve yol adı genişletme
sonuçlara göre yapılmaz.

Aritmetik Genişleme
Aritmetik genişleme, aritmetik bir ifadenin değerlendirilmesine izin verir ve
sonucun değiştirilmesi. Aritmetik genişleme formatı:

$ ((ifade))

eski biçim $[ifade] kullanımdan kaldırıldı ve gelecek sürümlerinde kaldırılacak
bash.

The ifade çift ​​tırnak içindeymiş gibi, ancak içinde çift tırnak varmış gibi değerlendirilir
parantezler özel olarak ele alınmaz. İfadedeki tüm belirteçler parametreye tabi tutulur
ve değişken genişletme, komut değiştirme ve alıntı kaldırma. Sonuç olarak kabul edilir
aritmetik ifade değerlendirilecek. Aritmetik açılımlar iç içe olabilir.

Değerlendirme aşağıda belirtilen kurallara göre yapılır. ARİTMETİK
DEĞERLENDİRME. Eğer ifade geçersizdir, darbe başarısız olduğunu belirten bir mesaj yazdırır ve hayır
ikame oluşur.

süreci Ikame
süreci ikame adlandırılmış kanalları destekleyen sistemlerde desteklenir (FIFO'lar) ya da
/dev/fd açık dosyaları adlandırma yöntemi. şeklinde alır <(liste) or >(liste).
süreç liste girişi veya çıkışı bir ağa bağlı olarak çalıştırılır. FIFO veya bazı dosyalarda /dev/fd.
Bu dosyanın adı, komutun sonucu olarak geçerli komuta bir argüman olarak iletilir.
genleşme. Eğer >(liste) form kullanıldığında, dosyaya yazmak için girdi sağlayacaktır liste.
Eğer <(liste) form kullanılırsa, argüman olarak iletilen dosyanın okunması gerekir.
çıktı liste.

Mevcut olduğunda, proses ikamesi parametre ile eş zamanlı olarak gerçekleştirilir ve
değişken genişletme, komut ikamesi ve aritmetik genişletme.

Word Bölme
Kabuk, parametre genişletme, komut değiştirme ve aritmetik sonuçlarını tarar.
için çift tırnak içinde gerçekleşmeyen genişleme sözcük bölme.

Kabuk, her bir karakteri ele alır. IFS sınırlayıcı olarak ve diğerinin sonuçlarını böler
bu karakterleri alan sonlandırıcılar olarak kullanarak kelimelere genişletmeler. Eğer IFS ayarlanmamış veya
onun değeri tam olarak , varsayılan, ardından dizileri , ,
ve önceki açılımların sonuçlarının başında ve sonunda
göz ardı edilir ve herhangi bir sıra IFS başında veya sonunda olmayan karakterler sınırlamaya yarar
sözler. Eğer IFS varsayılandan farklı bir değere sahip, ardından boşluk dizileri
karakterler uzay ve çıkıntı olduğu sürece kelimenin başında ve sonunda yok sayılır.
boşluk karakteri değerindedir IFS (bir IFS boşluk karakteri). herhangi bir karakter
in IFS Bu değil IFS boşluk, herhangi bir bitişik ile birlikte IFS boşluk karakterleri,
bir alanı sınırlar. bir dizi IFS boşluk karakterleri de sınırlayıcı olarak kabul edilir.
Eğer değeri IFS null, sözcük bölme işlemi gerçekleşmez.

Açık boş argümanlar ("" or '') tutulur. Alıntılanmamış örtük boş argümanlar,
değeri olmayan parametrelerin genişletilmesinden kaynaklanan, kaldırılır. Eğer bir
değeri olmayan parametre çift tırnak içinde genişletilir, boş bir argüman ortaya çıkar ve
tutuldu.

Genişletme olmazsa, bölme yapılmayacağını unutmayın.

Yol adı Genişleme
Sözcük bölme işleminden sonra, -f seçenek ayarlandı, darbe için her kelimeyi tarar
karakterler *, ?, ve [. Bu karakterlerden biri görünürse, kelime olarak kabul edilir.
a model, ve alfabetik olarak sıralanmış dosya adları listesiyle eşleşen
desen (bkz. model Uygun altında). Eşleşen dosya adı bulunamazsa ve kabuk
seçenek boş küre etkinleştirilmezse, sözcük değişmeden bırakılır. Eğer boş küre seçenektir
ayarlanmış ve hiçbir eşleşme bulunamazsa, kelime kaldırılır. Eğer arıza küresi kabuk seçeneği ayarlandı,
ve hiçbir eşleşme bulunamadı, bir hata mesajı yazdırılır ve komut yürütülmez. Eğer
kabuk seçeneği nocaseglob etkinleştirilirse, maç duruma bakılmaksızın gerçekleştirilir
alfabetik karakter kümesi. [az] gibi aralık ifadelerini kullanırken (aşağıya bakın),
ayarına bağlı olarak, diğer durumdaki harfler dahil edilebilir. LC_COLLATE. Olduğunda, bir
desen, yol adı genişletmesi için kullanılır, karakter ``.'' bir ismin başında veya
eğik çizgiden hemen sonra gelen, kabuk seçeneği olmadığı sürece açıkça eşleştirilmelidir. nokta küresi
ayarlanır. Bir yol adı eşleştirilirken, eğik çizgi karakteri her zaman açıkça eşleştirilmelidir.
Diğer durumlarda, ``.'' karakter özel olarak ele alınmaz. açıklamasına bakın
alışveriş altında SHELL İNŞAAT KOMUTLAR açıklaması için nocaseglob, boş küre,
arıza küresi, ve nokta küresi kabuk seçenekleri.

The GLOBIGNORE kabuk değişkeni, bir dosya ile eşleşen dosya adları kümesini kısıtlamak için kullanılabilir.
model. Eğer GLOBIGNORE ayarlandığında, eşleşen her dosya adı aşağıdakilerden biriyle de eşleşir.
desenleri GLOBIGNORE eşleşmeler listesinden kaldırılır. dosya adları ``.'' ve
``..'' her zaman görmezden gelinir GLOBIGNORE ayarlanmış ve boş değil. Ancak, ayar
GLOBIGNORE boş olmayan bir değere, etkinleştirme etkisine sahiptir. nokta küresi kabuk seçeneği, yani hepsi
a ile başlayan diğer dosya adları ``.'' eşleşecek. Eski görmezden gelme davranışını elde etmek için
a ile başlayan dosya adları ``.'', Yapmak ``.*'' içindeki desenlerden biri GLOBIGNORE.
nokta küresi seçenek devre dışı bırakıldığında GLOBIGNORE ayarlanmamış.

model Uygun

Özel desen karakterleri dışında bir desende görünen herhangi bir karakter
aşağıda açıklanan, kendisiyle eşleşir. NUL karakteri bir kalıpta bulunmayabilir. A
ters eğik çizgi aşağıdaki karakterden kaçar; kaçan ters eğik çizgi ne zaman atılır
eşleştirme. Eşleştirileceklerse özel desen karakterleri alıntılanmalıdır.
harfi harfine.

Özel desen karakterleri aşağıdaki anlamlara sahiptir:

* Boş dize de dahil olmak üzere herhangi bir dizeyle eşleşir. Ne zaman dünya yıldızı kabuk
seçeneği etkinleştirildi ve * bir yol adı genişletme bağlamında kullanılır, iki
bitişik *s tek bir kalıp olarak kullanıldığında, tüm dosyalarla eşleşir ve sıfır veya daha fazlası
dizinler ve alt dizinler. tarafından takip edilirse /, iki bitişik *s olacak
yalnızca dizinleri ve alt dizinleri eşleştirin.
? Herhangi bir tek karakterle eşleşir.
[...] Ekteki karakterlerden herhangi biriyle eşleşir. Ayrılmış bir çift karakter
kısa çizgi ile bir menzil ifade; arasına düşen herhangi bir karakter
geçerli yerel ayarın harmanlamasını kullanan bu iki karakter dahil
dizi ve karakter seti eşleştirilir. Aşağıdaki ilk karakter ise
the [ bir ! ya da ^ sonra içine alınmayan herhangi bir karakter eşleştirilir. bu
Aralık ifadelerindeki karakterlerin sıralama düzeni,
geçerli yerel ayar ve değerleri LC_COLLATE or LC_ALL kabuk değişkenleri,
ayarlanırsa. Aralık ifadelerinin geleneksel yorumunu elde etmek için,
nerede [reklam] eşdeğerdir [abcd], set değeri LC_ALL kabuk değişkeni
için Cveya etkinleştirin dünya çapında kabuk seçeneği. A - tarafından eşleştirilebilir
setteki ilk veya son karakter olarak dahil edilir. A ] eşleştirilebilir
setteki ilk karakter olarak dahil ederek.

Içinde [ ve ], karakter sınıflar sözdizimi kullanılarak belirtilebilir
[:sınıf:], Burada sınıf POSIX'te tanımlanan aşağıdaki sınıflardan biridir
standart:
mezun alfa ascii boş kontrol basamak grafik alt baskı nokta uzay üst sözcük
x rakamı
Bir karakter sınıfı, o sınıfa ait herhangi bir karakterle eşleşir. bu sözcük
karakter sınıfı harfler, rakamlar ve _ karakteriyle eşleşir.

Içinde [ ve ], Bir denklik sınıf sözdizimi kullanılarak belirtilebilir
[=c=]aynı harmanlama ağırlığına sahip tüm karakterlerle eşleşen (
geçerli yerel ayar tarafından tanımlanır) karakter olarak c.

Içinde [ ve ], sözdizimi [.sembol.] harmanlama sembolüyle eşleşir sembol.

Eğer dış dünya kabuk seçeneği kullanılarak etkinleştirilir alışveriş yerleşik, birkaç genişletilmiş desen
eşleşen operatörler tanınır. Aşağıdaki açıklamada, bir desen listesi bir listedir
ile ayrılmış bir veya daha fazla desenin |. Kompozit desenler, bir veya
aşağıdaki alt kalıplardan daha fazlası:

?(desen listesi)
Verilen kalıpların sıfır veya bir tekrarı ile eşleşir
*(desen listesi)
Verilen kalıpların sıfır veya daha fazla tekrarı ile eşleşir
+(desen listesi)
Verilen kalıpların bir veya daha fazla örneğini eşleştirir
@(desen listesi)
Verilen kalıplardan biriyle eşleşir
!(desen listesi)
Verilen kalıplardan biri dışında herhangi bir şeyle eşleşir

alıntı Giderme
Önceki genişletmelerden sonra, karakterlerin tüm alıntılanmamış oluşumları \, ', ve "
Yukarıdaki genişletmelerden birinden kaynaklanmayanlar kaldırılır.

YÖNLENDİRME


Bir komut yürütülmeden önce, girdisi ve çıktısı şu şekilde olabilir: yönlendirildi özel kullanarak
kabuk tarafından yorumlanan gösterim. Yönlendirme, komutların dosya tanıtıcılarının
çoğaltılabilir, açılabilir, kapatılabilir, farklı dosyalara atıfta bulunmak için yapılmış ve dosyaları değiştirebilirsiniz.
komutu okur ve yazar. Yönlendirme, dosya tanıtıcılarını değiştirmek için de kullanılabilir.
mevcut kabuk yürütme ortamı. Aşağıdaki yeniden yönlendirme operatörleri önce gelebilir
veya içinde herhangi bir yerde görünür basit komuta veya takip edebilir komuta. Yönlendirmeler
soldan sağa göründükleri sırayla işlenir.

Bir dosya tanımlayıcı numarasından önce gelebilecek her yeniden yönlendirme, bunun yerine önce gelebilir.
şeklinde bir kelime ile {Değişkenadı}. Bu durumda, >&- dışındaki her yeniden yönlendirme operatörü için
ve <&-, kabuk, 10'a eşit veya daha büyük bir dosya tanımlayıcı tahsis edecek ve
buna Değişkenadı. >&- veya <&-'den önce { varsaDeğişkenadı}, değeri Değişkenadı tanımlar
kapatmak için dosya tanımlayıcısı.

Aşağıdaki açıklamalarda, dosya tanımlayıcı numarası atlanmışsa ve ilk
yeniden yönlendirme operatörünün karakteri <, yönlendirme standart girdiyi ifade eder
(dosya tanımlayıcı 0). Yeniden yönlendirme operatörünün ilk karakteri ise >,
yeniden yönlendirme standart çıktıya atıfta bulunur (dosya tanımlayıcı 1).

Aşağıdaki açıklamalarda yeniden yönlendirme operatörünü takip eden kelime,
aksi belirtilmedikçe, küme genişletme, tilde genişletme, parametre ve değişkene tabidir
genişletme, komut değiştirme, aritmetik genişletme, alıntı kaldırma, yol adı genişletme,
ve kelime bölme. Birden fazla kelimeye genişlerse, darbe bir hata bildirir.

Yönlendirmelerin sırasının önemli olduğunu unutmayın. Örneğin, komut

ls > yönetmen listesi 2>&1

hem standart çıktıyı hem de standart hatayı dosyaya yönlendirir yönetici listesi, komut verilirken

2>&1 > yönetici listesi

yalnızca standart çıktıyı dosyaya yönlendirir yönetici listesi, çünkü standart hata
standart çıktı yeniden yönlendirilmeden önce standart çıktıdan kopyalandı yönetici listesi.

Cümbüş açıklandığı gibi yeniden yönlendirmelerde kullanıldıklarında birkaç dosya adını özel olarak işler
aşağıdaki tabloda:

/dev/fd/fd
If fd geçerli bir tam sayıdır, dosya tanıtıcıdır fd çoğaltılır.
/dev/stdin
Dosya tanımlayıcı 0 kopyalandı.
/dev/stdout
Dosya tanımlayıcı 1 kopyalandı.
/dev/stderr
Dosya tanımlayıcı 2 kopyalandı.
/dev/tcp/ev sahibi/Liman
If ev sahibi geçerli bir ana bilgisayar adı veya İnternet adresidir ve Liman bir tamsayı bağlantı noktasıdır
numarası veya hizmet adı, darbe karşılık gelen TCP soketini açmaya çalışır.
/dev/udp/ev sahibi/Liman
If ev sahibi geçerli bir ana bilgisayar adı veya İnternet adresidir ve Liman bir tamsayı bağlantı noktasıdır
numarası veya hizmet adı, darbe karşılık gelen UDP soketini açmaya çalışır.

Dosya açma veya oluşturma hatası, yeniden yönlendirmenin başarısız olmasına neden olur.

9'dan büyük dosya tanımlayıcıları kullanan yönlendirmeler, olabilecekleri için dikkatli kullanılmalıdır.
kabuğun dahili olarak kullandığı dosya tanımlayıcılarla çakışma.

Unutmayın exec yerleşik komut, yeniden yönlendirmelerin geçerli kabukta etkili olmasını sağlayabilir.

Yönlendirme Giriş
Girdinin yeniden yönlendirilmesi, adının genişletilmesinden kaynaklanan dosyaya neden olur. sözcük olduğu
dosya tanıtıcıda okumak için açıldı nveya standart girdi (dosya tanımlayıcı 0) ise n is
belirtilmemiş.

Girişi yeniden yönlendirmek için genel biçim:

[n]<sözcük

Yönlendirme Çıktı
Çıktının yeniden yönlendirilmesi, adının genişletilmesinden kaynaklanan dosyaya neden olur. sözcük olduğu
dosya tanıtıcısına yazmak için açıldı nveya standart çıktı (dosya tanımlayıcı 1) ise n
belirtilmemiş. Dosya yoksa oluşturulur; eğer varsa öyledir
sıfır boyuta kesildi.

Çıktıyı yeniden yönlendirmek için genel biçim:

[n]>sözcük

Yönlendirme operatörü ise >, Ve noklobber seçeneği set yerleşik oldu
etkinleştirilirse, adı aşağıdaki genişletmeden kaynaklanan dosya yeniden yönlendirme başarısız olur.
sözcük vardır ve normal bir dosyadır. Yönlendirme operatörü ise >|veya yeniden yönlendirme
operatör > ve noklobber seçeneği set yerleşik komut etkin değil,
adlı dosya tarafından adlandırılsa bile yeniden yönlendirme denenir. sözcük bulunmaktadır.

ekleme Yönlendirildi Çıktı
Çıktının bu şekilde yeniden yönlendirilmesi, adı dosyadan çıkan dosyaya neden olur.
genişlemesi sözcük dosya tanıtıcısına eklemek için açılacak nveya standart çıktı
(dosya tanımlayıcı 1) eğer n belirtilmemiş. Dosya yoksa oluşturulur.

Çıktı eklemek için genel biçim:

[n]>>sözcük

Yönlendirme Standart Çıktı ve Standart Hata
Bu yapı, hem standart çıktıya (dosya tanımlayıcı 1) hem de standart hataya izin verir.
çıktısı (dosya tanımlayıcı 2), adı dosyanın genişletilmesi olan dosyaya yönlendirilecektir.
sözcük.

Standart çıktıyı ve standart hatayı yeniden yönlendirmek için iki biçim vardır:

&>sözcük
ve
>&sözcük

İki formdan ilki tercih edilir. Bu anlamsal olarak eşdeğerdir

>sözcük 2>&1

İkinci formu kullanırken, sözcük bir sayıya genişleyemez veya -. Olursa, diğer
yeniden yönlendirme operatörleri geçerlidir (bkz. Kopyalama fileto Tanıtıcılar aşağıda) uyumluluk için
nedenler.

ekleme Standart Çıktı ve Standart Hata
Bu yapı, hem standart çıktıya (dosya tanımlayıcı 1) hem de standart hataya izin verir.
çıktısı (dosya tanımlayıcı 2), adı dosyanın uzantısı olan dosyaya eklenecektir. sözcük.

Standart çıktı ve standart hata ekleme formatı:

&>>sözcük

Bu anlamsal olarak eşdeğerdir

>>sözcük 2>&1

(görmek Kopyalama fileto Tanıtıcılar altında).

İşte evraklar
Bu tür bir yeniden yönlendirme, kabuğa, geçerli kaynaktan gelen girdiyi bir
sadece içeren satır sınırlayıcı (sondaki boşluklar olmadan) görülür. Tüm satırlar okundu
o noktaya kadar, bir komut için standart girdi olarak kullanılır.

Buradaki belgelerin formatı:

<<[-]sözcük
burada-belge
sınırlayıcı

Parametre ve değişken genişletme, komut değiştirme, aritmetik genişletme veya
yol adı genişletmesi şurada gerçekleştirilir: sözcük. içinde herhangi bir karakter varsa sözcük alıntıdır,
sınırlayıcı alıntı kaldırmanın sonucudur sözcük, ve buradaki belgedeki satırlar
genişletilmemiş. Eğer sözcük alıntı yapılmamışsa, buradaki belgenin tüm satırları
parametre genişletme, komut değiştirme ve aritmetik genişletme, karakter
dizi \ göz ardı edilir ve \ karakterleri alıntılamak için kullanılmalıdır \, $, ve `.

Yönlendirme operatörü ise << -, ardından tüm önde gelen sekme karakterleri
giriş satırları ve içeren satır sınırlayıcı. Bu, burada-belgelere kabuk içinde izin verir
komut dosyaları doğal bir şekilde girintili olacak şekilde.

İşte Dizeler
Buradaki belgelerin bir varyantı, biçim şöyledir:

<<sözcük

The sözcük küme genişletme, tilde genişletme, parametre ve değişken genişletme işlemlerinden geçer,
komut değiştirme, aritmetik genişletme ve alıntı kaldırma. Yol adı genişletme ve
kelime bölme işlemi yapılmaz. Sonuç, tek bir dize olarak sağlanır.
standart girişinde komut.

Kopyalama fileto Tanıtıcılar
Yönlendirme operatörü

[n]<&sözcük

girdi dosyası tanımlayıcılarını çoğaltmak için kullanılır. Eğer sözcük bir veya daha fazla basamağa genişler,
ile gösterilen dosya tanıtıcı n bu dosya tanıtıcısının bir kopyası olmak üzere yapılmıştır. rakamlar ise
in sözcük giriş için açık bir dosya tanıtıcı belirtmezseniz, bir yeniden yönlendirme hatası oluşur. Eğer
sözcük için değerlendirir -, dosya tanımlayıcı n kapalı. Eğer n belirtilmemiş, standart
girdi (dosya tanımlayıcı 0) kullanılır.

Operatör

[n]>&sözcük

çıktı dosyası tanımlayıcılarını çoğaltmak için benzer şekilde kullanılır. Eğer n belirtilmemiş,
standart çıktı (dosya tanımlayıcı 1) kullanılır. içindeki rakamlar ise sözcük bir dosya belirtme
tanımlayıcı çıktı için açık, bir yeniden yönlendirme hatası oluşuyor. Eğer sözcük için değerlendirir -, dosya
açıklayıcısı n kapalı. Özel bir durum olarak, eğer n atlanır ve sözcük genişlemez
bir veya daha fazla rakam veya -, standart çıktı ve standart hata şu şekilde yönlendirilir:
daha önce tarif edilmiştir.

Hareketli fileto Tanıtıcılar
Yönlendirme operatörü

[n]<&basamak-

dosya tanıtıcısını taşır basamak dosya tanımlayıcısına n, veya standart girdi (dosya
tanımlayıcı 0) eğer n belirtilmedi. basamak çoğaltıldıktan sonra kapatılır n.

Benzer şekilde, yeniden yönlendirme operatörü

[n]>&basamak-

dosya tanıtıcısını taşır basamak dosya tanımlayıcısına n, veya standart çıktı (dosya
tanımlayıcı 1) eğer n belirtilmedi.

Açılış fileto Tanıtıcılar için Okuma ve Yazı Yazmak
Yönlendirme operatörü

[n]<>sözcük

adı uzantısı olan dosyaya neden olur sözcük hem okumaya hem de
dosya tanıtıcısına yazma nveya dosya tanıtıcı 0'da ise n belirtilmemiş. eğer dosya
yoktur, yaratılmıştır.

takma adlar


Takma adlar bir kelimenin ilk kelimesi olarak kullanıldığında, bir kelimenin yerine geçmesine izin ver
basit komut. Kabuk, şu komutla ayarlanabilen ve kaldırılabilen takma adların bir listesini tutar.
takma ad ve takma adlar yerleşik komutlar (bkz. SHELL İNŞAAT KOMUTLAR altında). ilk sözü
her basit komut, eğer alıntılanmamışsa, bir takma adı olup olmadığını görmek için kontrol edilir. Eğer öyleyse, o kelime
takma adın metni ile değiştirilir. Karakterler /, $, `, ve = ve herhangi bir kabuk
meta veya yukarıda listelenen alıntı karakterleri takma adlarda görünmeyebilir. bu
değiştirme metni, kabuk meta karakterleri de dahil olmak üzere herhangi bir geçerli kabuk girdisi içerebilir. bu
Değiştirilen metnin ilk sözcüğü takma adlar için test edilir, ancak sözcükle aynı olan bir sözcük
genişletilen bir takma ad ikinci kez genişletilmez. Bu, birinin takma ad olabileceği anlamına gelir ls
için ls -F, örneğin, ve darbe değiştirilen metni yinelemeli olarak genişletmeye çalışmaz.
Takma ad değerinin son karakteri bir boş, ardından bir sonraki komut sözcüğü
takma ad, takma ad genişletmesi için de kontrol edilir.

Takma adlar şu şekilde oluşturulur ve listelenir: takma ad komutuyla kaldırılır ve takma adlar
Komut.

Değiştirilen metinde argüman kullanmak için bir mekanizma yoktur. argümanlar ise
gerektiğinde, bir kabuk işlevi kullanılmalıdır (bkz. FONKSİYONLAR altında).

Takma adlar, kabuk etkileşimli olmadığında genişletilmez. genişlet_aliases
kabuk seçeneği kullanılarak ayarlanır alışveriş (açıklamaya bakın alışveriş altında SHELL İNŞAAT KOMUTLAR
altında).

Takma adların tanımı ve kullanımına ilişkin kurallar biraz kafa karıştırıcıdır. Cümbüş
üzerindeki komutlardan herhangi birini yürütmeden önce her zaman en az bir tam girdi satırını okur.
o çizgi. Takma adlar, bir komut yürütüldüğünde değil, okunduğunda genişletilir.
Bu nedenle, başka bir komutla aynı satırda görünen bir takma ad tanımı,
sonraki giriş satırı okunana kadar geçerlidir. Takma ad tanımını izleyen komutlar
bu satırdaki yeni takma addan etkilenmez. Bu davranış aynı zamanda bir sorundur
fonksiyonlar yürütülür. Takma adlar, ne zaman değil, bir işlev tanımı okunduğunda genişletilir.
işlev yürütülür, çünkü bir işlev tanımının kendisi bir bileşik komuttur. Olarak
bir sonuç olarak, bir işlevde tanımlanan takma adlar, o işlevden sonraya kadar kullanılamaz
Idam edildi. Güvende olmak için, takma ad tanımlarını her zaman ayrı bir satıra koyun ve kullanmayın.
takma ad bileşik komutlarda.

Hemen hemen her amaç için, takma adların yerini kabuk işlevleri alır.

FONKSİYONLAR


Yukarıda açıklandığı gibi tanımlanan bir kabuk işlevi SHELL DİLBİLGİSİ, bir dizi depolar
Daha sonra yürütmek için komutlar. Bir kabuk işlevinin adı basit bir işlev olarak kullanıldığında
komut adı, bu işlev adıyla ilişkili komutların listesi yürütülür.
İşlevler, geçerli kabuk bağlamında yürütülür; için yeni bir süreç oluşturulmaz
onları yorumlayın (bunu bir kabuk betiğinin yürütülmesiyle karşılaştırın). Bir fonksiyon olduğunda
yürütüldüğünde, işlevin argümanları, işlevi sırasında konumsal parametreler haline gelir.
uygulamak. özel parametre # değişikliği yansıtacak şekilde güncellenir. Özel parametre 0
değişmez. İlk unsur İŞLEV ADI değişkenin adına ayarlanır
işlev yürütülürken işlev.

Kabuk yürütme ortamının diğer tüm yönleri, bir işlev ve
bu istisnalar dışında arayanı: DEBUG ve DÖNÜŞ tuzaklar (açıklamaya bakın)
tuzak altında yerleşik SHELL İNŞAAT KOMUTLAR aşağıda) işleve sahip olmadıkça miras alınmaz.
verildi iz öznitelik (açıklamaya bakın bildirmek aşağıda yerleşik) veya
-o işlev izi kabuk seçeneği ile etkinleştirildi set yerleşik (bu durumda tüm
işlevleri devralır DEBUG ve DÖNÜŞ tuzaklar) ve ERR tuzak kalıtsal değildir
the -o hata kabuk seçeneği etkinleştirildi.

İşlevin yerel değişkenleri ile bildirilebilir. yerel yerleşik komut.
Normalde, değişkenler ve değerleri, işlev ve onu çağıran arasında paylaşılır.

The en eğlenceli değişken, 0'dan büyük bir sayısal değere ayarlanırsa, maksimum
işlev yuvalama düzeyi. Sınırı aşan fonksiyon çağrıları, tüm
iptal etme komutu.

Yerleşik komut ise dönüş bir fonksiyonda yürütülür, fonksiyon tamamlanır ve
yürütme, işlev çağrısından sonra bir sonraki komutla devam eder. İlişkili herhangi bir komut
ile DÖNÜŞ tuzak, yürütme devam etmeden önce yürütülür. Bir işlev tamamlandığında,
konum parametrelerinin ve özel parametrenin değerleri # değerlere geri yüklenir
işlevin yürütülmesinden önce vardı.

Fonksiyon adları ve tanımları, -f seçeneği bildirmek or dizgi
yerleşik komutlar. bu -F için seçenek bildirmek or dizgi sadece fonksiyon isimlerini listeler
(ve isteğe bağlı olarak kaynak dosya ve satır numarası, genişletilmiş hata ayıklama kabuk seçeneği etkin).
Fonksiyonlar dışa aktarılabilir, böylece alt kabuklar otomatik olarak -f
seçeneği ihracat yerleşik. kullanılarak bir fonksiyon tanımı silinebilir. -f için seçenek
the ayarlanmazsa yerleşik. Aynı ada sahip kabuk fonksiyonlarının ve değişkenlerin sonuçlanabileceğini unutmayın.
ortamdaki aynı adlı birden çok girişte, kabuğun çocuklarına aktarılır.
Bunun sorun yaratabileceği durumlarda dikkatli olunmalıdır.

Fonksiyonlar özyinelemeli olabilir. bu en eğlenceli derinliğini sınırlamak için değişken kullanılabilir.
işlev çağrısı yığını ve işlev çağrılarının sayısını kısıtlayın. Varsayılan olarak, sınır yok
özyinelemeli çağrıların sayısına uygulanır.

ARİTMETİK DEĞERLENDİRME


Kabuk, belirli koşullar altında aritmetik ifadelerin değerlendirilmesine izin verir (bkz.
the izin ve bildirmek yerleşik komutlar ve Aritmetik Genişleme). Değerlendirme yapılır
taşma denetimi olmayan sabit genişlikli tamsayılar, ancak 0'a bölme yakalanır ve
hata olarak işaretlendi. Operatörler ve bunların önceliği, ilişkilendirilebilirliği ve değerleri
C dilinde olduğu gibi. Aşağıdaki operatör listesi, aşağıdaki düzeylerde gruplandırılmıştır:
eşit öncelikli operatörler Düzeyler azalan öncelik sırasına göre listelenir.

id++ id--
değişken artış sonrası ve azalış sonrası
++id --id
değişken ön artış ve ön düşüş
- + tekli eksi ve artı
! ~ mantıksal ve bitsel olumsuzlama
** üstalma
* / % çarpma, bölme, kalan
+ - toplama çıkarma
<< >> sol ve sağ bitsel kaydırma
<= >= < >
karşılaştırma
== != eşitlik ve eşitsizlik
& bitsel VE
^ bit düzeyinde özel VEYA
| bitsel VEYA
&& mantıksal VE
|| mantıksal VEYA
İfade?İfade:İfade
koşullu operatör
= *= /= %= += -= << = >> = &= ^= |=
atama
ifade1 , ifade2
virgül

Kabuk değişkenlerine işlenen olarak izin verilir; parametre genişletmesi önce gerçekleştirilir
ifadesi değerlendirilir. Bir ifade içinde, kabuk değişkenlerine şu şekilde de başvurulabilir:
parametre genişletme sözdizimini kullanmadan adlandırın. Boş veya ayarlanmamış bir kabuk değişkeni
parametre genişletme sözdizimi kullanılmadan adla başvurulduğunda 0 olarak değerlendirilir. bu
Bir değişkenin değeri, başvurulduğunda aritmetik bir ifade olarak değerlendirilir veya
verilen bir değişken olduğunda tamsayı öznitelik kullanarak bildirmek -i atandı
değer. Boş bir değer 0 olarak değerlendirilir. Bir kabuk değişkeninin kendi değerine sahip olması gerekmez. tamsayı nitelik
bir ifadede kullanılmak üzere açıldı.

Başında 0 olan sabitler sekizli sayılar olarak yorumlanır. Önde gelen bir 0x veya 0X,
onaltılık. Aksi takdirde, sayılar [temel#]n, isteğe bağlı baz bir
aritmetik tabanı temsil eden 2 ile 64 arasında ondalık sayı ve n içinde bir sayıdır
o taban. Eğer temel# atlanır, ardından taban 10 kullanılır. belirtirken n, rakamlar
9'dan büyük <, küçük harfler, büyük harfler, @ ve _ ile temsil edilir,
bu sırayla. Eğer baz 36'dan küçük veya eşittir, küçük ve büyük harfler olabilir
10 ile 35 arasındaki sayıları temsil etmek için birbirinin yerine kullanılabilir.

Operatörler öncelik sırasına göre değerlendirilir. Parantez içindeki alt ifadeler
önce değerlendirilir ve yukarıdaki öncelik kurallarını geçersiz kılabilir.

KOŞULLU İFADE


Koşullu ifadeler şu şekilde kullanılır: [[ bileşik komut ve test ve [ builtin
dosya özniteliklerini test etmek ve dize ve aritmetik karşılaştırmalar yapmak için komutlar.
İfadeler, aşağıdaki tekli veya ikili birincillerden oluşturulur. Varsa dosya tartışma
birincillerden birine formdadır /dev/fd/n, ardından dosya tanımlayıcı n kontrol edilir. Eğer
the dosya birincillerden birinin argümanı /dev/stdin, /dev/stdoutya da
/dev/stderr, dosya tanıtıcısı sırasıyla 0, 1 veya 2 kontrol edilir.

Aksi belirtilmedikçe, dosyalar üzerinde çalışan birinciller sembolik bağları takip eder ve
bağlantının kendisi yerine bağlantının hedefi üzerinde çalışın.

Ile kullanıldığında [[, < ve > operatörler, geçerli yerel ayarı kullanarak sözlükbilimsel olarak sıralar.
The test komut, ASCII sıralamasını kullanarak sıralar.

-a dosya
Doğru ise dosya bulunmaktadır.
-b dosya
Doğru ise dosya vardır ve blok özel bir dosyadır.
-c dosya
Doğru ise dosya var ve bir karakter özel dosyasıdır.
-d dosya
Doğru ise dosya var ve bir dizindir.
-e dosya
Doğru ise dosya bulunmaktadır.
-f dosya
Doğru ise dosya vardır ve normal bir dosyadır.
-g dosya
Doğru ise dosya var ve set-group-id'dir.
-h dosya
Doğru ise dosya vardır ve sembolik bir bağdır.
-k dosya
Doğru ise dosya var ve ``yapışkan'' biti ayarlandı.
-p dosya
Doğru ise dosya vardır ve adlandırılmış bir kanaldır (FIFO).
-r dosya
Doğru ise dosya var ve okunabilir durumda.
-s dosya
Doğru ise dosya var ve sıfırdan büyük bir boyuta sahip.
-t fd Dosya tanıtıcı ise true fd açıktır ve bir terminale atıfta bulunur.
-u dosya
Doğru ise dosya var ve set-user-id biti ayarlandı.
-w dosya
Doğru ise dosya var ve yazılabilir.
-x dosya
Doğru ise dosya var ve yürütülebilir.
-G dosya
Doğru ise dosya var ve etkin grup kimliğine ait.
-L dosya
Doğru ise dosya vardır ve sembolik bir bağdır.
-N dosya
Doğru ise dosya var ve son okunduğundan beri değiştirildi.
-O dosya
Doğru ise dosya vardır ve etkin kullanıcı kimliğine aittir.
-S dosya
Doğru ise dosya vardır ve bir sokettir.
file1 -eğer file2
Doğru ise file1 ve file2 aynı cihaz ve inode numaralarına bakın.
file1 -nt file2
Doğru ise file1 daha yenidir (değişiklik tarihine göre) file2, ya da eğer file1
var ve file2 değil.
file1 -ot file2
Doğru ise file1 daha yaşlı file2, ya da eğer file2 var ve file1 değil.
-o tercih adı
Kabuk seçeneği doğruysa tercih adı etkin. altındaki seçenekler listesine bakın.
Açıklaması -o seçeneği set aşağıda yerleşik.
-v Değişkenadı
Kabuk değişkeni doğruysa Değişkenadı ayarlanır (bir değer atanmıştır).
-R Değişkenadı
Kabuk değişkeni doğruysa Değişkenadı ayarlanır ve bir ad referansıdır.
-z dizi
uzunluğu ise doğrudur dizi sıfırdır.
dizi
-n dizi
uzunluğu ise doğrudur dizi sıfır değildir.

string1 == string2
string1 = string2
Dizeler eşitse doğrudur. = ile kullanılmalıdır test POSIX için komut
uygunluk. ile kullanıldığında [[ komut, bu, desen eşleştirmesini şu şekilde gerçekleştirir:
Yukarıda tarif edilen (Bileşik Komutları).

string1 != string2
Dizeler eşit değilse doğrudur.

string1 < string2
Doğru ise string1 önceden sıralar string2 sözlükbilimsel olarak.

string1 > string2
Doğru ise string1 sonra sıralar string2 sözlükbilimsel olarak.

arg1 OP arg2
OP biridir -eşit, -ne, -Bu, Onları, -gtya da -ge. Bu aritmetik ikili operatörler
eğer true döndür arg1 eşittir, eşit değil, küçüktür, küçüktür veya eşittir,
daha büyük veya daha büyük veya ona eşit arg2, Sırasıyla. arg1 ve arg2 olabilir
pozitif veya negatif tam sayılar.

BASİT KOMUT GENİŞLEME


Basit bir komut yürütüldüğünde, kabuk aşağıdaki genişletmeleri gerçekleştirir,
atamalar ve yönlendirmeler, soldan sağa.

1. Ayrıştırıcının değişken atamaları olarak işaretlediği sözcükler (
komut adı) ve yönlendirmeler daha sonra işlenmek üzere kaydedilir.

2. Değişken atamaları veya yönlendirmeleri olmayan kelimeler genişletildi. Varsa
kelimeler genişlemeden sonra kalır, ilk kelime komutun adı olarak alınır
ve kalan kelimeler argümanlardır.

3. Yönlendirmeler, yukarıda açıklanan şekilde yapılır. YÖNLENDİRME.

4. Metinden sonraki metin = her değişken atamasında tilde genişlemesine uğrar,
parametre genişletme, komut değiştirme, aritmetik genişletme ve alıntı kaldırma
değişkene atanmadan önce.

Komut adı çıkmazsa, değişken atamaları mevcut kabuk ortamını etkiler.
Aksi takdirde, değişkenler yürütülen komutun ortamına eklenir ve
mevcut kabuk ortamını etkiler. atamalardan herhangi biri bir atama yapmaya çalışırsa
değeri salt okunur bir değişkene dönüştürülür, bir hata oluşur ve komut sıfırdan farklı bir değerle çıkar.
durumu.

Komut adı sonuç vermezse, yeniden yönlendirmeler yapılır, ancak mevcut durumu etkilemez.
kabuk ortamı. Yeniden yönlendirme hatası, komutun sıfır olmayan bir durumla çıkmasına neden olur.

Genişletmeden sonra kalan bir komut adı varsa, yürütme aşağıda açıklandığı gibi ilerler.
Aksi takdirde, komut çıkar. Genişletmelerden biri bir komut ikamesi içeriyorsa,
komutun çıkış durumu, son komut ikamesinin çıkış durumudur
gerçekleştirildi. Komut ikamesi yoksa, komut durumuyla çıkar.
sıfır.

KOMUT UYGULAMA


Bir komut kelimelere bölündükten sonra, basit bir komutla sonuçlanırsa ve
isteğe bağlı argüman listesi, aşağıdaki eylemler gerçekleştirilir.

Komut adı eğik çizgi içermiyorsa, kabuk onu bulmaya çalışır. varsa
bu ada sahip bir kabuk işlevi, bu işlev yukarıda açıklandığı gibi çağrılır. FONKSİYONLAR.
Ad bir işlevle eşleşmiyorsa, kabuk, kabuk listesinde onu arar.
yerleşikler. Bir eşleşme bulunursa, bu yerleşik çağrılır.

Ad bir kabuk işlevi veya yerleşik değilse ve eğik çizgi içermiyorsa, darbe
her bir elemanı arar PATH buna göre yürütülebilir bir dosya içeren bir dizin için
adı. Cümbüş yürütülebilir dosyaların tam yol adlarını hatırlamak için bir karma tablo kullanır (bkz. esrar
altında SHELL İNŞAAT KOMUTLAR altında). Dizinlerin tam bir araması PATH is
yalnızca komut karma tablosunda bulunmazsa gerçekleştirilir. arama ise
başarısız olursa, kabuk adlı tanımlı bir kabuk işlevi arar.
komut_not_found_handle. Bu işlev varsa, orijinal ile çağrılır.
komut ve orijinal komutun argümanları, argümanları olarak ve işlevin çıkışı
durum, kabuğun çıkış durumu olur. Bu işlev tanımlı değilse, kabuk
bir hata mesajı yazdırır ve 127 çıkış durumu döndürür.

Arama başarılıysa veya komut adı bir veya daha fazla eğik çizgi içeriyorsa,
kabuk, adlandırılmış programı ayrı bir yürütme ortamında yürütür. 0 argümanı ayarlandı
verilen ada ve komuta kalan argümanlar argümanlara ayarlanır
varsa verilir.

Dosya yürütülebilir biçimde olmadığı için bu yürütme başarısız olursa ve dosya
bir dizin, bir olduğu varsayılır kabuk senaryo, kabuk komutlarını içeren bir dosya. A
alt kabuk, yürütmek için oluşturulur. Bu alt kabuk kendini yeniden başlatır, böylece etki
sanki betiği işlemek için yeni bir kabuk çağrılmış gibi, bunun dışında
ebeveyn tarafından hatırlanan komutların yerleri (bkz. esrar altında SHELL İNŞAAT
KOMUTLAR) çocuk tarafından tutulur.

Program ile başlayan bir dosya ise #!, ilk satırın geri kalanı bir
programın tercümanı. Kabuk, işletim sırasında belirtilen yorumlayıcıyı yürütür.
Bu yürütülebilir biçimi kendileri işlemeyen sistemler. argümanlar
tercüman, tercüman adından sonra gelen tek bir isteğe bağlı argümandan oluşur.
programın ilk satırı, ardından programın adı, ardından komut
varsa argümanlar.

KOMUT UYGULAMA ÇEVRE


Kabuğun bir infaz çevre, aşağıdakilerden oluşur:

· yeniden yönlendirmelerle değiştirildiği gibi, çağrı sırasında kabuk tarafından devralınan dosyaları açın
tedarik edilen exec builtin

· tarafından belirlenen mevcut çalışma dizini cd, pushdya da popdveya miras kalan
çağrı sırasında kabuk

· tarafından ayarlanan dosya oluşturma modu maskesi Umask veya kabuğun ebeveyninden miras alınır

· tarafından belirlenen mevcut tuzaklar tuzak

· değişken ataması veya ile ayarlanan kabuk parametreleri set veya miras kalan
kabuğun ortamdaki ebeveyni

· yürütme sırasında tanımlanan veya kabuğun ebeveyninden devralınan kabuk işlevleri
çevre

· Çağrı sırasında etkinleştirilen seçenekler (varsayılan olarak veya komut satırı argümanlarıyla) veya
by set

· tarafından etkinleştirilen seçenekler alışveriş

· ile tanımlanan kabuk takma adları takma ad

· arka plan işleri de dahil olmak üzere çeşitli süreç kimlikleri, $$, Ve
değeri PPID'ler

Yerleşik veya kabuk işlevi dışında basit bir komut yürütüleceği zaman,
aşağıdakilerden oluşan ayrı bir yürütme ortamında çağrılır. Meğer ki
aksi belirtilmedikçe, değerler kabuktan devralınır.

· kabuğun açık dosyaları ve ayrıca aşağıdakiler tarafından belirtilen tüm değişiklikler ve eklemeler
komuta yönlendirmeler

· geçerli çalışma dizini

· dosya oluşturma modu maskesi

· Dışa aktarma için işaretlenmiş kabuk değişkenleri ve işlevleri ile birlikte dışa aktarılan değişkenler
komut, ortamda geçti

· kabuk tarafından yakalanan tuzaklar, kabuktan devralınan değerlere sıfırlanır.
ebeveyn ve kabuk tarafından yok sayılan tuzaklar yok sayılır

Bu ayrı ortamda çağrılan bir komut, kabuğun yürütülmesini etkileyemez.
ortamı.

Komut ikamesi, parantez içinde gruplandırılmış komutlar ve asenkron komutlar
dışında, kabuk ortamının bir kopyası olan bir alt kabuk ortamında çağrılır.
kabuk tarafından yakalanan tuzaklar, kabuğun kendisinden miras aldığı değerlere sıfırlanır.
çağırma sırasında ebeveyn. Bir işlem hattının parçası olarak çağrılan yerleşik komutlar da
bir alt kabuk ortamında yürütülür. Alt kabuk ortamında yapılan değişiklikler
kabuğun yürütme ortamını etkiler.

Komut ikamelerini yürütmek için oluşturulan alt kabuklar, -e opsiyon
ebeveyn kabuğu. içinde değilken posix modunda darbe temizler -e bu tür alt kabuklardaki seçenek.

Bir komutun ardından bir & ve iş denetimi etkin değil, varsayılan standart giriş
komut için boş dosya / Dev / null. Aksi takdirde, çağrılan komut,
yeniden yönlendirmelerle değiştirildiği şekliyle çağıran kabuğun dosya tanımlayıcıları.

ÇEVRE


Bir program çağrıldığında, ona program adı verilen bir dizi dizi verilir. çevre. Bu,
listesi isim-değer çiftler, formun isim=değer.

Kabuk, çevreyi manipüle etmek için çeşitli yollar sağlar. Çağrı sırasında, kabuk
kendi ortamını tarar ve bulunan her ad için otomatik olarak bir parametre oluşturur
bunun için işaretlemek ihracat çocuk süreçlerine. Yürütülen komutlar ortamı devralır. bu
ihracat ve bildirmek -x komutlar, parametrelerin ve işlevlerin eklenmesine ve silinmesine izin verir
çevreden. Ortamdaki bir parametrenin değeri değiştirilirse, yeni
değer, eskinin yerini alarak çevrenin bir parçası haline gelir. Miras aldığı çevre
Yürütülen herhangi bir komut, değerleri değişebilen kabuğun ilk ortamından oluşur.
kabukta değiştirilmiş, daha az çift kaldırılmış ayarlanmazsa komut, artı herhangi bir ekleme
the ihracat ve bildirmek -x emreder.

Herhangi biri için ortam basit komuta veya işlev geçici olarak artırılabilir
yukarıda açıklandığı gibi parametre atamaları ile önek PARAMETRELERİ. Bunlar
atama ifadeleri yalnızca bu komut tarafından görülen ortamı etkiler.

Eğer -k seçeneği ayarlandı (bkz. set aşağıdaki yerleşik komut), ardından herşey parametre
atamalar, yalnızca komuttan önce gelenler için değil, bir komut için ortama yerleştirilir.
komut adı.

Ne zaman darbe harici bir komut çağırır, değişken _ tam dosya adına ayarlanır
komut ve ortamında bu komuta iletilir.

EXIT DURUMU


Yürütülen bir komutun çıkış durumu, komut tarafından döndürülen değerdir. waitpid'nin sistem çağrısı veya
eşdeğer fonksiyon. Çıkış durumları, aşağıda açıklandığı gibi, 0 ile 255 arasında yer alır.
kabuk özel olarak 125'in üzerindeki değerleri kullanabilir. Shell yerleşiklerinden çıkış durumları ve
bileşik komutlar da bu aralıkla sınırlıdır. Belirli koşullar altında, kabuk
belirli arıza modlarını belirtmek için özel değerler kullanır.

Kabuğun amaçları için, sıfır çıkış durumuyla çıkan bir komut başarılı oldu. Bir
sıfır çıkış durumu başarıyı gösterir. Sıfır olmayan bir çıkış durumu, başarısızlığı gösterir. Zaman
komut ölümcül bir sinyalde sona erer N, darbe 128+ değerini kullanırN çıkış durumu olarak.

Bir komut bulunamazsa, onu yürütmek için oluşturulan alt süreç şu durumu döndürür:
127. Bir komut bulunur ancak yürütülebilir değilse, dönüş durumu 126'dır.

Genişletme veya yeniden yönlendirme sırasındaki bir hata nedeniyle bir komut başarısız olursa, çıkış durumu
sıfırdan büyük.

Kabuk yerleşik komutları 0 (gerçek) başarılıysa ve sıfır değilse (yanlış) Eğer
yürütülürken bir hata oluşur. Tüm yerleşikler, belirtmek için 2 çıkış durumu döndürür
yanlış kullanım.

Cümbüş bir sözdizimi hatası olmadıkça, yürütülen son komutun çıkış durumunu kendisi döndürür
oluşur, bu durumda sıfır olmayan bir değerle çıkar. Ayrıca bkz. çıkış yerleşik komut
altında.

SİNYALLER


Ne zaman darbe etkileşimlidir, herhangi bir tuzak olmadığında yok sayar SİGTERM (Böylece öldürmek 0
etkileşimli bir kabuğu öldürmez) ve SIGINT yakalanır ve işlenir (böylece beklemek
yerleşik kesintiye uğrayabilir). Her durumda, darbe yoksaydıklarınız SIGQUIT. iş kontrolü varsa
Efekt, darbe yoksaydıklarınız SİGTTİN, SIGTTOU, ve SIGTSTP.

Tarafından çalıştırılan yerleşik olmayan komutlar darbe tarafından devralınan değerlere ayarlanmış sinyal işleyicileri var
ebeveyninden kabuk. İş denetimi etkin olmadığında, eşzamansız komutlar yoksayılır
SIGINT ve SIGQUIT bu kalıtsal işleyicilere ek olarak. Sonuç olarak çalıştırılan komutlar
komut değiştirme, klavye tarafından oluşturulan iş kontrol sinyallerini yok sayar SİGTTİN, SIGTTOU,
ve SIGTSTP.

Kabuk, bir bildirim alındığında varsayılan olarak çıkar. GÖRÜŞ. Çıkmadan önce etkileşimli bir kabuk
tekrar gönderir GÖRÜŞ çalışan veya durdurulan tüm işlere. Durdurulan işler gönderilir SONRAKİCONT için
almalarını sağlamak GÖRÜŞ. Kabuğun sinyal göndermesini önlemek için
belirli bir iş, işler tablosundan kaldırılmalıdır. reddetmek yerleşik (bkz.
SHELL İNŞAAT KOMUTLAR aşağıda) veya almayacak şekilde işaretlenmiş GÖRÜŞ kullanma reddetmek -h.

Eğer Hupon çıkışı kabuk seçeneği ile ayarlandı alışveriş, darbe gönderir GÖRÜŞ tüm işlere
etkileşimli bir oturum açma kabuğu çıktığında.

If darbe bir komutun tamamlanmasını bekliyor ve bir tuzağın sahip olduğu bir sinyal alıyor
ayarlandığında, komut tamamlanana kadar tuzak yürütülmez. Ne zaman darbe bekliyor
aracılığıyla eşzamansız bir komut için beklemek yerleşik, bir sinyalin alınması için bir
tuzak kuruldu beklemek bir çıkış durumu ile hemen dönmek için yerleşik
128'den büyük, hemen ardından tuzak yürütülür.

İŞ KONTROL


İş kontrol seçici olarak durdurma yeteneğini ifade eder (askıya almak) süreçlerin yürütülmesi
Ve devam et (devam et) daha sonraki bir noktada infazları. Bir kullanıcı genellikle bunu kullanır
işletim sistemi çekirdeği tarafından ortaklaşa sağlanan etkileşimli bir arayüz aracılığıyla tesis
terminal sürücüsü ve darbe.

Kabuk, bir her boru hattı ile. Şu anda yürütülen bir tablo tutar
ile listelenebilecek işler, iş fırsatları emretmek. Ne zaman darbe bir işi eşzamansız olarak başlatır
(içinde arka fon), şuna benzeyen bir satır yazdırır:

[1] 25647

bu işin 1 numaralı iş olduğunu ve içindeki son işlemin işlem kimliğinin
bu işle ilişkili işlem hattı 25647'dir. Tüm işlemler tek bir işlem hattında
aynı işin üyeleridir. Cümbüş kullanır iş kontrolünün temeli olarak soyutlama.

Kullanıcı arayüzünün iş kontrolüne uygulanmasını kolaylaştırmak için, işletim
sistem bir kavramını korur akım terminal süreç Grup ID. Bunun üyeleri
süreç grubu (süreç grubu kimliği mevcut uçbirim sürecine eşit olan süreçler
grup kimliği) gibi klavye tarafından oluşturulan sinyalleri alır SIGINT. Bu süreçler denir
içinde olmak ön plan. Olayın Arka Planı süreçler, süreç grubu kimliği farklı olanlardır.
terminalin; bu tür işlemler klavye tarafından oluşturulan sinyallere karşı bağışıktır. Sadece ön plan
süreçlerin okumasına izin verilir veya kullanıcı stty tostop ile belirtirse, şuraya yazabilir
Durak. Okumaya çalışan arka plan işlemleri (stty tostop
yürürlükte) terminale bir SİGTTİN (SİGTTOU) çekirdeğin terminali tarafından sinyal
yakalanmadığı sürece süreci askıya alan sürücü.

Hangi işletim sistemi üzerinde ise darbe çalışıyor, iş kontrolünü destekler, darbe içeren
kullanabileceği tesisler. yazarak askıya almak karakter (tipik olarak ^Z, Control-Z) bir
süreç çalışıyor, bu sürecin durdurulmasına neden olur ve kontrolü darbe. Yazıyor
the gecikmeli askıya almak karakter (tipik olarak ^Y, Control-Y) işlemin durdurulmasına neden olur
terminalden girişi okumaya çalıştığında ve kontrole döndürülecek darbe.
kullanıcı daha sonra bu işin durumunu şu şekilde değiştirebilir: bg içinde devam etmek için komut
arka plan, fg onu ön planda devam ettirme komutu veya öldürmek öldürme emri
o. bir ^Z hemen yürürlüğe girer ve beklemeye neden olma ek yan etkisi vardır.
çıktı ve daktilo atılacak.

Kabuktaki bir işe başvurmanın birkaç yolu vardır. Karakter % tanıttı
iş tanımı (iş spesifikasyonu). İş numarası n olarak adlandırılabilir %n. iş de olabilir
başlatmak için kullanılan adın bir öneki kullanılarak veya görünen bir alt dize kullanılarak atıfta bulunulur.
komut satırında. Örneğin, %ce durdurulmuş anlamına gelir ce Görev. Bir önek eşleşirse
Birden fazla iş, darbe bir hata bildirir. kullanma %?ce, diğer yandan, herhangi bir anlamına gelir
dize içeren iş ce komut satırında. Alt dize birden fazla eşleşirse
iş, darbe bir hata bildirir. semboller %% ve %+ kabuğun kavramına bakın
akım , ön planda iken durdurulan veya başlatılan son iş
arkaplan. bu önceki kullanılarak referans alınabilir %-. Eğer sadece bir tane varsa
iş, %+ ve %- her ikisi de o işe atıfta bulunmak için kullanılabilir. İşlerle ilgili çıktılarda (örn.
çıktısı iş fırsatları komutu), geçerli iş her zaman bir +, Ve
ile önceki iş -. Tek bir % (eşlik eden iş belirtimi olmadan) aynı zamanda
şimdiki iş.

Basitçe bir işi adlandırmak, onu ön plana çıkarmak için kullanılabilir: %1 ile eşanlamlıdır fg
%1'', iş 1'i arka plandan ön plana getirerek. Benzer şekilde, ``%1 &'' özgeçmiş
arka planda iş 1, eşdeğer bg %1''.

Kabuk, bir iş durumu değiştirdiğinde hemen öğrenir. Normalde, darbe o kadar bekler
olmaması için bir işin durumundaki değişiklikleri bildirmeden önce bir bilgi istemi yazdırmak üzere.
diğer çıktıları kesin. Eğer -b seçeneği set yerleşik komut etkin, darbe
bu tür değişiklikleri anında bildirir. Herhangi bir tuzak SIGCHLD her çocuk için yürütülür
çıkışlar.

çıkma girişiminde bulunulursa darbe işler durdurulurken yapılır (veya kontrol işleri kabuk
seçeneği kullanılarak etkinleştirildi alışveriş yerleşik, çalışıyor), kabuk bir uyarı yazdırır
mesaj ve, eğer kontrol işleri seçeneği etkinleştirilir, işleri ve durumlarını listeler. bu
iş fırsatları komutu daha sonra durumlarını incelemek için kullanılabilir. İkinci bir çıkış denemesi ise
araya giren bir komut olmadan yapıldığında, kabuk başka bir uyarı yazdırmaz ve herhangi bir
durdurulan işler sonlandırılır.

SORGULAMA


Etkileşimli olarak yürütülürken, darbe birincil istemi görüntüler PS1 hazır olduğunda
bir komutu ve ikincil istemi okuyun PS2 tamamlamak için daha fazla girdiye ihtiyaç duyduğunda
Komut. Cümbüş bir dizi ekleyerek bu bilgi istemi dizelerinin özelleştirilmesine izin verir.
aşağıdaki gibi kodu çözülen ters eğik çizgiden kaçan özel karakterler:
\a bir ASCII çan karakteri (07)
\d "Hafta içi Ay Tarihi" biçimindeki tarih (örneğin, "26 Mayıs Salı")
\D{biçim}
the biçim geçildi strftime(3) ve sonuç,
komut satırı; boş biçim yerel ayara özgü bir zamanla sonuçlanır
temsil. Diş telleri gereklidir
\e bir ASCII kaçış karakteri (033)
\h ana bilgisayar adı ilk `.'
\H ana bilgisayar adı
\j şu anda kabuk tarafından yönetilen işlerin sayısı
\l kabuğun uçbirim aygıt adının temel adı
\n Yeni hat
\r satırbaşı
\s kabuğun adı, temel adı $0 (finalden sonraki kısım
yırtmaç)
\t 24 saatlik SS:DD:SS biçiminde geçerli saat
\T 12 saatlik SS:DD:SS biçiminde geçerli saat
\@ 12 saatlik am/pm formatında geçerli saat
\A 24 saatlik SS:DD formatında geçerli saat
\u mevcut kullanıcının kullanıcı adı
\v versiyonu darbe (örneğin, 2.00)
\V serbest bırakılması darbe, sürüm + yama düzeyi (ör. 2.00.0)
\w geçerli çalışma dizini, $ HOME tilde ile kısaltılır (kullanır
değeri PROMPT_DIRTRIM değişken)
\W geçerli çalışma dizininin taban adı, $ HOME ile kısaltılmış
tilde
\! bu komutun geçmiş numarası
\# bu komutun komut numarası
\$ etkin UID 0 ise, bir #, aksi takdirde $
\nnn sekizlik sayıya karşılık gelen karakter nnn
\\ ters eğik çizgi
\[ gömmek için kullanılabilecek yazdırılmayan karakter dizisini başlatın.
komut istemine terminal kontrol dizisi
\] yazdırılmayan karakter dizisini sonlandır

Komut numarası ve geçmiş numarası genellikle farklıdır: bir
komut, geçmiş listesindeki konumudur ve bu konumdan geri yüklenen komutları içerebilir.
geçmiş dosyası (bkz. TARİHİ aşağıda), komut numarası dizideki konum iken
geçerli kabuk oturumu sırasında yürütülen komutların sayısı. Dizenin kodu çözüldükten sonra,
parametre genişletme, komut değiştirme, aritmetik genişletme ve alıntı yoluyla genişletildi
değerine bağlı olarak çıkarılması komut değişkenleri kabuk seçeneği (açıklamaya bakın
alışveriş altında komut SHELL İNŞAAT KOMUTLAR altında).

OKUMA SIRASI


Bu, etkileşimli bir kabuk kullanırken okuma girdisini işleyen kitaplıktır.
--düzenleme yok kabuk çağrısında seçenek verilir. Kullanılırken satır düzenleme de kullanılır.
-e seçeneği okumak yerleşik. Varsayılan olarak, satır düzenleme komutları bunlara benzerdir.
Emacs'ın. Bir vi tarzı satır düzenleme arayüzü de mevcuttur. satır düzenleme olabilir
kullanarak herhangi bir zamanda etkinleştirilebilir -o emacs or -o vi seçenekleri set yerleşik (bkz. SHELL
İNŞAAT KOMUTLAR altında). Kabuk çalıştıktan sonra satır düzenlemeyi kapatmak için +o
emacs or +o vi seçenekleri set yerleşik.

Taleb Gösterim
Bu bölümde, tuş vuruşlarını belirtmek için Emacs stili notasyon kullanılır. Kontrol tuşları
C- ile gösteriliranahtar, örneğin, Cn, Control-N anlamına gelir. Benzer şekilde, meta tuşlar M- ile gösteriliranahtar,
yani Mx, Meta-X anlamına gelir. (Klavye olmayan klavyelerde meta anahtar, M-x ESC anlamına gelir x, yani, düğmesine basın
Escape tuşu, ardından x anahtar. Bu, ESC'yi meta önek. MC- kombinasyonux anlamına geliyor
ESC-Kontrol-xveya Escape tuşuna basın, ardından Kontrol tuşunu basılı tutarken x
anahtar.)

Readline komutları sayısal olarak verilebilir argümanlarnormalde bir tekrar sayısı olarak işlev görür.
Ancak bazen, önemli olan argümanın işaretidir. geçmek
ileri yönde hareket eden bir komuta olumsuz argüman (örn. ölüm hattı) nedenleri
geriye doğru hareket etmek için bu komut. Davranışları argümanlarla olan komutlar
bundan sapmalar aşağıda belirtilmiştir.

Bir komut olarak tanımlandığında öldürme metin, silinen metin olası gelecek için kaydedilir
geri alma (çekişme). Öldürülen metin bir öldürmek halka. Ardışık öldürmeler nedeni
metin tek bir birimde toplanacak ve hepsi aynı anda çekilebilecek. hangi komutlar
metni öldürmeyin, öldürme halkasındaki metin parçalarını ayırın.

Taleb Başlatma
Readline, bir başlatma dosyasına komutlar koyarak özelleştirilir ( girdirc dosyası).
Bu dosyanın adı, dosyanın değerinden alınmıştır. GİRİŞ değişken. Eğer o değişken
ayarlanmadı, varsayılan ~ / .inputrc. Readline kitaplığını kullanan bir program
başlatılır, başlatma dosyası okunur ve anahtar bağlamaları ve değişkenler ayarlanır.
Readline başlatma dosyasında yalnızca birkaç temel yapıya izin verilir. Boşluk
satırlar dikkate alınmaz. a ile başlayan satırlar # yorumlardır. a ile başlayan satırlar $
koşullu yapıları gösterir. Diğer satırlar, anahtar bağlamaları ve değişken ayarları belirtir.

Varsayılan anahtar bağlantıları, bir girdirc dosya. kullanan diğer programlar
bu kitaplık kendi komutlarını ve bağlantılarını ekleyebilir.

Örneğin, yerleştirme

M-Control-u: evrensel argüman
or
C-Meta-u: evrensel argüman
içine girdirc MCu'nun readline komutunu çalıştırmasını sağlar evrensel argüman.

Aşağıdaki sembolik karakter adları tanınır: SİLMEK, DEL, ESC, LFD, YENİ HAT,
RET, DÖNÜŞ, SPC, UZAY, ve SEKME.

Komut adlarına ek olarak, readline anahtarların bir dizeye bağlanmasına izin verir.
tuşuna basıldığında eklenir (a makro).

Taleb anahtar bağlamaları
Anahtar bağlantılarını kontrol etmek için sözdizimi girdirc dosya basit. Hepsi bu
gerekli olan komutun adı veya bir makronun metni ve bunun için bir tuş dizisidir.
bağlı olmalıdır. Ad, iki yoldan biriyle belirtilebilir: sembolik bir anahtar adı olarak,
muhtemelen ile meta or Kontrol- önekler veya bir anahtar dizisi olarak.

Formu kullanırken anahtar adı:fonksiyon adı or makro, anahtar adı hecelenen bir anahtarın adıdır
İngilizce çıktı. Örneğin:

Control-u: evrensel argüman
Meta-Rubout: geriye dönük öldürme-kelime
Kontrol-o: "> çıktı"

Yukarıdaki örnekte, Cu fonksiyona bağlı evrensel argüman, M-DEL bağlı
işlev geri-öldür-kelime, ve ortak sağda ifade edilen makroyu çalıştırmak zorundadır
(yani, satıra ``> çıktı'' metnini eklemek için).

İkinci formda, "keyseq":fonksiyon adı or makro, tuş takımı -den farklı anahtar adı yukarıda
tüm bir anahtar dizisini ifade eden diziler, dizi yerleştirilerek belirtilebilir.
çift ​​tırnak içinde. Aşağıdaki gibi bazı GNU Emacs stili anahtar çıkışları kullanılabilir
örneğin, ancak sembolik karakter adları tanınmaz.

"\Cu": evrensel argüman
"\Cx\Cr": init dosyasını yeniden oku
"\e[11~": "İşlev Tuşu 1"

Bu örnekte, Cu tekrar fonksiyona bağlı evrensel argüman. Cx cr sınırdır
işleve init dosyasını yeniden oku, ve ESC [ 1 1 ~ ``İşlev metnini eklemekle yükümlüdür.
Anahtar 1''.

GNU Emacs stili kaçış dizilerinin tam seti,
\C- kontrol öneki
\M- meta önek
\e bir kaçış karakteri
\\ Ters eğik çizgi
\" gerçek "
\' gerçek '

GNU Emacs tarzı kaçış dizilerine ek olarak, ikinci bir ters eğik çizgi kaçış dizisi
Mevcut:
\a alarm (zil)
\b geri tuşu
\d silmek
\f form besleme
\n Yeni hat
\r satırbaşı
\t yatay sekme
\v dikey sekme
\nnn değeri sekizlik değer olan sekiz bitlik karakter nnn (bir ila üç
rakamlar)
\xHH değeri onaltılık değer olan sekiz bitlik karakter HH (bir yada iki
onaltılık rakamlar)

Bir makronun metnini girerken, bir makroyu belirtmek için tek veya çift tırnak kullanılmalıdır.
makro tanımı. Alıntı yapılmayan metnin bir işlev adı olduğu varsayılır. Makro gövdesinde,
yukarıda açıklanan ters eğik çizgi kaçışları genişletildi. Ters eğik çizgi başka herhangi bir karakterden alıntı yapacaktır
" ve ' dahil olmak üzere makro metninde.

Cümbüş geçerli okuma satırı tuş bağlantılarının görüntülenmesine veya değiştirilmesine izin verir. bağlamak
yerleşik komut. İnteraktif kullanım sırasında düzenleme modu, -o
seçeneği set yerleşik komut (bkz. SHELL İNŞAAT KOMUTLAR altında).

Taleb Değişkenler
Readline, davranışını daha da özelleştirmek için kullanılabilecek değişkenlere sahiptir. Bir değişken olabilir
içinde ayarlanmak girdirc formun bir beyanı ile dosya

set değişken ismi değer

Belirtilenler dışında, readline değişkenleri değerleri alabilir. On or kapalı (bakılmaksızın
dava). Tanınmayan değişken adları yoksayılır. Bir değişken değeri okunduğunda, boş veya
boş değerler, "on" (büyük/küçük harfe duyarsız) ve "1" şuna eşdeğerdir On. Diğer tüm değerler
eşdeğerdir kapalı. Değişkenler ve varsayılan değerleri şunlardır:

çan tarzı (duyulabilir)
Readline terminal zilini çalmak istediğinde ne olacağını kontrol eder. olarak ayarlanırsa
Yok, readline asla zili çalmaz. olarak ayarlanırsa gözle görülür, readline görünür bir
varsa zili çal. olarak ayarlanırsa duyulabilir, readline zili çalmaya çalışır
terminalin zili.
bağlama-tty-özel-karakterleri (Açık)
Olarak ayarlanmışsa On, readline tarafından özel olarak işlenen kontrol karakterlerini bağlamaya çalışır.
çekirdeğin terminal sürücüsünü okuma satırı eşdeğerlerine.
renkli istatistikler (Kapalı)
Olarak ayarlanmışsa On, readline farklı renkler kullanarak olası tamamlamaları görüntüler.
dosya türlerini belirtin. Renk tanımları, değerin değerinden alınır.
LS_COLORS Çevre değişkeni.
yorum-başla (``#'')
Okuma satırı olduğunda eklenen dize ekleme-yorum komut yürütülür.
Bu komut bağlı M-# emacs modunda ve # vi komut modunda.
tamamlama-yoksayma-büyük harf (Kapalı)
Olarak ayarlanmışsa On, readline bir dosya adı eşleştirme ve tamamlama işlemi gerçekleştirir.
büyük/küçük harfe duyarsız moda.
tamamlama-önek-görüntüleme-uzunluğu (0)
Olası tamamlamalar listesinin ortak önekinin karakter cinsinden uzunluğu
değişiklik yapılmadan görüntülenir. Sıfırdan büyük bir değere ayarlandığında,
bu değerden daha uzun olan yaygın önekler, şu durumlarda bir üç nokta ile değiştirilir:
olası tamamlamalar gösteriliyor.
tamamlama-sorgu-öğeleri (100)
Bu, kullanıcının olası sayıyı görüntüleme konusunda ne zaman sorgulanacağını belirler.
tarafından oluşturulan tamamlamalar olası tamamlamalar emretmek. Herhangi birine ayarlanabilir
sıfırdan büyük veya sıfıra eşit tamsayı değeri. Olası tamamlama sayısı ise
bu değişkenin değerinden büyük veya ona eşitse, kullanıcıya sorulur.
ya da onları görmek istemiyor; aksi takdirde sadece terminalde listelenirler.
dönüştürmek-meta (Açık)
Olarak ayarlanmışsa On, readline sekizinci biti ASCII'ye ayarlanmış karakterleri dönüştürür
sekizinci bitin çıkarılması ve bir çıkış karakterinin önüne eklenmesiyle tuş dizisi (içinde
etkisi, kaçış olarak meta önek).
devre dışı bırakma-tamamlama (Kapalı)
Olarak ayarlanmışsa On, readline sözcük tamamlamayı engeller. Tamamlama karakterleri olacak
eşlenmiş gibi çizgiye eklendi Kendi kendine insert.
düzenleme modu (emaclar)
Readline'ın şuna benzer bir dizi anahtar bağlama ile başlayıp başlamayacağını kontrol eder. Emacs or vi.
düzenleme modu ikisinden birine ayarlanabilir emacs or vi.
yankı-kontrol-karakterler (Açık)
Olarak ayarlandığında On, desteklediğini belirten işletim sistemlerinde readline yankıları
klavyeden üretilen bir sinyale karşılık gelen bir karakter.
etkinleştirme-tuş takımı (Kapalı)
Olarak ayarlandığında On, readline, uygulama tuş takımını etkinleştirmeye çalışacaktır.
aranan. Bazı sistemler, ok tuşlarını etkinleştirmek için buna ihtiyaç duyar.
etkinleştirmek-meta-anahtar (Açık)
Olarak ayarlandığında On, readline, terminalde herhangi bir meta değiştirici anahtarı etkinleştirmeye çalışacaktır.
çağrıldığında desteklediğini iddia eder. Birçok terminalde, meta anahtarı şu amaçlarla kullanılır:
sekiz bitlik karakterler gönderir.
tilde (Kapalı)
Olarak ayarlanmışsa On, tilde genişletme, okuma satırı sözcük tamamlamayı denediğinde gerçekleştirilir.
tarih-koru-noktası (Kapalı)
Olarak ayarlanmışsa On, geçmiş kodu, her birinde aynı konuma nokta yerleştirmeye çalışır.
ile alınan geçmiş satırı geçmiş-tarih or sonraki tarih.
geçmiş boyutu (0)
Geçmiş listesine kaydedilen maksimum geçmiş girişi sayısını ayarlayın. olarak ayarlanırsa
sıfır, mevcut tüm geçmiş girişleri silinir ve yeni girişler kaydedilmez. Eğer
sıfırdan küçük bir değere ayarlandığında, geçmiş girişlerinin sayısı sınırlı değildir. İle
varsayılan olarak, geçmiş girişlerinin sayısı sınırlı değildir.
yatay kaydırma modu (Kapalı)
Olarak ayarlandığında On, readline girişi kaydırarak görüntüleme için tek bir satır kullanmasını sağlar
ekran genişliğinden daha uzun olduğunda tek bir ekran satırında yatay olarak
yeni bir satıra sarmak yerine.
giriş-meta (Kapalı)
Olarak ayarlanmışsa On, readline sekiz bitlik girişi etkinleştirir (yani,
terminalin iddia ettiğine bakılmaksızın, okuduğu karakterlerden yüksek bit)
destekleyebilir. İsim meta bayrak bu değişkenin eş anlamlısıdır.
isarch-sonlandırıcılar (``C-[C-J'')
Artımlı bir aramayı sonlandırması gereken karakter dizisi
daha sonra karakteri bir komut olarak yürütmek. Bu değişken olmasaydı
bir değer verildiğinde, karakterler ESC ve CJ artımlı aramayı sonlandıracaktır.
tuş haritası (emaclar)
Geçerli okuma satırı tuş haritasını ayarlayın. Geçerli tuş haritası adları kümesi emac'lar,
emacs-standart, emacs-meta, emacs-ctlx, vi, vi komutu, ve vi-ekleme. vi is
eşdeğerdir vi komutu; emacs eşdeğerdir emacs-standart. varsayılan değer
is emacs; değeri düzenleme modu ayrıca varsayılan tuş haritasını da etkiler.
keyseq-zaman aşımı (500)
Süreyi belirtir taleb belirsiz bir okurken bir karakter bekleyecek
tuş dizisi (okunan girişi kullanarak eksiksiz bir tuş dizisi oluşturabilen
uzak veya daha uzun bir tuş dizisini tamamlamak için ek girdi alabilir). giriş yoksa
zaman aşımı içinde alınır, taleb daha kısa ama eksiksiz anahtarı kullanacak
sıra. Değer milisaniye cinsinden belirtilir, dolayısıyla 1000 değeri şu anlama gelir:
taleb ek giriş için bir saniye bekleyecektir. Bu değişken bir olarak ayarlanırsa
sıfırdan küçük veya sıfıra eşit veya sayısal olmayan bir değer, taleb bekleyecek
hangi tuş dizisinin tamamlanacağına karar vermek için başka bir tuşa basılana kadar
işaret dizinleri (Açık)
Olarak ayarlanmışsa On, tamamlanmış dizin adlarına eğik çizgi eklenir.
işaret-değiştirilmiş-satırlar (Kapalı)
Olarak ayarlanmışsa On, değiştirilmiş geçmiş satırları bir öncekiyle görüntülenir.
yıldız işareti (*).
symlinked-dizinleri işaretle (Kapalı)
Olarak ayarlanmışsa On, dizinlere sembolik bağlantılar olan tamamlanmış isimlerde eğik çizgi bulunur
eklendi (değerine bağlı olarak işaret dizinleri).
eşleşme-gizli-dosyalar (Açık)
Bu değişken, ayarlandığında On, readline'ın adları başlayan dosyalarla eşleşmesine neden olur
`.' ile (gizli dosyalar) dosya adı tamamlama gerçekleştirirken. olarak ayarlanırsa kapalı,
önde gelen `.' doldurulacak dosya adında kullanıcı tarafından sağlanmalıdır.
menü-tamamlandı-görüntüleme-ön eki (Kapalı)
Olarak ayarlanmışsa On, menü tamamlama, olası seçenekler listesinin ortak önekini görüntüler.
Listede dolaşmadan önce tamamlamalar (boş olabilir).
çıktı-meta (Kapalı)
Olarak ayarlanmışsa On, readline doğrudan sekizinci bit ayarlanmış karakterleri görüntüler
meta önekli bir kaçış dizisi olarak değil.
sayfa tamamlama (Açık)
Olarak ayarlanmışsa On, readline dahili kullanır Daha-bir ekran dolusu görüntülemek için çağrı cihazı gibi
bir seferde olası tamamlamalar.
yazdır-tamamlamalar-yatay (Kapalı)
Olarak ayarlanmışsa On, readline, eşleşmeleri yatay olarak sıralanmış şekilde gösterecektir.
ekrandan aşağı değil alfabetik sıraya göre sıralayın.
yeni satırda tümünü geri al (Kapalı)
Olarak ayarlanmışsa On, readline ne zaman geri dönmeden önce geçmiş satırlarında yapılan tüm değişiklikleri geri alır
kabul hattı Idam edildi. Varsayılan olarak, geçmiş satırları değiştirilebilir ve saklanabilir
çağrılar arasında bireysel geri alma listeleri taleb.
belirsizse-göster (Kapalı)
Bu, tamamlama işlevlerinin varsayılan davranışını değiştirir. olarak ayarlanırsa On, sözler
birden fazla olası tamamlamaya sahip olanlar, eşleşmelerin listelenmesine neden olur
zili çalmak yerine hemen.
değiştirilmemişse hepsini göster (Kapalı)
Bu, tamamlama işlevlerinin varsayılan davranışını benzer şekilde değiştirir.
için belirsizse-göster. olarak ayarlanırsa On, birden fazla olasılığa sahip kelimeler
olası herhangi bir kısmi tamamlama olmadan tamamlama (olası tamamlamalar
ortak bir önek paylaşın) yerine eşleşmelerin hemen listelenmesine neden olur.
zili çalıyor.
anında gösterme modu (Kapalı)
Olarak ayarlanmışsa On, düzenlemeyi gösteren istemin başına bir karakter ekleyin
mod: emacs (@), vi komutu (:) veya vi ekleme (+).
atlama-tamamlanmış-metin (Kapalı)
Olarak ayarlanmışsa On, bu, tek bir ekleme yaparken varsayılan tamamlama davranışını değiştirir.
çizgiyle eşleştirin. Yalnızca ortasında tamamlama gerçekleştirirken etkindir.
Bir kelime. Etkinleştirilirse, readline tamamlamadan karakter eklemez.
tamamlanan kelimedeki noktadan sonra karakterleri eşleştirin, böylece kelimenin bölümleri
imleci takip etmek kopyalanmaz.
görünür istatistikler (Kapalı)
Olarak ayarlanmışsa Ontarafından bildirildiği şekliyle bir dosyanın türünü belirten bir karakter stat(2) eklenir
olası tamamlamaları listelerken dosya adına.

Taleb Şartlı İnşaatlar
Readline, koşullu derleme özelliklerine benzer bir özellik uygular
Anahtar bağlamaların ve değişken ayarların aşağıdaki gibi gerçekleştirilmesine izin veren C önişlemcisinin
testlerin sonucu. Kullanılan dört ayrıştırıcı yönergesi vardır.

$eğer The $eğer yapı, düzenleme moduna dayalı olarak ciltlemelerin yapılmasına izin verir,
kullanılan terminal veya readline kullanan uygulama. Testin metni
satırın sonuna kadar uzanır; izole etmek için hiçbir karakter gerekli değildir.

kip The mode = şekli $eğer yönergesi readline içinde olup olmadığını test etmek için kullanılır.
emacs veya vi modu. Bu, aşağıdakilerle birlikte kullanılabilir: set tuş haritası
örneğin, bağlamaları ayarlamak için komut emacs-standart ve emacs-ctlx
tuş haritaları, yalnızca okuma satırı emacs modunda başlıyorsa.

dönem The terim= form, terminale özgü anahtar bağlamaları dahil etmek için kullanılabilir,
belki de terminalin fonksiyon tuşları tarafından çıktılanan tuş dizilerini bağlamak için.
Kelimenin sağ tarafında = her iki tam adına karşı test edilir
terminal ve terminal adının birinciden önceki kısmı -. Bu
veriyor güneş ikisini de eşleştirmek güneş ve güneş-cmd, Örneğin.

uygulama
The uygulama yapı, uygulamaya özel ayarları dahil etmek için kullanılır.
Readline kitaplığını kullanan her program, uygulama isimVe bir
başlatma dosyası belirli bir değeri test edebilir. Bu kullanılabilir
tuş dizilerini belirli bir program için yararlı olan işlevlere bağlayın. İçin
örneğin, aşağıdaki komut, geçerli olandan alıntı yapan bir tuş dizisi ekler.
veya önceki kelime darbe:

$eğer Cümbüş
# Geçerli veya önceki kelimeyi alıntılayın
"\C-xq": "\eb\"\ef\""
$endif

$endif Bu komut, önceki örnekte görüldüğü gibi, bir $eğer Komut.

$başka Bu daldaki komutlar $eğer test başarısız olursa direktif yürütülür.

$dahil
Bu yönerge argüman olarak tek bir dosya adı alır ve komutları okur ve
bu dosyadan bağlamalar. Örneğin, aşağıdaki yönerge okur
/etc/inputrc:

$dahil /etc/inputrc

Arama
Readline, komut geçmişinde arama yapmak için komutlar sağlar (bkz. TARİHİ aşağıda)
Belirtilen bir dizeyi içeren satırlar için. İki arama modu vardır: artımlı ve olmayan
artımlı.

Artımlı aramalar, kullanıcı arama dizesini yazmayı bitirmeden başlar. her biri olarak
arama dizisinin karakteri yazıldığında, readline geçmişten sonraki girişi görüntüler
şimdiye kadar yazılan dizeyle eşleşen. Artımlı bir arama yalnızca çok sayıda karakter gerektirir
İstenen geçmiş girişini bulmak için gerektiği gibi. Değerinde bulunan karakterler
isarch-sonlandırıcılar değişken, artımlı bir aramayı sonlandırmak için kullanılır. Eğer
değişkene Escape ve Control-J karakterlerinin sonlandıracağı bir değer atanmamış
artımlı arama Control-G, artımlı aramayı iptal edecek ve
orijinal çizgi. Arama sonlandırıldığında, aramayı içeren geçmiş girişi
string geçerli satır olur.

Geçmiş listesinde eşleşen diğer girişleri bulmak için Control-S veya Control-R yazın.
uygun. Bu, bir sonraki giriş için geçmişte ileri veya geri arama yapacaktır.
şimdiye kadar yazılan arama dizesiyle eşleşen. Bir okuma satırına bağlı diğer herhangi bir tuş dizisi
komutu aramayı sonlandıracak ve bu komutu yürütecektir. Örneğin, bir Yeni hat irade
aramayı sonlandırın ve satırı kabul edin, böylece geçmişten komutu yürütün
liste.

Readline, son artımlı arama dizesini hatırlar. İki Control-R yazılırsa
yeni bir arama dizesini tanımlayan araya giren herhangi bir karakter olmadan, hatırlanan herhangi bir arama
dize kullanılır.

Artımlı olmayan aramalar, aramaya başlamadan önce tüm arama dizesini okur
eşleşen tarih satırları. Arama dizisi kullanıcı tarafından yazılabilir veya
Geçerli satırın içeriği.

Taleb Komuta İsimler
Aşağıda, komutların adlarının ve varsayılan tuş dizilerinin bir listesi bulunmaktadır.
ne bağlılar. Eşlik eden bir tuş dizisi olmayan komut adları,
varsayılan. Aşağıdaki açıklamalarda, nokta geçerli imleç konumunu ifade eder ve
işaret tarafından kaydedilen bir imleç konumunu ifade eder. ayar işareti emretmek. arasındaki metin
nokta ve işaret olarak adlandırılır bölge.

Komutları için Hareketli
satır başı (CA)
Geçerli satırın başına gidin.
yolun sonu (C)
Satırın sonuna gidin.
ileri karakter (Bkz.)
Bir karakter ileri git.
geri karakter (Cb)
Bir karakter geri git.
ileri kelime (Mf)
Sonraki kelimenin sonuna ilerleyin. Sözcükler alfasayısallardan oluşur
karakterler (harfler ve rakamlar).
ters kelime (Mb)
Geçerli veya önceki kelimenin başına geri gidin. kelimeler oluşur
alfanümerik karakterler (harfler ve rakamlar).
kabuk-ileri-kelime
Sonraki kelimenin sonuna ilerleyin. Sözcükler, alıntı yapılmayan bir kabuk ile sınırlandırılmıştır.
meta karakterler.
kabuk-geri-kelime
Geçerli veya önceki kelimenin başına geri gidin. Kelimeler tarafından sınırlandırılmıştır
alıntılanmamış kabuk meta karakterleri.
temiz ekran (Şl)
Geçerli satırı ekranın üst kısmında bırakarak ekranı temizleyin. Bir ile
bağımsız değişken, ekranı temizlemeden geçerli satırı yenileyin.
cari çizgiyi yeniden çiz
Geçerli satırı yenileyin.

Komutları için kurgulama the Tarihçe
kabul hattı (Yeni hat, Dönüş)
İmleç nerede olursa olsun satırı kabul edin. Bu satır boş değilse, ekleyin
durumuna göre tarih listesine HISTKONTROL değişken. Eğer
satır değiştirilmiş bir geçmiş satırıdır, ardından geçmiş satırını orijinaline geri yükleyin
devlet.
geçmiş-tarih (Kp)
Listede geri giderek, geçmiş listesinden önceki komutu alın.
sonraki tarih (Cn)
Listede ilerleyerek geçmiş listesinden bir sonraki komutu alın.
tarihin başlangıcı (E-<)
Tarihte ilk satıra gidin.
tarihin sonu (M->)
Giriş geçmişinin sonuna, yani şu anda girilmekte olan satıra gidin.
ters arama geçmişi (Kr)
Geçerli satırdan başlayarak ve geçmişte 'yukarı' hareket ederek geriye doğru arama yapın.
gerekli. Bu artımlı bir aramadır.
ileri-arama-geçmişi (C)
Geçerli satırdan başlayarak ve geçmişte "aşağı" ilerleyerek ileriye doğru arama yapın
gerektiği gibi. Bu artımlı bir aramadır.
artımlı olmayan-ters-arama-geçmişi (Mp)
Geçerli satırdan başlayarak geçmişte geriye doğru arama yapın.
kullanıcı tarafından sağlanan bir dize için artımlı arama.
artımlı olmayan-ileri-arama-geçmişi (Mn)
Bir dize için artımlı olmayan bir arama kullanarak geçmişte ileriye doğru arama yapın
kullanıcı tarafından sağlanır.
geçmiş-arama-ileri
Başlangıç ​​arasındaki karakter dizisi için geçmişte ileriye doğru arama yapın
geçerli çizginin ve noktanın. Bu, artımlı olmayan bir aramadır.
geçmiş-arama-geriye doğru
Başlangıç ​​arasındaki karakter dizisi için geçmişte geriye doğru arama yapın
geçerli çizginin ve noktanın. Bu, artımlı olmayan bir aramadır.
yank-nth-arg (MCy)
İlk argümanı önceki komuta ekleyin (genellikle komut satırındaki ikinci kelime).
önceki satır) noktasında. bir argüman ile n, ekle nönceki kelimeden
komut (önceki komuttaki kelimeler 0 kelimesi ile başlar). olumsuz bir argüman
ekler nönceki komutun sonundaki kelime. Bir kez argüman n is
hesaplandığında, argüman sanki "!n"tarih genişlemesi olmuştu
belirtildi.
yank-son-arg (M-., M-_)
Son argümanı önceki komuta ekleyin (önceki komutun son kelimesi
tarih girişi). Sayısal bir argümanla, aynen şöyle davranın yank-nth-arg.
ardışık aramalar yank-son-arg ekleyerek geçmiş listesinde geri gidin.
içindeki her satırın son kelimesi (veya ilk çağrının argümanı tarafından belirtilen kelime)
dönüş. Bu ardışık çağrılara sağlanan herhangi bir sayısal argüman,
tarih boyunca ilerlemek için yön. Negatif bir argüman yönü değiştirir
tarih boyunca (geri veya ileri). Tarih genişletme tesisleri kullanılır
son kelimeyi çıkarmak için, sanki "!$" geçmiş genişletmesi belirtilmiş gibi.
kabuk-genişletme-çizgisi (MCe)
Kabuk yaptığı gibi çizgiyi genişletin. Bu, takma ad ve geçmiş genişletmeyi şu şekilde gerçekleştirir:
tüm kabuk kelimesi açılımlarının yanı sıra. Görmek TARİHİ GENİŞLEME aşağıda bir
Tarih genişlemesinin açıklaması.
tarih-genişletme-çizgisi (E-^)
Geçerli satırda geçmiş genişletmesi gerçekleştirin. Görmek TARİHİ GENİŞLEME aşağıda bir
Tarih genişlemesinin açıklaması.
sihirli-uzay
Geçerli satırda geçmiş genişletme gerçekleştirin ve bir boşluk ekleyin. Görmek TARİHİ
GENİŞLEME tarih genişlemesinin bir açıklaması için aşağıda.
takma ad-genişletme-çizgisi
Geçerli satırda takma ad genişletme gerçekleştirin. Görmek takma adlar açıklama için yukarıda
takma ad genişletme.
geçmiş-ve-alias-genişletme-çizgisi
Geçerli satırda geçmiş ve takma ad genişletme gerçekleştirin.
son argüman ekle (M-., M-_)
eş anlamlısı yank-son-arg.
çalıştır-ve-sonraki (Şirket)
Yürütme için geçerli satırı kabul edin ve ilgili satıra göre bir sonraki satırı getirin.
düzenleme için geçmişten geçerli satır. Herhangi bir argüman yoksayılır.
düzenle-ve-yürüt-komutu (C-xC-e)
Geçerli komut satırında bir düzenleyici çağırın ve sonucu kabuk olarak yürütün
emreder. Cümbüş çağırmaya çalışır $ GÖRSEL, $ EDITOR, ve emacs editör olarak,
o sipariş.

Komutları için Değiştirme Metin
dosyanın sonu (Ortalama CD)
Örneğin, ``````` `` tarafından ayarlanan dosya sonunu gösteren karakter. Eğer bu
karakter, satırda karakter olmadığında ve nokta, satırda olduğunda okunur.
satırın başında, Readline bunu girdinin sonu olarak yorumlar ve geri döner EOF.
sil-char (CD)
Noktadaki karakteri silin. Bu işlev ile aynı karaktere bağlıysa
tty EOF olarak karakter CD genellikle öyledir, etkileri için yukarıya bakın.
geri-delete-char (Silmek)
İmlecin arkasındaki karakteri silin. Sayısal bir argüman verildiğinde,
öldürme halkasında silinen metin.
ileri-geri-sil-char
İmleç satırın sonunda değilse, imlecin altındaki karakteri silin,
bu durumda imlecin arkasındaki karakter silinir.
alıntı-insert (Cq, Özgeçmiş)
Yazılan sonraki karakteri aynen satıra ekleyin. Bu nasıl eklenir
gibi karakterler Cq, Örneğin.
sekme ekleme (Özgeçmiş SEKME)
Bir sekme karakteri ekleyin.
Kendi kendine insert (A, b, A, 1, !, ...)
Yazılan karakteri girin.
devrik-karakterler (Ct)
Noktadan önce karakteri, noktadaki karakterin üzerine sürükleyin, noktayı hareket ettirin
ileri de. Nokta satırın sonundaysa, bu iki noktayı transpoze eder.
Noktadan önce karakterler. Negatif argümanların hiçbir etkisi yoktur.
transpoze-kelimeler (Mt)
Noktadan önce sözcüğü, noktadan sonra sözcüğü geçerek sürükleyin, noktayı o sözcüğün üzerine taşıyın
ilave olarak. Nokta satırın sonundaysa, bu son iki sözcüğün yerini değiştirir.
çizgi.
büyük harf (Mü)
Geçerli (veya aşağıdaki) sözcüğü büyük harfle yazın. Negatif bir argümanla, büyük harf
önceki kelime, ancak noktayı hareket ettirmeyin.
küçük harf (Mi)
Geçerli (veya takip eden) sözcüğü küçük harf yapın. Negatif bir argümanla, küçük harfle
önceki kelime, ancak noktayı hareket ettirmeyin.
büyük harfle-kelime (Mc)
Geçerli (veya sonraki) sözcüğü büyük harf yapın. Negatif bir argümanla, büyük harf kullanın
önceki kelime, ancak noktayı hareket ettirmeyin.
üzerine yazma modu
Üzerine yazma modunu değiştirin. Açık bir pozitif sayısal argümanla, şuna geçer:
üzerine yazma modu. Açık bir pozitif olmayan sayısal argümanla, eklemeye geçer
modu. Bu komut yalnızca emacs modu; vi modun üzerine farklı yazar.
Her arama okuma satırı() ekleme modunda başlar. Üzerine yazma modunda, karakterler bağlı
için Kendi kendine insert Metni sağa itmek yerine metni bir noktada değiştirin.
Karakterler bağlı geri-delete-char noktadan önceki karakteri a ile değiştirin
uzay. Varsayılan olarak, bu komut ilişkisizdir.

Öldürme ve yanking
ölüm hattı (Çk)
Metni noktadan satırın sonuna kadar öldürün.
geriye doğru öldürme hattı (Cx Silmek)
Satırın başına kadar geriye doğru öldürün.
unix-line-atma (Cu)
Noktadan satırın başına kadar geriye doğru öldürün. Öldürülen metin şuraya kaydedilir:
öldürme halkası.
tüm çizgiyi öldür
Nokta nerede olursa olsun, geçerli satırdaki tüm karakterleri öldürün.
öldürücü söz (Md)
Geçerli kelimenin noktasından sonuna kadar veya kelimeler arasında ise, sonuna kadar öldür
sonraki kelime. Sözcük sınırları tarafından kullanılanlarla aynıdır. ileri kelime.
geri-öldür-kelime (M-Ruout)
Noktanın arkasındaki kelimeyi öldür. Sözcük sınırları tarafından kullanılanlarla aynıdır.
ters kelime.
kabuk-öldür-kelime (Md)
Geçerli kelimenin noktasından sonuna kadar veya kelimeler arasında ise, sonuna kadar öldür
sonraki kelime. Sözcük sınırları tarafından kullanılanlarla aynıdır. kabuk-ileri-kelime.
kabuk-geri-öldür-kelime (M-Ruout)
Noktanın arkasındaki kelimeyi öldür. Sözcük sınırları tarafından kullanılanlarla aynıdır.
kabuk-geri-kelime.
unix-kelime-rubout (Cw)
Kelime sınırı olarak beyaz boşluk kullanarak noktanın arkasındaki kelimeyi öldürün. öldürülen metin
öldürme halkasına kaydedilir.
unix-dosya-adı-zarar
Kelime olarak beyaz boşluk ve eğik çizgi karakterini kullanarak noktanın arkasındaki kelimeyi öldürün
sınırlar. Öldürülen metin, öldürme halkasına kaydedilir.
sil-yatay-boşluk (M-\)
Noktanın etrafındaki tüm boşlukları ve sekmeleri silin.
öldürme bölgesi
Geçerli bölgedeki metni öldür.
öldüren bölge olarak kopyala
Bölgedeki metni öldürme arabelleğine kopyalayın.
geri kopyala-kelime
Kill arabelleğinden önce sözcüğü kopyalayın. Kelime sınırları aynı
ters kelime.
kopyala-ileri-kelime
Aşağıdaki noktayı kill arabelleğine kopyalayın. Kelime sınırları aynı
as ileri kelime.
birden çekme (Cy)
Öldürme halkasının üst kısmını bu noktada arabelleğe çekin.
yank-pop (Benim)
Öldürme halkasını döndürün ve yeni tepeyi çekin. Sadece aşağıdaki çalışır birden çekme or yank-pop.

Sayısal Argümanlar
rakam argümanı (M-0, M-1, ..., M--)
Bu rakamı zaten biriken argümana ekleyin veya yeni bir argüman başlatın. M--
olumsuz bir tartışma başlatır.
evrensel argüman
Bu, bir argüman belirtmenin başka bir yoludur. Bu komutun ardından bir veya
daha fazla basamak, isteğe bağlı olarak bir eksi işaretiyle birlikte, bu basamaklar
argüman. Komutu rakamlar takip ediyorsa, yürütme evrensel argüman tekrar
sayısal argümanı sonlandırır, ancak aksi halde yoksayılır. Özel bir durum olarak, eğer bu
komutun hemen ardından rakam veya eksi olmayan bir karakter gelir.
işareti, sonraki komut için argüman sayısı dört ile çarpılır. Argüman
count başlangıçta birdir, bu nedenle bu işlevi ilk kez yürütmek,
argüman dört sayılır, ikinci kez argüman on altı sayılır, vb.

Tamamlanıyor
tamamlamak (TAB)
Noktadan önce metni tamamlamayı deneyin. Cümbüş tamamlama girişimleri
metni bir değişken olarak ele almak (metin ile başlıyorsa $), kullanıcı adı (eğer metin
İle başlar ~), ana bilgisayar adı (metin ile başlıyorsa @) veya komut (takma adlar dahil
ve işlevler) sırayla. Bunların hiçbiri bir eşleşme sağlamazsa, dosya adı tamamlama
teşebbüs etti.
olası tamamlamalar (M-?)
Noktadan önce metnin olası tamamlamalarını listeleyin.
ekleme-tamamlamalar (M-*)
Metnin tüm tamamlamalarını, tarafından oluşturulacak noktadan önce ekleyin.
olası tamamlamalar.
menü tamamlandı
Benzer tamamlamak, ancak tamamlanacak sözcüğün tek bir eşleşmeyle değiştirir
olası tamamlamaların listesi. Tekrarlanan yürütme menü tamamlandı adımlar
sırayla her eşleşmeyi ekleyerek olası tamamlamalar listesi aracılığıyla. Sonunda
tamamlama listesinin zili çalınır (ayarına bağlı olarak) çan tarzı)
ve orijinal metin geri yüklenir. bir argüman n hamle n ileri pozisyonlar
maç listesi; arasında geriye doğru hareket etmek için olumsuz bir argüman kullanılabilir.
liste. Bu komutun bağlı olması amaçlanmıştır SEKME, ancak varsayılan olarak bağlı değildir.
menü-tamamlandı-geri
Aynı menü tamamlandı, ancak olası listede geriye doğru hareket eder.
tamamlamalar, sanki menü tamamlandı olumsuz görüş verilmişti. Bu komut
varsayılan olarak bağlı değildir.
sil-karakter-veya-liste
Satırın başında veya sonunda değilse, imlecin altındaki karakteri siler
(sevmek sil-char). Satırın sonunda, aynı şekilde davranırsa
olası tamamlamalar. Bu komut varsayılan olarak ilişkisizdir.
tam dosya adı (M-/)
Noktadan önceki metinde dosya adı tamamlamayı deneyin.
olası-dosya-tamamlamalar (Cx /)
Metnin olası tamamlamalarını, bir dosya adı olarak ele alarak, noktadan önce listeleyin.
tam kullanıcı adı (M-~)
Metni bir kullanıcı adı olarak ele alarak noktadan önce tamamlamaya çalışın.
olası-kullanıcı adı-tamamlamalar (Cx ~)
Bir kullanıcı adı olarak ele alarak, metnin olası tamamlamalarını noktadan önce listeleyin.
tam değişken (M-$)
Bir kabuk değişkeni olarak ele alarak, noktadan önceki metni tamamlamaya çalışın.
olası-değişken-tamamlamalar (Cx $)
Metnin olası tamamlamalarını noktadan önce listeleyin, onu bir kabuk olarak ele alın
değişkeni.
tam ana bilgisayar adı (M-@)
Metni bir ana bilgisayar adı olarak ele alarak noktadan önce tamamlamaya çalışın.
olası-hostname-tamamlamalar (Cx @)
Metnin olası tamamlamalarını, bir ana bilgisayar adı olarak ele alarak, noktadan önce listeleyin.
tam komut (M-!)
Metni bir komut adı olarak ele alarak noktadan önceki metni tamamlamaya çalışın.
Komut tamamlama, metni takma adlarla, ayrılmış sözcüklerle,
sırasıyla kabuk işlevleri, kabuk yerleşikleri ve son olarak yürütülebilir dosya adları.
olası-komut-tamamlamalar (Cx !)
Bir komut olarak ele alarak, noktadan önce metnin olası tamamlamalarını listeleyin
adı.
dinamik-tam-geçmiş (M-SEKME)
Metni noktadan önceki satırlarla karşılaştırarak tamamlamayı deneyin.
olası tamamlama maçları için geçmiş listesi.
dabbrev-genişlet
Metni satırlarla karşılaştırarak, noktadan önceki metinde menü tamamlamayı deneyin
olası tamamlama maçları için geçmiş listesinden.
tam parantez (M-{)
Dosya adı tamamlama işlemini gerçekleştirin ve ekteki olası tamamlamaların listesini ekleyin
parantez içinde, böylece liste kabuk tarafından kullanılabilir (bkz. bağ Genişleme ile elde edilmiş).

Tuş takımı Makrolar
start-kbd-makro (Cx ()
Geçerli klavye makrosuna yazılan karakterleri kaydetmeye başlayın.
end-kbd-makro (Cx ))
Geçerli klavye makrosuna yazılan karakterleri kaydetmeyi bırakın ve
tanım.
çağrı-son-kbd-makro (Cx e)
Makrodaki karakterleri yaparak, tanımlanan son klavye makrosunu yeniden çalıştırın
klavyede yazılmış gibi görünür.
baskı-son-kbd-makro ()
Tanımlanan son klavye makrosunu aşağıdakilere uygun bir biçimde yazdırın. girdirc dosyası.

Diğer
init dosyasını yeniden oku (Cx kr)
İçeriğinde okuyun girdirc dosya ve herhangi bir bağlamayı veya değişkeni dahil edin
Orada bulunan ödevler.
iptal etmek (Cg)
Geçerli düzenleme komutunu iptal edin ve terminalin zilini çalın (
ayarı çan tarzı).
büyük harfli sürüm (Anne, Mb, M-x, ...)
Eğer metalaştırılmış karakter x küçük harf ise, bağlı olan komutu çalıştırın.
karşılık gelen büyük harfli karakter.
önek-meta (ESC)
Yazılan sonraki karakteri metalaştırın. ESC f eşdeğerdir meta-f.
geri (C-_, Cx Cu)
Artımlı geri alma, her satır için ayrı ayrı hatırlanır.
dönüş hattı (Bay)
Bu satırda yapılan tüm değişiklikleri geri alın. Bu, yürütmek gibi geri yeteri kadar komut
hattı ilk durumuna döndürmek için kez.
tilde-genişlet (M-&)
Geçerli sözcük üzerinde tilde genişletme gerçekleştirin.
ayar işareti (C-@, M- )
İşareti noktaya ayarlayın. Sayısal bir argüman sağlanmışsa, işaret şu şekilde ayarlanır:
o pozisyon.
değişim noktası ve işareti (Cx Cx)
Noktayı işaretle değiştirin. Geçerli imleç konumu, kaydedilen
konum ve eski imleç konumu işaret olarak kaydedilir.
karakter arama (C-])
Bir karakter okunur ve nokta o karakterin bir sonraki oluşumuna taşınır. A
negatif sayım önceki oluşumları arar.
karakter-arama-geriye doğru (MC-])
Bir karakter okunur ve nokta o karakterin önceki oluşumuna taşınır.
karakter. Negatif bir sayı, sonraki oluşumları arar.
atla-csi-dizisi
için tanımlananlar gibi çok tuşlu bir diziyi tüketmek için yeterli sayıda karakter okuyun.
Home ve End gibi tuşlar. Bu tür diziler, bir Kontrol Dizisi Göstergesi ile başlar.
(CSI), genellikle ESC-[. Bu dizi "\[" ile bağlantılıysa, bu tür anahtarları üreten tuşlar
açıkça bir readline komutuna bağlı olmadıkça dizilerin hiçbir etkisi olmayacaktır,
düzenleme arabelleğine başıboş karakterler eklemek yerine. Bu bağlanmamış
varsayılandır, ancak genellikle ESC-['ye bağlıdır.
ekleme-yorum (M-#)
Sayısal bir argüman olmadan, okuma satırının değeri yorum-başla değişken
geçerli satırın başına eklenir. Sayısal bir argüman sağlanırsa,
bu komut bir geçiş işlevi görür: satırın başındaki karakterler
değeriyle eşleşmez yorum-başla, değer eklenir, aksi takdirde
içindeki karakterler yorum-başla satırın başından silinir. ikisinde de
durumda, satır yeni bir satır yazılmış gibi kabul edilir. varsayılan değeri
yorum-başla bu komutun geçerli satırı bir kabuk yorumu yapmasına neden olur. Eğer bir
sayısal argüman, yorum karakterinin kaldırılmasına neden olur, satır
kabuk tarafından yürütülür.
küre-tam-kelime (Mg)
Noktadan önceki sözcük, yol adı genişletmesi için bir kalıp olarak ele alınır.
yıldız işareti dolaylı olarak eklenmiştir. Bu model, eşleşen bir liste oluşturmak için kullanılır.
olası tamamlamalar için dosya adları.
glob-genişlet-kelime (Cx *)
Noktadan önceki sözcük, yol adı genişletmesi için bir kalıp olarak ele alınır ve liste
eşleşen dosya adları, sözcüğün yerine eklenir. Sayısal bir argüman ise
sağlandığında, yol adı genişletmesinden önce bir yıldız işareti eklenir.
glob-list-genişletmeleri (Cx g)
Tarafından oluşturulabilecek genişletmelerin listesi glob-genişlet-kelime is
görüntülenir ve çizgi yeniden çizilir. Sayısal bir bağımsız değişken sağlanırsa, bir yıldız işareti
yol adı genişletmesinden önce eklenir.
döküm fonksiyonları
Tüm işlevleri ve bunların anahtar bağlantılarını readline çıktı akışına yazdırın.
Sayısal bir argüman sağlanmışsa, çıktı şu şekilde biçimlendirilir:
bir parçası yapılabilir girdirc dosyası.
döküm değişkenleri
Tüm ayarlanabilir okuma satırı değişkenlerini ve değerlerini okuma satırına yazdırın
çıkış akışı Sayısal bir argüman sağlanırsa, çıktı şu şekilde biçimlendirilir:
bir parçası haline getirilebilecek bir yol girdirc dosyası.
döküm makroları
Makrolara bağlı tüm okuma satırı tuş dizilerini ve bunların dizelerini yazdırın
çıktı. Sayısal bir argüman sağlanmışsa, çıktı şu şekilde biçimlendirilir:
bir parçası haline getirilebileceğini girdirc dosyası.
ekran-kabuk-versiyonu (Cx Özgeçmiş)
Şu anki örneğiyle ilgili sürüm bilgilerini görüntüle darbe.

Programlanabilir Sürecin Tamamlanması
Tamamlanması gereken bir komuta yönelik bir argüman için sözcük tamamlama girişiminde bulunulduğunda
şartname (bir bilgi notu) kullanılarak tanımlanmıştır. tamamlamak yerleşik (bkz. SHELL İNŞAAT
KOMUTLAR aşağıda), programlanabilir tamamlama olanakları çağrılır.

İlk olarak, komut adı tanımlanır. Komut sözcüğü boş dize ise
(boş bir satırın başında tamamlama denendi), ile tanımlanan herhangi bir tamamlama belirtimi -E
için seçenek tamamlamak kullanıldı. Bu komut için bir compspec tanımlanmışsa, compspec
kelime için olası tamamlamaların listesini oluşturmak için kullanılır. Komut kelimesi ise
tam yol adı, ilk önce tam yol adı için bir compspec aranır. compspec yoksa
tam yol adı için bulunursa, bölüm için bir compspec bulunmaya çalışılır.
son eğik çizgiden sonra. Bu aramalar bir derleme belirtimi ile sonuçlanmazsa, herhangi bir özet belirtim
ile tanımlanan -D için seçenek tamamlamak varsayılan olarak kullanılır.

Bir compspec bulunduğunda, eşleşen kelimelerin listesini oluşturmak için kullanılır. Eğer bir
compspec bulunamadı, varsayılan darbe aşağıda açıklandığı gibi tamamlama Tamamlanıyor is
seslendirdi.

İlk olarak, compspec tarafından belirtilen eylemler kullanılır. Yalnızca ön eki olan eşleşmeler
tamamlanan kelime döndürülür. Ne zaman -f or -d seçenek dosya adı için kullanılır veya
dizin adı tamamlama, kabuk değişkeni FIGNORE eşleşmeleri filtrelemek için kullanılır.

Bir yol adı genişletme modeli tarafından belirtilen tüm tamamlamalar -G seçenek oluşturuldu
sonraki. Model tarafından üretilen kelimelerin, tamamlanan kelimeyle eşleşmesi gerekmez. bu
GLOBIGNORE kabuk değişkeni eşleşmeleri filtrelemek için kullanılmaz, ancak FIGNORE değişken
Kullanılmış.

Ardından, argüman olarak belirtilen dize -W seçenek düşünülür. dize
içindeki karakterleri kullanarak ilk bölme IFS sınırlayıcı olarak özel değişken. Kabuk alıntı
onurlandırılır. Her kelime daha sonra ayraç genişletme, tilde genişletme, parametre kullanılarak genişletilir.
ve yukarıda açıklandığı gibi değişken genişletme, komut değiştirme ve aritmetik genişletme
altında GENİŞLEME. Sonuçlar, yukarıda açıklanan kurallar kullanılarak bölünür. Word
Bölme. Genişletmenin sonuçları, mevcut olan kelimeye karşı önek ile eşleştirilir.
tamamlandı ve eşleşen kelimeler olası tamamlamalar haline geldi.

Bu eşleşmeler oluşturulduktan sonra, belirtilen herhangi bir kabuk işlevi veya komutu
-F ve -C seçenekler çağrılır. Komut veya işlev çağrıldığında, COMP_LINE,
COMP_POINT, COMP_KEY, ve COMP_TYPE değişkenlere yukarıda açıklandığı gibi değerler atanır.
Kabuk Değişkenler. Bir kabuk işlevi çağrılıyorsa, COMP_WORDS ve COMP_CWORD
değişkenler de ayarlanır. İşlev veya komut çağrıldığında, ilk argüman ($1)
argümanları tamamlanan komutun adı, ikinci argüman ($2)
tamamlanan kelime ve üçüncü argüman ($3) kelimeden önceki kelimedir
geçerli komut satırında tamamlanıyor. Oluşturulan tamamlamaların filtrelenmesi yok
tamamlanan kelime karşı gerçekleştirilir; işlev veya komut tamamlandı
maçları oluşturma özgürlüğü.

ile belirtilen herhangi bir işlev -F önce çağrılır. İşlev, herhangi bir kabuğu kullanabilir
tesisleri de dahil olmak üzere kompanzasyon eşleşmeleri oluşturmak için aşağıda açıklanan yerleşik. o
olası tamamlamaları KESİNLİKLE dizi değişkeni, dizi öğesi başına bir tane.

Ardından, ile belirtilen herhangi bir komut -C seçenek eşdeğer bir ortamda çağrılır
komut ikamesi. Her satıra bir tamamlama listesi yazdırmalıdır.
standart çıktı. Gerekirse yeni satırdan kaçmak için ters eğik çizgi kullanılabilir.

Tüm olası tamamlamalar oluşturulduktan sonra, ile belirtilen herhangi bir filtre -X
seçeneği listeye uygulanır. Filtre, yol adı genişletmesi için kullanılan bir kalıptır; a
& desende, tamamlanan kelimenin metni ile değiştirilir. gerçek & Mayıs ayı
ters eğik çizgi ile kaçmak; bir eşleşme yapılmadan önce ters eğik çizgi kaldırılır. Herhangi
desenle eşleşen tamamlama listeden kaldırılacaktır. bir lider ! reddeder
desen; bu durumda kalıba uymayan herhangi bir tamamlama kaldırılacaktır.

Son olarak, ile belirtilen herhangi bir önek ve sonek -P ve -S seçenekler her birine eklenir
tamamlama listesinin bir üyesidir ve sonuç, okuma satırı tamamlama koduna döndürülür
olası tamamlamaların listesi olarak.

Daha önce uygulanan eylemler herhangi bir eşleşme oluşturmazsa ve -o dirnameler seçenek
tedarik edildi tamamlamak compspec tanımlandığında, dizin adı tamamlama
teşebbüs etti.

Eğer -o artılar seçeneği sunuldu tamamlamak compspec tanımlandığında,
dizin adı tamamlama girişiminde bulunulur ve tüm eşleşmeler programın sonuçlarına eklenir.
diğer eylemler.

Varsayılan olarak, bir compspec bulunursa, ürettiği her şey tamamlanmaya geri döndürülür.
olası tamamlamaların tam seti olarak kodlayın. Varsayılan darbe tamamlamalar değil
denendi ve dosya adı tamamlamanın okuma satırı varsayılanı devre dışı bırakıldı. Eğer -o
bashvarsayılan seçeneği sunuldu tamamlamak compspec tanımlandığında, darbe
compspec eşleşme oluşturmazsa varsayılan tamamlamalar denenir. Eğer -o varsayılan
seçeneği sunuldu tamamlamak compspec tanımlandığında, readline'ın varsayılanı
tamamlama belirtimi (ve denenirse varsayılan darbe
tamamlamalar) eşleşme oluşturmaz.

Bir compspec, dizin adının tamamlanmasının istendiğini belirttiğinde, programlanabilir
tamamlama işlevleri, readline'ı tamamlanmış adlara eğik çizgi eklemeye zorlar.
değerine bağlı olarak, dizinlere sembolik bağlantılar işaret dizinleri taleb
ayarından bağımsız olarak değişken symlinked-dizinleri işaretle okuma satırı değişkeni.

Tamamlamaları dinamik olarak değiştirmek için bir miktar destek var. Bu en yararlı olduğunda
ile belirtilen bir varsayılan tamamlama ile birlikte kullanılır tamamlamak -D. Mümkün
tamamlamanın olması gerektiğini belirtmek için tamamlama işleyicileri olarak yürütülen kabuk işlevleri için
124 çıkış durumu döndürülerek yeniden denendi. Bir kabuk işlevi 124 döndürür ve değişirse
tamamlamaya çalışılan komutla ilişkili derleme belirtimi (ürünle verilir)
işlev yürütüldüğünde ilk argüman olarak), programlanabilir tamamlama yeniden başlar
en baştan, bu komut için yeni bir compspec bulma girişimi ile. Bu izin verir
yerine tamamlanmaya çalışılırken dinamik olarak oluşturulacak bir dizi tamamlama
hepsi birden yüklendi.

Örneğin, her biri bir dosyada tutulan bir compspec kütüphanesi olduğunu varsayarsak
komutun adına karşılık gelen aşağıdaki varsayılan tamamlama işlevi
tamamlamaları dinamik olarak yükle:

_tamamlama_yükleyici()
{
. "/etc/bash_completion.d/$1.sh" >/dev/null 2>&1 && return 124
}
tam -D -F _completion_loader -o bashdefault -o varsayılan

TARİHİ


Zaman -o tarih seçeneği set yerleşik etkinleştirilirse, kabuk şuna erişim sağlar:
komuta tarih, önceden yazılan komutların listesi. değeri HISTBOYUT
değişken, bir geçmiş listesine kaydedilecek komut sayısı olarak kullanılır. metni
son HISTBOYUT komutlar (varsayılan 500) kaydedilir. Kabuk, her komutu
parametre ve değişken genişletmeden önceki geçmiş listesi (bkz. GENİŞLEME yukarıda) ama sonra
kabuk değişkenlerinin değerlerine bağlı olarak geçmiş genişletme gerçekleştirilir HISTIGNORE
ve HISTKONTROL.

Başlangıçta, geçmiş, değişken tarafından adlandırılan dosyadan başlatılır. HISTDOSYASI
(varsayılan ~ / .bash_history). değeri ile adlandırılan dosya HISTDOSYASI kesilirse,
değeriyle belirtilen satır sayısından fazlasını içermemelidir.
HISTFILESIZE. Eğer HISTFILESIZE ayarlanmamış veya null olarak ayarlanmış, sayısal olmayan bir değer veya sayısal
sıfırdan küçük bir değer, geçmiş dosyası kesilmez. Geçmiş dosyası okunduğunda,
geçmiş yorum karakteriyle başlayan ve hemen ardından bir rakam gelen satırlar
önceki tarih satırı için zaman damgaları olarak yorumlanır. Bu zaman damgaları isteğe bağlı olarak
değerine bağlı olarak görüntülenir. GEÇMİŞ ZAMAN BİÇİMİ değişken. Ne zaman bir kabuk ile
geçmiş etkin çıkışlar, son $HISTSIZE satırlar geçmiş listesinden kopyalanır
$HISTFILE. Eğer histapend kabuk seçeneği etkinleştirildi (açıklamaya bakın alışveriş altında
SHELL İNŞAAT KOMUTLAR aşağıda), satırlar geçmiş dosyasına eklenir, aksi takdirde
geçmiş dosyasının üzerine yazılır. Eğer HISTDOSYASI ayarlanmamışsa veya geçmiş dosyası yazılamazsa,
geçmiş kaydedilmez. Eğer GEÇMİŞ ZAMAN BİÇİMİ değişken ayarlanır, zaman damgaları yazılır
saklanabilmeleri için geçmiş yorum karakteriyle işaretlenmiş geçmiş dosyasına
kabuk oturumları arasında. Bu, zaman damgalarını ayırt etmek için geçmiş yorum karakterini kullanır
diğer tarih satırlarından. Geçmişi kaydettikten sonra, geçmiş dosyası şu şekilde kısaltılır:
daha fazlasını içermez HISTFILESIZE çizgiler. Eğer HISTFILESIZE ayarlanmamış veya boş olarak ayarlanmış,
sayısal değer veya sıfırdan küçük bir sayısal değer, geçmiş dosyası kesilmez.

yerleşik komut fc (görmek SHELL İNŞAAT KOMUTLAR aşağıda) listelemek veya düzenlemek için kullanılabilir ve
geçmiş listesinin bir bölümünü yeniden yürütün. bu tarih Yerleşik görüntülemek için kullanılabilir veya
geçmiş listesini değiştirin ve geçmiş dosyasını değiştirin. Komut satırı düzenlemeyi kullanırken,
geçmişe erişim sağlayan her düzenleme modunda arama komutları mevcuttur
liste.

Kabuk, geçmiş listesine hangi komutların kaydedildiği üzerinde kontrol sağlar. bu
HISTKONTROL ve HISTIGNORE değişkenler, kabuğun yalnızca bir alt kümeyi kaydetmesine neden olacak şekilde ayarlanabilir
girilen komutlardan bu cmdist kabuk seçeneği, etkinleştirilirse, kabuğun
çok satırlı bir komutun her satırını aynı geçmiş girişine kaydetmeye çalışın,
sözdizimsel doğruluğu korumak için gerektiğinde noktalı virgül. bu litist kabuk seçeneği
kabuğun komutu noktalı virgül yerine gömülü yeni satırlarla kaydetmesine neden olur. Görmek
açıklaması alışveriş altında yerleşik SHELL İNŞAAT KOMUTLAR hakkında bilgi için
kabuk seçeneklerini ayarlama ve ayarlama.

TARİHİ GENİŞLEME


Kabuk, içindeki geçmiş genişletmeye benzer bir geçmiş genişletme özelliğini destekler.
csh. Bu bölümde, hangi sözdizimi özelliklerinin kullanılabilir olduğu açıklanmaktadır. Bu özellik etkinleştirildi
etkileşimli mermiler için varsayılan olarak ve aşağıdakiler kullanılarak devre dışı bırakılabilir: +H seçeneği set
yerleşik komut (bkz. SHELL İNŞAAT KOMUTLAR altında). Etkileşimli olmayan mermiler performans göstermez
varsayılan olarak geçmiş genişletme.

Geçmiş genişletmeleri, geçmiş listesindeki sözcükleri giriş akışına sokarak,
komutları tekrarlamak kolay, önceki bir komutun argümanlarını mevcut girdiye ekleyin
veya önceki komutlardaki hataları hızla düzeltin.

Geçmiş genişletme, tam bir satır okunduktan hemen sonra, kabuktan önce gerçekleştirilir.
kelimelere böler. İki bölümde gerçekleşir. Birincisi, hangi satırın
ikame sırasında kullanmak için geçmiş listesinden. İkincisi, bölümlerini seçmektir.
geçerli olana dahil etmek için bu satır. Geçmişten seçilen satır,
olayve bu çizginin üzerinde işlem yapılan kısımları sözler. Çeşitli düzenleyiciler vardır
seçilen kelimeleri işlemek için kullanılabilir. Satır aynı kelimelere bölünmüş
girişi okurken olduğu gibi moda, böylece birkaç metakarakterdir- çevrili ayrılmış kelimeler
alıntılar tek kelime olarak kabul edilir. Tarih açılımları ortaya çıkmasıyla tanıtıldı
olan tarih genişletme karakteri ! varsayılan olarak. Sadece ters eğik çizgi (\) ve tek
tırnak işaretleri, geçmiş genişletme karakterini alıntılayabilir.

Birkaç karakter, geçmişin hemen ardından bulunursa, geçmiş genişletmeyi engeller
genişleme karakteri, alıntılanmamış olsa bile: boşluk, sekme, yeni satır, satır başı ve =.
Eğer dış dünya kabuk seçeneği etkinleştirildi, ( genişlemeyi de engeller.

ile ayarlanabilen birkaç kabuk seçeneği alışveriş yerleşik davranışı uyarlamak için kullanılabilir
tarihin genişlemesi. Eğer geçmiş doğrulama kabuk seçeneği etkinleştirildi (açıklamaya bakın
the alışveriş aşağıda yerleşik) ve taleb kullanılıyor, geçmiş ikameleri değil
hemen kabuk ayrıştırıcısına iletilir. Bunun yerine, genişletilmiş satır,
taleb daha fazla değişiklik için düzenleme arabelleği. Eğer taleb kullanılıyor ve
histredit kabuk seçeneği etkinleştirilirse, başarısız bir geçmiş ikamesi şuraya yeniden yüklenir:
the taleb düzeltme için arabellek düzenleme. bu -p seçeneği tarih yerleşik komut
Bir geçmiş genişletmesini kullanmadan önce ne yapacağını görmek için kullanılabilir. bu -s seçeneği
tarih Yerleşik, geçmiş listesinin sonuna komut eklemek için kullanılabilir.
aslında onları yürütmek, böylece daha sonra geri çağırmak için kullanılabilirler.

Kabuk, geçmiş genişletme mekanizması tarafından kullanılan çeşitli karakterlerin kontrolünü sağlar
(açıklamaya bakın geçmiş karakterler yukarıda altında Kabuk Değişkenler). Kabuk kullanır
Geçmiş dosyasını yazarken geçmiş zaman damgalarını işaretlemek için geçmiş yorum karakteri.

Etkinlikler koordinat belirleme
Bir olay tanımlayıcısı, geçmiş listesindeki bir komut satırı girişine bir referanstır. Meğer ki
referans mutlaktır, olaylar tarihteki mevcut konuma göredir
liste.

! Arkasından bir boş, yeni satır, taşıma
dönüş, = veya ( ( dış dünya kabuk seçeneği kullanılarak etkinleştirilir alışveriş yerleşik).
!n Komut satırına bakın n.
!-n Geçerli komut eksi bakın n.
!! Önceki komuta bakın. Bu, `!-1' ile eşanlamlıdır.
!dizi
Geçmiş listesindeki mevcut konumdan önceki en son komuta bakın
ile başlayan dizi.
!?dizi[?]
Geçmiş listesindeki mevcut konumdan önceki en son komuta bakın
içeren dizi. takip eden ? varsa atlanabilir dizi hemen takip edilir
yeni bir satır tarafından.
^string1^string2^
Hızlı ikame. Değiştirerek önceki komutu tekrarlayın string1 ile string2.
``!!:s/ ile eşdeğerstring1/string2/'' (görmek Düzenleyiciler altında).
!# Şimdiye kadar yazılan tüm komut satırı.

Word koordinat belirleme
Olaydan istenen kelimeleri seçmek için kelime tanımlayıcıları kullanılır. A : olayı ayırır
belirtici kelimeden belirtim. İşaretçi kelimesi başlıyorsa atlanabilir.
Birlikte ^, $, *, -ya da %. Sözcükler satırın başından itibaren numaralandırılmıştır.
ilk kelime 0 (sıfır) ile gösterilir. Sözcükler, geçerli satıra ayrılmış olarak eklenir
tek boşluklarla.

0 (sıfır)
Sıfırıncı kelime. Kabuk için bu komut kelimesidir.
n The nkelime.
^ İlk argüman. Yani 1. kelime.
$ Son kelime. Bu genellikle son argümandır, ancak sıfıra genişleyecektir.
satırda sadece bir kelime varsa kelime.
% En son ` tarafından eşleşen kelime?dizi?' Ara.
x-y Bir dizi kelime; `-y' kısaltması '0-y'.
* Sıfır hariç tüm kelimeler. Bu eş anlamlıdır `1- $'. bu bir hata değil
kullanmak * olayda sadece bir kelime varsa; boş dize döndürülür
O vaka.
x* Kısaltmalar x-$.
x- Kısaltmalar x-$ sevmek x*, ancak son kelimeyi atlar.

Bir olay belirtimi olmadan bir sözcük belirteci sağlanırsa, önceki komut şudur:
olay olarak kullanılmıştır.

Düzenleyiciler
İsteğe bağlı kelime tanımlayıcıdan sonra, bir veya daha fazla sayıdan oluşan bir dizi görünebilir.
her birinin önünde bir `:' olan aşağıdaki değiştiriciler.

h Sondaki bir dosya adı bileşenini kaldırın, yalnızca başlığı bırakın.
t Tüm önde gelen dosya adı bileşenlerini kuyruk bırakarak kaldırın.
r Formun sonundaki bir son eki kaldırın Xxx., temel adı bırakarak.
e Son ek hariç hepsini kaldırın.
p Yeni komutu yazdırın ancak çalıştırmayın.
q Değiştirilen kelimeleri, daha fazla ikameden kaçınarak alıntı yapın.
x Değiştirilen kelimeleri olduğu gibi alıntılayın q, ancak kelimelere bölün boşlukları ve yeni satırlar.
s/eski/yeni/
Vekil yeni ilk oluşumu için eski olay satırında. herhangi bir sınırlayıcı
yerine kullanılabilir /. Son sınırlayıcı, sonuncuysa isteğe bağlıdır
olay satırının karakteri. Sınırlayıcı alıntı yapılabilir eski ve yeni Birlikte
tek ters eğik çizgi. & içinde görünürse yeniile değiştirilir eski. Tek bir ters eğik çizgi
&'dan alıntı yapacaktır. Eğer eski null, son olarak ayarlandı eski ikame edilmiş veya yoksa
önceki tarih ikameleri gerçekleşti, son dizi içinde !?dizi[?]
arama.
& Önceki değişikliği tekrarlayın.
g Değişikliklerin tüm olay satırına uygulanmasına neden olun. Bu kullanılır
` ile bağlaç:s' (örneğin, `:gs/eski/yeni/') veya `:&'. ` ile kullanılırsa:s', herhangi
sınırlayıcı / yerine kullanılabilir ve son sınırlayıcı ise isteğe bağlıdır
olay satırının son karakteri. Bir a eş anlamlısı olarak kullanılabilir g.
G Aşağıdakileri uygulayın `s' değiştiricisi olay satırındaki her kelimeye bir kez.

SHELL İNŞAAT KOMUTLAR


Aksi belirtilmedikçe, bu bölümde belgelenen her yerleşik komut,
önce gelen seçenekler - kabul eder -- seçeneklerin sonunu belirtmek için. bu :, gerçek, yanlış,
ve test yerleşikler seçenekleri kabul etmiyor ve işlem yapmıyor -- özel olarak. bu çıkış, çıkış,
kırılma, devam etmek, izin, ve çalışma yerleşikler ile başlayan argümanları kabul eder ve işler -
ihtiyaç duymadan --. Argümanları kabul eden ancak şu şekilde belirtilmeyen diğer yerleşikler
seçenekleri kabul etmek ile başlayan argümanları yorumlamak - geçersiz seçenekler olarak ve gerektirir --
Bu yorumu önlemek için.
: [argümanlar]
Etkisi yok; komut genişletmenin ötesinde hiçbir şey yapmaz argümanlar ve herhangi birini gerçekleştirmek
belirtilen yönlendirmeler Sıfır çıkış kodu döndürülür.

. Dosya [argümanlar]
kaynak Dosya [argümanlar]
Komutları oku ve çalıştır Dosya mevcut kabuk ortamında ve geri dönüş
çalıştırılan son komutun çıkış durumu Dosya. Eğer Dosya değil
eğik çizgi içerir, dosya adları PATH içeren dizini bulmak için kullanılır
Dosya. içinde aranan dosya PATH yürütülebilir olması gerekmez. Ne zaman darbe değil
in posix kip, içinde hiçbir dosya bulunamazsa geçerli dizinde aranır. PATH. Eğer
the kaynak yolu seçeneği alışveriş yerleşik komut kapatıldığında, PATH değil
arandı. Varsa argümanlar sağlanırsa, konumsal parametreler haline gelirler.
ne zaman Dosya Idam edildi. Aksi takdirde konum parametreleri değişmez. bu
dönüş durumu, komut dosyası içinde çıkılan son komutun durumudur (yoksa 0
komutlar yürütülür) ve false ise Dosya bulunamadı veya okunamıyor.

takma ad [-p] [isim[=değer] ...]
Takma ad hiçbir argüman olmadan veya -p seçeneği, içindeki takma adların listesini yazdırır.
Airdrop Formu takma ad isim=değer standart çıktıda. Argümanlar sağlandığında, bir takma ad
her biri için tanımlanmış isim kimin değer verilmiş. içinde bir boşluk değer neden olur
takma ad genişletildiğinde takma ad ikamesi için kontrol edilecek sonraki sözcük. İçin
her isim hiçbir argüman listesinde değer verilir, adı ve değeri
takma adı yazdırılır. Takma ad olmadığı sürece true döndürür isim hayır için verilir
takma ad tanımlanmıştır.

bg [iş spesifikasyonu ...]
Askıya alınan her işi devam ettir iş spesifikasyonu arka planda, sanki başlamış gibi
&. Eğer iş spesifikasyonu mevcut değil, kabuğun kavramı akım kullanıldı. bg
iş spesifikasyonu iş denetimi devre dışı bırakıldığında veya iş ile çalıştırıldığında çalıştırılmadığı sürece 0 döndürür
kontrol etkinleştirildi, belirtilen herhangi bir iş spesifikasyonu bulunamadı veya işsiz başlatıldı
kontrol.

bağlamak [-m tuş haritası] [-lpsvPSVX]
bağlamak [-m tuş haritası] [-q işlev] [-u işlev] [-r tuş takımı]
bağlamak [-m tuş haritası] -f Dosya
bağlamak [-m tuş haritası] -x tuş takımı:kabuk komutu
bağlamak [-m tuş haritası] tuş takımı:fonksiyon adı
bağlamak okuma satırı komutu
Mevcut görüntü taleb tuş ve işlev bağlamaları, bir tuş dizisini bir
taleb işlev veya makro veya bir taleb değişken. Her seçenek olmayan argüman
göründüğü gibi bir komuttur .inputrc, ancak her bağlama veya komut
ayrı bir argüman olarak geçti; örneğin, '"\Cx\Cr": init dosyasını yeniden oku'. Seçenekler, eğer
sağlanan, aşağıdaki anlamlara sahiptir:
-m tuş haritası
kullanım tuş haritası sonraki bağlamalardan etkilenecek tuş haritası olarak.
Kabul edilebilir tuş haritası isimler emac'lar, emacs-standart, emacs-meta, emacs-ctlx,
vi, vi-hareket, vi komutu, ve vi-ekleme. vi eşdeğerdir vi komutu;
emacs eşdeğerdir emacs-standart.
-l Hepsinin isimlerini listeleyin taleb fonksiyonlar.
-p ekran taleb işlev adları ve bağlamaları, olabilecekleri şekilde
yeniden oku.
-P Liste akımı taleb işlev adları ve bağlamalar.
-s ekran taleb makrolara bağlı anahtar diziler ve çıktıları dizeler
yeniden okunabilecek şekilde.
-S ekran taleb makrolara bağlı anahtar diziler ve çıktıları dizeler.
-v ekran taleb Değişken isimleri ve değerleri olabilecek şekilde
yeniden oku.
-V Liste akımı taleb değişken isimleri ve değerleri.
-f Dosya
Anahtar bağlantılarını şuradan oku: Dosya.
-q işlev
Hangi tuşların adlandırılmış anahtarları çağırdığını sorgula işlev.
-u işlev
Adlandırılmış olana bağlı tüm anahtarların bağlantısını kaldırın işlev.
-r tuş takımı
için herhangi bir geçerli bağlamayı kaldırın tuş takımı.
-x tuş takımı:kabuk komutu
Sebeb olmak kabuk komutu her zaman yürütülecek tuş takımı girilir. Ne zaman
kabuk komutu yürütüldüğünde, kabuk READLINE_LINE değişken
içeriği taleb satır arabelleği ve READLINE_POINT değişken
ekleme noktasının geçerli konumu. Yürütülen komut değişirse
değerini READLINE_LINE or READLINE_POINT, bu yeni değerler olacak
düzenleme durumuna yansıtılır.
-X Kabuk komutlarına bağlı tüm anahtar dizilerini ve ilişkili komutları listeleyin
girdi olarak yeniden kullanılabilecek bir biçimde.

Tanınmayan bir seçenek verilmediği veya bir hata oluşmadığı sürece dönüş değeri 0'dır.

kırılma [n]
Bir içinden çık için, süre, kadarya da seçmek döngü. Eğer n belirtilir, kırılır n
seviyeleri. n ≥ 1 olmalıdır. n çevreleyen döngülerin sayısından büyükse, tümü
çevreleyen döngülerden çıkılır. dönüş değeri 0 olmadıkça n daha büyük değil veya
eşittir 1.

builtin kabuk yerleşik [argümanlar]
Belirtilen kabuk yerleşimini yürüterek geçirin argümanlar, ve çıkışını döndür
durum. Bu, adı bir kabuk ile aynı olan bir işlevi tanımlarken kullanışlıdır.
yerleşik, yerleşik işlevin işlev içindeki işlevselliğini korur. bu cd
Yerleşik genellikle bu şekilde yeniden tanımlanır. dönüş durumu false ise
kabuk yerleşik bir kabuk yerleşik komutu değildir.

arayan [İfade]
Herhangi bir aktif alt yordam çağrısının bağlamını döndürür (bir kabuk işlevi veya bir komut dosyası
ile yürütülen . or kaynak yerleşikler). Olmadan İfade, arayan çizgiyi görüntüler
geçerli alt program çağrısının numarası ve kaynak dosya adı. olumsuz olmayan ise
tamsayı olarak sağlanır İfade, arayan satır numarasını, alt program adını ve
Geçerli yürütme çağrı yığınındaki o konuma karşılık gelen kaynak dosya.
Bu ekstra bilgi, örneğin bir yığın izi yazdırmak için kullanılabilir. bu
geçerli çerçeve çerçeve 0'dır. Kabuk yürütülmediği sürece dönüş değeri 0'dır.
bir alt program araması veya İfade aramada geçerli bir konuma karşılık gelmiyor
yığını.

cd [-L|[-P [-e]] [-@]] [dir]
Geçerli dizini şu şekilde değiştirin: dir. Eğer dir sağlanmaz, değeri ANA SAYFA
kabuk değişkeni varsayılandır. Aşağıdaki ek argümanlar dir yok sayılır.
Değişken CDPATH içeren dizin için arama yolunu tanımlar. dir: her biri
dizin adı CDPATH aranır dir. Alternatif dizin adları
CDPATH iki nokta üst üste (:) ile ayrılır. Boş bir dizin adı CDPATH aynı
geçerli dizin olarak, yani ``.''. Eğer dir eğik çizgi (/) ile başlar, ardından CDPATH
Kullanılmıyor. -P seçenek nedenleri cd fiziksel dizin yapısını kullanmak için
çapraz geçiş sırasında sembolik bağları çözme dir ve örneklerini işlemeden önce ..
in dir (ayrıca bakınız -P seçeneği set yerleşik komut); en -L opsiyon kuvvetleri
Örnekleri işlendikten sonra bağlantı çözülerek izlenecek sembolik bağlantılar
.. in dir. Eğer .. içinde görünür dir, hemen kaldırılarak işlenir
önceki yol adı bileşeni dir, bir eğik çizgiye veya başlangıcına geri dön dir. Eğer
the -e seçeneği ile birlikte verilir -P, ve geçerli çalışma dizini olamaz
başarılı bir dizin değişikliğinden sonra başarıyla belirlenir, cd geri dönecek
başarısız olma durumu. Bunu destekleyen sistemlerde, -@ seçeneği sunar
bir dosyayla bir dizin olarak ilişkilendirilmiş genişletilmiş öznitelikler. bir argüman - is
dönüştürüldü $ESKİPWD dizin değişikliği denenmeden önce. boş değilse
dizin adı CDPATH kullanılıyorsa veya - ilk argümandır ve
dizin değişikliği başarılı, yeni çalışma dizininin mutlak yol adı
standart çıktıya yazılır. Dizin ise, dönüş değeri doğrudur.
başarıyla değiştirildi; aksi halde yanlış.

komuta [-pVv] komuta [arg ...]
koşmak komuta ile args normal kabuk işlevi aramasını bastırmak. Sadece yerleşik
bulunan komutlar veya komutlar PATH yürütülür. Eğer -p seçenek verilir,
arama komuta için varsayılan bir değer kullanılarak gerçekleştirilir PATH ki
tüm standart yardımcı programları bulma garantisi. eğer -V or -v seçenektir
sağlanan, bir açıklama komuta yazdırılır. bu -v seçenek tek bir kelimeye neden olur
çağırmak için kullanılan komutu veya dosya adını belirten komuta oynatılmış olmak; en -V
seçeneği daha ayrıntılı bir açıklama üretir. Eğer -V or -v seçeneği sunulur,
çıkış durumu 0 ise komuta bulundu ve değilse 1. Hiçbir seçenek yoksa
sağlandı ve bir hata oluştu veya komuta bulunamıyor, çıkış durumu 127'dir.
Aksi takdirde, çıkış durumu komuta yerleşik, çıkış durumudur komuta.

kompanzasyon [seçenek] [sözcük]
için olası tamamlama eşleşmeleri oluşturun sözcük göre seçeneks, hangi olabilir
tarafından kabul edilen herhangi bir seçenek olabilir tamamlamak hariç yerleşik -p ve -r, ve
eşleşmeleri standart çıktıya yazın. kullanırken -F or -C seçenekler,
programlanabilir tamamlama tesisleri tarafından belirlenen çeşitli kabuk değişkenleri,
kullanılabilir, yararlı değerlere sahip olmayacaktır.

Eşleşmeler, programlanabilir tamamlama ile aynı şekilde oluşturulacaktır.
kod, bunları doğrudan aynı olan bir tamamlama belirtiminden oluşturmuştu.
bayraklar. Eğer sözcük belirtilir, yalnızca eşleşen tamamlamalar sözcük olacak
Görüntülenen.

Geçersiz bir seçenek sağlanmadıkça veya hiçbir eşleşme sağlanmadıkça dönüş değeri doğrudur.
oluşturuldu.

tamamlamak [-abcdefgjksuv] [-o komp-seçenek] [-DE] [-A aksiyon] [-G küreselpat] [-W Sözcük listesi] [-F
işlev] [-C komuta]
[-X filtre] [-P önek] [-S sonek] isim [isim ...]
tamamlamak -pr [-DE] [isim ...]
Argümanların her birine nasıl uygulanacağını belirtin isim tamamlanmalıdır. Eğer -p seçenektir
sağlanır veya hiçbir seçenek sunulmazsa, mevcut tamamlama özellikleri
girdi olarak yeniden kullanılmasına izin verecek şekilde yazdırılır. bu -r seçeneği kaldırır
her biri için tamamlama belirtimi isimveya hayır ise isims sağlanır, tüm
tamamlama özellikleri. bu -D seçenek, kalan seçeneklerin ve
eylemler "varsayılan" komutun tamamlanması için geçerli olmalıdır; yani tamamlama
daha önce tamamlanmamış bir komut üzerinde denendi. bu -E
seçenek, kalan seçeneklerin ve eylemlerin "boş" için geçerli olması gerektiğini belirtir.
komut tamamlama; yani, boş bir satırda tamamlama denendi.

Sözcük tamamlama tamamlandığında bu tamamlama özelliklerini uygulama süreci
denenen yukarıda aşağıda açıklanmıştır Programlanabilir Sürecin Tamamlanması.

Diğer seçenekler, belirtilmişse, aşağıdaki anlamlara sahiptir. argümanlar -G,
-W, ve -X seçenekler (ve gerekirse, -P ve -S seçenekler) alıntılanmalıdır
önce onları genişlemeden koruyun tamamlamak yerleşik çağrılır.
-o komp-seçenek
The komp-seçenek ötesinde compspec'in davranışının çeşitli yönlerini kontrol eder
tamamlamaların basit nesli. komp-seçenek şunlardan biri olabilir:
bashvarsayılan
Varsayılanın geri kalanını gerçekleştirin darbe tamamlamalar eğer compspec
eşleşme oluşturmaz.
varsayılan Compspec ise readline'ın varsayılan dosya adı tamamlamasını kullanın.
eşleşme oluşturmaz.
dirnameler
Compspec hayır oluşturursa, dizin adı tamamlama işlemini gerçekleştirin.
maçlar.
dosya adları
readline'a compspec'in dosya adları oluşturduğunu söyleyin, böylece
dosya adına özgü herhangi bir işlemi gerçekleştirin (eğik çizgi eklemek gibi
dizin adları, özel karakterlerin alıntılanması veya
sondaki boşluklar). Kabuk işlevleriyle kullanılmak üzere tasarlanmıştır.
Alıntı yok Readline'a, eğer varsa, tamamlanmış kelimeleri alıntı yapmamasını söyleyin.
dosya adları (dosya adlarından alıntı yapmak varsayılandır).
yer yok Readline'a kelimelere boşluk (varsayılan) eklememesini söyle
satırın sonunda tamamlandı.
artılar
Compspec tarafından tanımlanan tüm eşleşmeler oluşturulduktan sonra, dizin
ad tamamlama denenir ve tüm eşleşmeler
diğer eylemlerin sonuçları.
-A aksiyon
The aksiyon olası bir liste oluşturmak için aşağıdakilerden biri olabilir
tamamlamalar:
takma ad Takma adlar. olarak da belirtilebilir -a.
dizi değişkeni
Dizi değişken adları.
bağlayıcı Taleb anahtar bağlama adları.
builtin Kabuk yerleşik komutlarının adları. olarak da belirtilebilir -b.
komuta Komut adları. olarak da belirtilebilir -c.
rehber
Dizin adları. olarak da belirtilebilir -d.
özürlü
Devre dışı bırakılan kabuk yerleşiklerinin adları.
etkin Etkinleştirilmiş kabuk yerleşiklerinin adları.
ihracat Dışa aktarılan kabuk değişkenlerinin adları. olarak da belirtilebilir -e.
dosya Dosya adları. olarak da belirtilebilir -f.
işlev
Kabuk fonksiyonlarının isimleri.
Grup Grup adları. olarak da belirtilebilir -g.
yardım konusu
tarafından kabul edilen yardım konuları yardım et yerleşik.
hostname
Tarafından belirtilen dosyadan alınan ana bilgisayar adları ANA DOSYASI kabuk
değişkeni.
İş denetimi etkinse, iş adları. olarak da belirtilebilir -j.
Anahtar kelime Kabuk ayrılmış kelimeler. olarak da belirtilebilir -k.
koşu İş denetimi etkinse, çalışan işlerin adları.
hizmet Hizmet adları. olarak da belirtilebilir -s.
seçmek için geçerli argümanlar -o seçeneği set yerleşik.
alışveriş tarafından kabul edilen kabuk seçeneği adları alışveriş yerleşik.
işaret Sinyal isimleri.
durdu İş denetimi etkinse durdurulan işlerin adları.
kullanıcı Kullanıcı adları. olarak da belirtilebilir -u.
değişken
Tüm kabuk değişkenlerinin adları. olarak da belirtilebilir -v.
-C komuta
komuta bir alt kabuk ortamında yürütülür ve çıktısı şu şekilde kullanılır:
olası tamamlamalar
-F işlev
kabuk işlevi işlev geçerli kabuk ortamında yürütülür.
İşlev yürütüldüğünde, ilk argüman ($1) adıdır
argümanları tamamlanan komut, ikinci argüman ($2) 'dir
tamamlanan kelime ve üçüncü argüman ($3) önceki kelimedir
geçerli komut satırında tamamlanan sözcük. Bittiğinde,
olası tamamlamalar değerinden alınır. KESİNLİKLE
dizi değişkeni.
-G küreselpat
Yol adı genişletme modeli küreselpat mümkün kılmak için genişletilir
tamamlamalar.
-P önek
önek sonuçta her olası tamamlamanın başına eklenir
diğer seçenekler uygulandı.
-S sonek
sonek diğer tüm seçenekler tamamlandıktan sonra olası her tamamlamaya eklenir.
uygulandı.
-W Sözcük listesi
The Sözcük listesi içindeki karakterler kullanılarak bölünür. IFS özel değişken olarak
sınırlayıcılar ve sonuçta ortaya çıkan her kelime genişletilir. Olası tamamlamalar
tamamlanan kelimeyle eşleşen sonuç listesinin üyeleridir.
-X filtre
filtre yol adı genişletmesi için kullanılan bir kalıptır. Uygulanır
önceki seçenekler tarafından oluşturulan olası tamamlamaların listesi ve
argümanlar ve her tamamlama eşleşmesi filtre listeden kaldırılır.
Bir lider ! in filtre kalıbı reddeder; bu durumda, herhangi bir tamamlama
eşleşmiyor filtre kaldırıldı.

Geçersiz bir seçenek sağlanmadıkça, bunun dışında bir seçenek sağlanmadıkça, dönüş değeri doğrudur.
-p or -r olmadan sağlanır isim argümanı kaldırmak için bir girişimde bulunulur.
için tamamlama belirtimi isim hiçbir spesifikasyonun bulunmadığı veya bir hata
bir tamamlama belirtimi ekleyerek oluşur.

kompost [-o seçenek] [-DE] [+o seçenek] [isim]
Her biri için tamamlama seçeneklerini değiştirin isim göre seçeneks veya için
hayır ise şu anda yürütülen tamamlama isims verilir. Eğer hayırsa seçeneks verilir,
her biri için tamamlama seçeneklerini görüntüleyin isim veya mevcut tamamlama. bu
olası değerleri seçenek bunlar için geçerli mi tamamlamak yukarıda açıklanan yerleşik.
The -D seçeneği, kalan seçeneklerin ``varsayılan'' için geçerli olması gerektiğini belirtir.
komut tamamlama; yani, hiçbir komutun tamamlanmadığı bir komutta tamamlama girişiminde bulunuldu.
tamamlama daha önce tanımlanmıştır. bu -E seçeneği, kalan
seçenekler ``boş'' komutun tamamlanması için geçerli olmalıdır; yani, tamamlama girişiminde bulunuldu
boş bir satırda.

Geçersiz bir seçenek sağlanmadıkça dönüş değeri doğrudur, bir deneme yapılır
seçeneklerini değiştirmek için isim tamamlama belirtimi bulunmayan veya
bir çıktı hatası oluşur.

devam etmek [n]
Çevreleyenin sonraki yinelemesine devam et için, süre, kadarya da seçmek döngü. Eğer n
belirtildiğinde, devam ettirin ninci çevreleyen döngü. n ≥ 1 olmalıdır. n daha büyüktür
çevreleyen döngü sayısından daha fazla, son çevreleyen döngü (``üst düzey''
döngü) devam ettirilir. dönüş değeri 0 olmadıkça n daha büyük veya eşit değil
1.

bildirmek [-aAfFgilnrtux] [-p] [isim[=değer] ...]
dizgi [-aAfFgilnrtux] [-p] [isim[=değer] ...]
Değişkenleri bildirin ve/veya onlara nitelikler verin. Eğer hayırsa isims verildikten sonra göster
değişkenlerin değerleri. bu -p seçeneği, niteliklerini ve değerlerini gösterecektir.
her isim. Ne zaman -p ile kullanılır isim argümanlar, ek seçenekler, dışında -f
ve -F, göz ardı edilir. Ne zaman -p olmadan sağlanır isim argümanlar, gösterecek
tarafından belirtilen niteliklere sahip tüm değişkenlerin nitelikleri ve değerleri
ekstra seçenekler. Başka bir seçenek sağlanmazsa -p, bildirmek gösterecek
tüm kabuk değişkenlerinin nitelikleri ve değerleri. bu -f seçeneği kısıtlayacak
kabuk işlevlerine göster. bu -F seçenek, işlevin görüntülenmesini engeller
tanımlar; yalnızca işlev adı ve nitelikler yazdırılır. Eğer genişletilmiş hata ayıklama
kabuk seçeneği kullanılarak etkinleştirilir alışveriş, kaynak dosya adı ve satır numarası
fonksiyon tanımlı olarak da görüntülenir. bu -F seçenek ima eder -f. -g
seçenek, değişkenleri global kapsamda oluşturulmaya veya değiştirilmeye zorlar.
bildirmek bir kabuk işlevinde yürütülür. Diğer tüm durumlarda göz ardı edilir. bu
çıktıyı belirtilen değişkenlerle sınırlamak için aşağıdaki seçenekler kullanılabilir:
nitelik veya değişkenlere nitelikler vermek için:
-a Her isim dizine alınmış bir dizi değişkenidir (bkz. Diziler ile elde edilmiş).
-A Her isim bir ilişkisel dizi değişkenidir (bkz. Diziler ile elde edilmiş).
-f Yalnızca işlev adlarını kullanın.
-i Değişken bir tamsayı olarak kabul edilir; aritmetik değerlendirme (bkz. ARİTMETİK
DEĞERLENDİRME yukarıdaki) değişkene bir değer atandığında gerçekleştirilir.
-l Değişkene bir değer atandığında, tüm büyük harfler
küçük harfe dönüştürülmüştür. Büyük harf özelliği devre dışı.
-n Her birine ver isim the isim referansı nitelik, onu bir başkasına isim referansı haline getirir
değişken. Bu diğer değişken değeri ile tanımlanır isim. Herşey
referanslar ve atamalar isimdeğiştirmek dışında, -n nitelik
kendisi tarafından başvurulan değişken üzerinde gerçekleştirilir. isimdeğeri. bu -n
nitelik, dizi değişkenlerine uygulanamaz.
-r Yapmak isimsalt okunur. Bu adlara daha sonra değerler atanamaz.
sonraki atama ifadeleri veya ayarlanmamış.
-t Her birine ver isim the iz bağlanmak. İzlenen işlevler DEBUG ve
DÖNÜŞ çağıran kabuktan tuzaklar. trace özniteliğinin özel bir özelliği yoktur.
değişkenler için anlam.
-u Değişkene bir değer atandığında, tüm küçük harfli karakterler
büyük harfe dönüştürülmüştür. Küçük harf özelliği devre dışı bırakılır.
-x işaret isims ortam aracılığıyla sonraki komutlara dışa aktarmak için.

'-' yerine '+' kullanılması, istisnalar dışında, bunun yerine niteliği kapatır.
+a bir dizi değişkenini yok etmek için kullanılamaz ve +r salt okunuru kaldırmayacak
bağlanmak. Bir fonksiyonda kullanıldığında, bildirmek ve dizgi her birini yap isim yerel olarak
ile yerel komut vermedikçe -g seçeneği sunulur. Bir değişken adı ise
ardından =değer, değişkenin değeri olarak ayarlanır değer. Kullanırken -a or -A
ve dizi değişkenleri, ek nitelikler oluşturmak için bileşik atama sözdizimi
sonraki atamalara kadar yürürlüğe girmez. Bir
geçersiz seçenekle karşılaşılırsa, ``-f kullanılarak bir işlev tanımlanmaya çalışılır.
foo=bar'', salt okunur bir değişkene değer atanmaya çalışılır, bir deneme
bileşik kullanılmadan bir dizi değişkenine değer atamak için yapılır
atama sözdizimi (bkz. Diziler yukarıda), bunlardan biri isimleri geçerli bir kabuk değil
değişken adı, salt okunur bir durum için salt okunur durumu kapatma girişiminde bulunuldu
değişken, bir dizi değişkeni için dizi durumunu kapatma girişiminde bulunulur veya
ile var olmayan bir işlevi görüntüleme girişiminde bulunulur. -f.

dirs [-clpv] [+n] [-n]
Seçenekler olmadan, o anda hatırlanan dizinlerin listesini görüntüler. bu
varsayılan görüntü, dizin adları boşluklarla ayrılmış tek bir satırdadır.
Dizinler ile listeye eklenir. pushd emretmek; NS popd komut kaldırır
listeden girişler.
-c Tüm girişleri silerek dizin yığınını temizler.
-l Tam yol adlarını kullanarak bir liste oluşturur; varsayılan listeleme biçimi bir
ana dizini belirtmek için tilde.
-p Dizin yığınını satır başına bir girişle yazdırın.
-v Dizin yığınını satır başına bir girişle yazdırın ve her girişin önüne şunu ekleyin:
dizini yığında.
+n Görüntüler ntarafından gösterilen listenin solundan sayılan inci giriş dirs ne zaman
sıfırdan başlayarak seçenekler olmadan çağrılır.
-n Görüntüler ntarafından gösterilen listenin sağından sayılan inci giriş dirs
sıfır ile başlayan seçenekler olmadan çağrıldığında.

Geçersiz bir seçenek sağlanmadıkça veya n ötesinde indeksler
dizin yığınının sonu.

reddetmek [-ar] [-h] [iş spesifikasyonu ...]
Seçenekler olmadan, her birini kaldırın iş spesifikasyonu aktif işler tablosundan. Eğer iş spesifikasyonu is
mevcut değil ve ne de -a ne -r seçeneği sağlanır, akım is
kullanılmış. Eğer -h seçenek verilmiş, her iş spesifikasyonu tablodan kaldırılmaz, ancak
öyle işaretlenir GÖRÜŞ kabuk alırsa işe gönderilmez GÖRÜŞ. Eğer
yok hayır iş spesifikasyonu sağlanır, -a seçenek, tüm işleri kaldırmak veya işaretlemek anlamına gelir; en -r
seçeneği olmayan iş spesifikasyonu bağımsız değişken, işlemi çalışan işlerle kısıtlar. Geri dönüş
a olmadığı sürece değer 0'dır. iş spesifikasyonu geçerli bir iş belirtmiyor.

kaçırmak [-neE] [arg ...]
Çıktı args, boşluklarla ayrılmış, ardından yeni bir satır. iade durumu
0, bir yazma hatası oluşmadığı sürece. Eğer -n belirtilir, sondaki yeni satır
bastırılmış. Eğer -e seçenek verilir, aşağıdaki ters eğik çizginin yorumlanması-
kaçan karakterler etkinleştirildi. bu -E seçeneği bunların yorumlanmasını devre dışı bırakır
kaçış karakterleri, varsayılan olarak yorumlandıkları sistemlerde bile. bu
xpg_echo kabuk seçeneği, dinamik olarak olup olmadığını belirlemek için kullanılabilir. kaçırmak
varsayılan olarak bu kaçış karakterlerini genişletir. kaçırmak yorumlamıyor -- demek istediğim
seçeneklerin sonu. kaçırmak aşağıdaki kaçış dizilerini yorumlar:
\a alarm (zil)
\b geri tuşu
\c daha fazla çıktıyı bastır
\e
\E bir kaçış karakteri
\f form besleme
\n Yeni hat
\r satırbaşı
\t yatay sekme
\v dikey sekme
\\ Ters eğik çizgi
\0nnn değeri sekizlik değer olan sekiz bitlik karakter nnn (sıfırdan üçe
sekizli rakamlar)
\xHH değeri onaltılık değer olan sekiz bitlik karakter HH (bir yada iki
onaltılık rakamlar)
\uHHHH değeri onaltılık değer olan Unicode (ISO/IEC 10646) karakteri
HHHH (bir ila dört onaltılık basamak)
\Uhhhhhhhh
değeri onaltılık değer olan Unicode (ISO/IEC 10646) karakteri
hhhhhhhh (bir ila sekiz onaltılık basamak)

etkinleştirmek [-a] [-dnps] [-f Dosya] [isim ...]
Yerleşik kabuk komutlarını etkinleştirin ve devre dışı bırakın. Yerleşik devre dışı bırakmak bir diske izin verir
olmadan yürütülecek bir kabuk yerleşikiyle aynı ada sahip komut
kabuk normalde yerleşikleri arasa bile tam bir yol adı belirtme
disk komutlarından önce. Eğer -n kullanılır, her isim devre dışı bırakıldı; aksi halde, isimleri vardır
etkinleştirilmiş. Örneğin, kullanmak için test aracılığıyla bulunan ikili PATH onun yerine
kabuk yerleşik sürümü, ``enable -n testi'' çalıştırın. bu -f seçenek, yeniyi yüklemek anlamına gelir
yerleşik komut isim paylaşılan nesneden Dosya, dinamiği destekleyen sistemlerde
Yükleniyor. bu -d seçenek, daha önce yüklenmiş bir yerleşimi siler -f. Eğer hayırsa
isim argümanlar verilirse veya -p seçenek sağlanır, kabuk yerleşiklerinin bir listesi
yazdırılır. Başka hiçbir seçenek argümanı olmadan, liste tüm etkin kabuklardan oluşur.
yerleşikler. Eğer -n sağlanır, yalnızca devre dışı bırakılan yerleşikler yazdırılır. Eğer -a is
sağlandığında, yazdırılan liste tüm yerleşikleri içerir, olup olmadığına veya
her biri etkin değil. Eğer -s sağlanır, çıkış POSIX ile sınırlıdır
özel yerleşikler. a olmadıkça dönüş değeri 0'dır. isim kabuk yerleşik değil veya
paylaşılan bir nesneden yeni bir yerleşik yüklenirken bir hata oluştu.

değerlendirme [arg ...]
The args okunur ve tek bir komutta birleştirilir. Bu komut
daha sonra kabuk tarafından okunur ve yürütülür ve çıkış durumu değer olarak döndürülür
of değerlendirme. Eğer yoksa argsveya yalnızca boş argümanlar, değerlendirme 0 döndürür.

exec [-cl] [-a isim] [komuta [argümanlar]]
If komuta belirtilir, kabuğun yerini alır. Yeni bir süreç oluşturulmaz. bu
argümanlar argümanlar haline komuta. Eğer -l seçenek sağlanır, kabuk
iletilen sıfırıncı argümanın başına bir tire koyar komuta. Bu,
ne giriş(1) yapar. NS -c seçenek nedenleri komuta boş yürütülecek
Çevre. Eğer -a verilir, kabuk geçer isim sıfırıncı argüman olarak
yürütülen komut. Eğer komuta herhangi bir nedenle yürütülemez,
olmadıkça etkileşimli kabuk çıkar. yürütme hatası kabuk seçeneği etkinleştirildi. Şöyle
durumda, başarısızlık döndürür. Etkileşimli bir kabuk, dosya başarısız olursa başarısız olur.
idam edilecek. Eğer komuta belirtilmemişse, herhangi bir yönlendirme
geçerli kabuk ve dönüş durumu 0'dır. Bir yeniden yönlendirme hatası varsa,
iade durumu 1'dir.

çıkış [n]
Kabuğun bir durumla çıkmasına neden olun n. Eğer n atlanırsa, çıkış durumu
yürütülen son komutunki. üzerinde bir tuzak EXIT kabuktan önce yürütülür
sona erer.

ihracat [-fn] [isim[=sözcük]] ...
ihracat -p
Sağlanan isimleri ortamına otomatik dışa aktarma için işaretlenmiştir.
daha sonra yürütülen komutlar. Eğer -f seçeneği verilmiş, isimleri bakın
fonksiyonlar. Eğer hayırsa isimleri verilirse veya -p seçenek sağlanır, bir ad listesi
dışa aktarılan tüm değişkenlerin sayısı yazdırılır. bu -n seçeneği, dışa aktarma özelliğinin
her birinden kaldırılmak isim. Bir değişken adının ardından = geliyorsasözcük, değeri
değişken olarak ayarlandı sözcük. ihracat geçersiz olmadıkça 0 çıkış durumu döndürür
seçeneğiyle karşılaşıldığında, bunlardan biri isimleri geçerli bir kabuk değişkeni adı değil veya -f
ile birlikte verilir isim bu bir işlev değil.

fc [-e isim] [-lnr] [ilk] [son]
fc -s [okşama=temsilci] [cmd]
İlk form, bir dizi komut seçer. ilk için son geçmiş listesinden
ve bunları görüntüler veya düzenler ve yeniden yürütür. Ad ve son olarak belirtilebilir
dize (o dizeyle başlayan son komutu bulmak için) veya bir sayı olarak (bir
Negatif bir sayının uzaklık olarak kullanıldığı geçmiş listesine dizin
geçerli komut numarası). Eğer son belirtilmemiş, geçerli komuta ayarlanmıştır
listelemek için (``fc -l -10'' son 10 komutu yazdıracak şekilde) ve ilk
aksi takdirde. Eğer ilk belirtilmemiş, düzenleme için önceki komuta ayarlanmıştır
ve -16 listeleme için.

The -n seçeneği, listeleme sırasında komut numaralarını gizler. bu -r seçenek tersine çevrilir
komutların sırası. Eğer -l seçeneği verilir, komutlar listelenir
standart çıktı. Aksi takdirde, editör tarafından verilen isim bir dosyada çağrılır
bu komutları içeren Eğer isim değeri verilmez, FEDIT değişken
kullanılır ve değeri EDİTÖR if FEDIT ayarlanmadı. Her iki değişken de ayarlanmamışsa,
vi kullanıldı. Düzenleme tamamlandığında, düzenlenen komutlar yankılanır ve yürütülür.

İkinci formda, komuta her örneğinden sonra yeniden yürütülür okşama Değiştirildi
by temsilci. Komuta aynı şekilde yorumlanır ilk üstünde. Birlikte kullanmak için yararlı bir takma ad
bu ```r="fc -s"'', böylece ``r cc'' yazıldığında ile başlayan son komutu çalıştırır.
``cc'' ve ``r'' yazılması son komutu yeniden yürütür.

İlk form kullanılırsa, geçersiz bir seçenek olmadığı sürece dönüş değeri 0'dır.
karşılaşılan veya ilk or son aralık dışı geçmiş satırlarını belirtin. Eğer -e seçenek
sağlanırsa, dönüş değeri yürütülen veya başarısız olan son komutun değeridir.
geçici komut dosyasında bir hata oluşursa. ikinci şekli ise
kullanıldığında, dönüş durumu, yeniden yürütülen komutun durumudur. cmd değil
geçerli bir geçmiş satırı belirtin, bu durumda fc başarısızlık döndürür.

fg [iş spesifikasyonu]
Devam et iş spesifikasyonu ön planda ve mevcut işi yapın. Eğer iş spesifikasyonu değil
mevcut, kabuğun kavramı akım kullanıldı. Dönüş değeri şudur
ön plana yerleştirilen komutun veya iş kontrolü yapıldığında çalıştırılırsa başarısızlığın
devre dışı veya iş denetimi etkinken çalıştırıldığında, iş spesifikasyonu geçerli bir belirtmiyor
iş veya iş spesifikasyonu iş denetimi olmadan başlatılan bir işi belirtir.

Getopts tercih dizisi isim [args]
Getopts konumsal parametreleri ayrıştırmak için kabuk prosedürleri tarafından kullanılır. tercih dizisi
tanınacak seçenek karakterlerini içerir; bir karakterin ardından bir karakter geliyorsa
iki nokta üst üste, seçeneğin, şundan ayrılması gereken bir argümana sahip olması beklenir.
beyaz boşluk tarafından. İki nokta üst üste ve soru işareti karakterleri şu şekilde kullanılamaz:
seçenek karakterleri. Her çağrıldığında, Getopts sonraki seçeneği yerleştirir
kabuk değişkeni isim, başlatılıyor isim yoksa ve dizinin indeksi
değişkene işlenecek bir sonraki argüman OPTİND. OPTİND 1 olarak başlatıldı
kabuk veya kabuk betiği her çağrıldığında. Bir seçenek gerektiğinde
argüman, Getopts bu argümanı değişkene yerleştirir OPTARG. kabuk yapar
sıfırlanmadı OPTİND otomatik olarak; birden çok arama arasında manuel olarak sıfırlanmalıdır.
Getopts yeni bir parametre seti kullanılacaksa, aynı kabuk çağrısı içinde.

Seçeneklerin sonu ile karşılaşıldığında, Getopts daha büyük bir dönüş değeriyle çıkar
sıfırdan daha fazla. OPTİND ilk seçenek olmayan bağımsız değişkenin dizinine ayarlanır ve isim
ayarlandı ?.

Getopts normalde konumsal parametreleri ayrıştırır, ancak daha fazla argüman verilirse
in args, Getopts bunun yerine bunları ayrıştırır.

Getopts hataları iki şekilde bildirebilir. Eğer ilk karakter tercih dizisi bir
kolon, sessiz hata bildirimi kullanılır. Normal çalışmada, teşhis mesajları
geçersiz seçenekler veya eksik seçenek bağımsız değişkenleriyle karşılaşıldığında yazdırılır. Eğer
değişken OPTER 0 olarak ayarlandıysa, hata mesajı görüntülenmeyecektir.
ilk karakter tercih dizisi kolon değildir.

Geçersiz bir seçenek görülürse, Getopts yerler ? içine isim ve sessiz değilse yazdırır
bir hata mesajı ve ayarlar OPTARG. Eğer Getopts sessiz, seçenek karakteri
bulunan yerleştirilir OPTARG ve hiçbir tanılama mesajı yazdırılmaz.

Gerekli bir argüman bulunamazsa ve Getopts susmaz, soru işareti (?)
yerleştirildi isim, OPTARG ayarlanmaz ve bir tanılama mesajı yazdırılır. Eğer
Getopts sessizdir, ardından iki nokta üst üste (:) yerleştirilir isim ve OPTARG ayarlandı
seçenek karakteri bulundu.

Getopts Belirtilen veya belirtilmemiş bir seçenek bulunursa true değerini döndürür. geri döner
seçeneklerin sonuyla karşılaşılırsa veya bir hata oluşursa false.

esrar [-lr] [-p Dosya] [-dt] [isim]
Her zaman esrar çağrıldığında, komutun tam yol adı isim Tarafından belirlenir
içindeki dizinleri aramak $ PATH ve hatırladı. Daha önce hatırlanan herhangi bir
yol adı atılır. Eğer -p seçeneği sağlanır, yol araması yapılmaz,
ve Dosya komutun tam dosya adı olarak kullanılır. bu -r seçenek neden olur
tüm hatırlanan konumları unutmak için kabuk. bu -d seçenek kabuğun unutmasına neden olur
her birinin hatırlanan konumu isim. Eğer -t seçeneği sağlanır, tam
her birinin yol adı isim karşılık gelen yazdırılır. birden fazla ise isim argümanlar
ile birlikte verilir -t, isim karma tam yol adından önce yazdırılır. bu -l
seçeneği, çıktının girdi olarak yeniden kullanılabilecek bir biçimde görüntülenmesine neden olur. Eğer
herhangi bir argüman verilmez veya sadece -l sağlanır, hatırlanan hakkında bilgi
komutları yazdırılır. Dönüş durumu, bir isim bulunamadı veya bir
geçersiz seçenek sağlanır.

yardım et [-dms] [model]
Yerleşik komutlar hakkında faydalı bilgiler görüntüleyin. Eğer model belirtilir, yardım et
eşleşen tüm komutlar hakkında ayrıntılı yardım verir model; aksi takdirde tüm için yardım
yerleşikler ve kabuk kontrol yapıları yazdırılır.
-d Her birinin kısa bir açıklamasını görüntüleyin model
-m Her birinin açıklamasını göster model manpage benzeri bir formatta
-s Her biri için yalnızca kısa bir kullanım özeti görüntüleyin model

Hiçbir komut eşleşmediği sürece dönüş durumu 0'dır. model.

tarih [n]
tarih -c
tarih -d ofset
tarih -anrw [Dosya]
tarih -p arg [arg ...]
tarih -s arg [arg ...]
Hiçbir seçenek olmadan, komut geçmişi listesini satır numaralarıyla görüntüleyin. Listelenen satırlar
Birlikte * değiştirilmiştir. bir argüman n sadece sonuncuyu listeler n çizgiler. Eğer
kabuk değişkeni GEÇMİŞ ZAMAN BİÇİMİ ayarlanmış ve boş değil, biçim dizesi olarak kullanılıyor
için strftime(3) her görüntülenen geçmişle ilişkili zaman damgasını görüntülemek için
giriş. Biçimlendirilmiş zaman damgası ile tarih arasında araya boşluk yazdırılmaz.
tarih çizgisi. Eğer Dosya sağlanırsa, geçmiş dosyasının adı olarak kullanılır;
değilse, değeri HISTDOSYASI kullanıldı. Seçenekler, sağlanmışsa aşağıdakilere sahiptir:
anlamlar:
-c Tüm girişleri silerek geçmiş listesini temizleyin.
-d ofset
Konumdaki geçmiş girişini sil ofset.
-a "Yeni" geçmiş satırlarını (başlangıçtan beri girilen geçmiş satırları) ekleyin.
akımın darbe oturum) geçmiş dosyasına.
-n Geçmiş dosyasından henüz okunmamış geçmiş satırlarını
güncel tarih listesi. Bunlar, tarih dosyasına eklenen satırlardır.
akımın başlangıcı darbe oturum, toplantı, celse.
-r Geçmiş dosyasının içeriğini okuyun ve bunları mevcut geçmişe ekleyin
liste.
-w Geçerli geçmiş listesini geçmiş dosyasına yazın, geçmişin üzerine yazın
dosyanın içeriği.
-p Aşağıdakiler üzerinde geçmiş değişikliği gerçekleştirin args ve sonucu göster
standart çıktı. Sonuçları geçmiş listesinde saklamaz. Her biri
arg normal geçmiş genişletmeyi devre dışı bırakmak için alıntı yapılmalıdır.
-s Depolayın args tek bir giriş olarak geçmiş listesinde. içindeki son komut
geçmiş listesi önce kaldırılır args eklendi.

Eğer GEÇMİŞ ZAMAN BİÇİMİ değişken ayarlandığında, ilgili zaman damgası bilgisi
her geçmiş girişi, geçmiş yorumuyla işaretlenen geçmiş dosyasına yazılır
karakter. Geçmiş dosyası okunduğunda, geçmiş yorumu ile başlayan satırlar
hemen ardından bir rakam gelen karakter, aşağıdakiler için zaman damgaları olarak yorumlanır.
önceki tarih satırı. Geçersiz bir seçenek olmadığı sürece dönüş değeri 0'dır.
karşılaşıldığında, geçmiş dosyası okunurken veya yazılırken bir hata oluşur, geçersiz
ofset için bir argüman olarak sağlanır -dveya bir olarak sağlanan geçmiş genişletmesi
argüman -p başarısız olur.

iş fırsatları [-lnprs] [ iş spesifikasyonu ... ]
iş fırsatları -x komuta [ args ... ]
İlk form aktif işleri listeler. Seçenekler aşağıdaki anlamlara sahiptir:
-l Normal bilgilere ek olarak işlem kimliklerini listeleyin.
-n Yalnızca kullanıcıdan sonra durumu değişen işlerle ilgili bilgileri görüntüleyin
son durumlarından haberdar edildi.
-p Yalnızca işin süreç grubu liderinin süreç kimliğini listeleyin.
-r Yalnızca çalışan işleri görüntüleyin.
-s Yalnızca durdurulan işleri göster.

If iş spesifikasyonu verildiğinde, çıktı o iş hakkındaki bilgilerle sınırlıdır. bu
geçersiz bir seçenekle karşılaşılmadığı veya geçersiz bir seçenek olmadığı sürece dönüş durumu 0'dır. iş spesifikasyonu is
sağladı.

Eğer -x seçeneği sunulur, iş fırsatları herhangi birinin yerini alır iş spesifikasyonu içinde bulunan komuta or args
karşılık gelen işlem grubu kimliğiyle ve yürütür komuta onu geçmek args,
çıkış durumunu döndürür.

öldürmek [-s Sigspec | -n işaret | -Sigspec] [pid | iş spesifikasyonu] ...
öldürmek -l [Sigspec | çıkış_durumu]
tarafından adlandırılan sinyali gönder Sigspec or işaret tarafından adlandırılan süreçlere pid or
iş spesifikasyonu. Sigspec gibi büyük/küçük harfe duyarsız bir sinyal adıdır SIGKILL (Ile veya
olmadan SIG önek) veya bir sinyal numarası; işaret bir sinyal numarasıdır. Eğer Sigspec
yok o zaman SİGTERM varsayılır. bir argüman -l sinyal adlarını listeler.
Herhangi bir argüman sağlandığında -l verilen sinyallerin isimleri
bağımsız değişkenlere karşılık gelen listelenir ve dönüş durumu 0'dır.
çıkış_durumu argüman -l ya bir sinyal numarasını belirten bir sayıdır ya da
bir sinyal tarafından sonlandırılan bir işlemin çıkış durumu. öldürmek en az biri doğruysa true döndürür
sinyal başarıyla gönderildi veya bir hata oluşursa veya geçersiz bir seçenek varsa yanlış
karşılaştı.

izin arg [arg ...]
Her arg değerlendirilecek bir aritmetik ifadedir (bkz. ARİTMETİK DEĞERLENDİRME
üstünde). eğer son arg 0 olarak değerlendirir, izin 1 döndürür; 0, aksi takdirde döndürülür.

yerel [seçenek] [isim[=değer] ...]
Her argüman için, adında bir yerel değişken isim oluşturulur ve atanır değer.
seçenek tarafından kabul edilen seçeneklerden herhangi biri olabilir bildirmek. Ne zaman yerel içinde kullanılır
işlev, değişkene neden olur isim bununla sınırlı görünür bir kapsama sahip olmak
işlevi ve çocukları. Operand olmadan, yerel yerel bir liste yazar
standart çıktıya değişkenler. kullanmak bir hatadır yerel içinde olmadığında
işlev. dönüş durumu 0 olmadıkça yerel bir fonksiyonun dışında kullanılır, bir
geçersiz isim tedarik edilir veya isim salt okunur bir değişkendir.

çıkış Bir oturum açma kabuğundan çıkın.

harita dosyası [-n saymak] [-O köken] [-s saymak] [-t] [-u fd] [-C geri aramak] [-c kuantum] [dizi]
okuma dizisi [-n saymak] [-O köken] [-s saymak] [-t] [-u fd] [-C geri aramak] [-c kuantum]
[dizi]
Standart girdiden dizine alınmış dizi değişkenine satırları okuyun dizi, Ya da
dosya tanıtıcı fd eğer -u seçeneği sunulur. Değişken HARİTA DOSYASI olduğunu
varsayılan dizi. Sağlanmışsa, seçenekler aşağıdaki anlamlara sahiptir:
-n En fazla kopyala saymak çizgiler. Eğer saymak 0 ise tüm satırlar kopyalanır.
-O atamaya başla dizi indekste köken. Varsayılan dizin 0'dır.
-s İlkini atın saymak satırlar okundu.
-t Okunan her satırdan sondaki yeni satırı kaldırın.
-u Dosya tanımlayıcıdan satırları oku fd standart giriş yerine
-C Değerlendirmek geri aramak her kuantum satırlar okunur. bu -c seçenek belirtir
kuantum.
-c Her arama arasında okunan satır sayısını belirtin. geri aramak.

If -C olmadan belirtilir -c, varsayılan kuantum 5000'dir. geri aramak is
değerlendirilir, atanacak bir sonraki dizi öğesinin indeksi sağlanır ve
ek argümanlar olarak bu öğeye atanacak satır. geri aramak is
satır okunduktan sonra ancak dizi öğesi atanmadan önce değerlendirilir.

Açık bir menşe ile sağlanmadıysa, harita dosyası temizleyecek dizi atamadan önce
ona.

harita dosyası geçersiz bir seçenek veya seçenek argümanı olmadığı sürece başarıyla döner
tedarik edildi, dizi geçersiz veya atanamaz ise veya dizi dizine alınmış bir dizi değil.

popd [-n] [+n] [-n]
Dizin yığınından girdileri kaldırır. Argüman olmadan, üst kısmı kaldırır
yığından dizin ve bir cd yeni üst dizine. Argümanlar,
sağlandıysa, aşağıdaki anlamlara sahiptir:
-n Dizinleri dosyadan kaldırırken normal dizin değişikliğini bastırır.
yığın, böylece yalnızca yığın manipüle edilir.
+n kaldırır ntarafından gösterilen listenin solundan sayılan inci giriş dirs,
sıfırdan başlayarak. Örneğin: ``popd +0'' ilk dizini kaldırır,
``popd +1'' ikinci.
-n kaldırır ntarafından gösterilen listenin sağından sayılan inci giriş dirs,
sıfırdan başlayarak. Örneğin: ``popd -0'' son dizini kaldırır,
Sondan sonraki ``popd -1''.

Eğer popd komut başarılı, bir dirs da yapılır ve geri dönüş
durum 0'dir. popd geçersiz bir seçenekle karşılaşılırsa false döndürür, dizin
yığın boş, var olmayan bir dizin yığın girişi belirtildi veya dizin
değişiklik başarısız olur.

printf [-v var] biçim [argümanlar]
biçimlendirilmiş yaz argümanlar kontrolü altındaki standart çıktıya
biçim. -v seçenek, çıktının değişkene atanmasına neden olur var daha doğrusu
standart çıktıya yazdırılmaktan daha iyidir.

The biçim üç tür nesne içeren bir karakter dizisidir: düz
standart çıktıya basitçe kopyalanan karakterler, karakter kaçış dizileri,
standart çıktıya dönüştürülen ve kopyalanan format özellikleri,
her biri bir sonraki ardışık baskının yazdırılmasına neden olur tartışma. Buna ek olarak
standart printf(1) biçim özellikleri, printf aşağıdakileri yorumlar
uzantıları:
%b nedenleri printf karşılık gelen ters eğik çizgi kaçış dizilerini genişletmek için
tartışma (bunun haricinde \c çıktıyı sonlandırır, ters eğik çizgi \', \", ve \?
kaldırılmaz ve ile başlayan sekizli kaçar \0 dörde kadar içerebilir
rakamlar).
%q nedenleri printf karşılık gelen çıktıyı almak için tartışma olabilecek bir formatta
kabuk girişi olarak yeniden kullanılır.
%(tarihfmt)T
nedenleri printf kullanmaktan kaynaklanan tarih-saat dizesini çıkarmak için tarihfmt as
için bir biçim dizesi strftime(3). karşılık gelen tartışma bir tamsayıdır
çağdan bu yana geçen saniye sayısını temsil eder. İki özel argüman
değerler kullanılabilir: -1 şimdiki zamanı ve -2 zamanı temsil eder
kabuğun çağrıldığı zaman. Argüman belirtilmezse, dönüştürme şu şekilde davranır:
sanki -1 verilmiş gibi. Bu olağan bir istisnadır printf davranışı.

Dize olmayan biçim belirticilerine ilişkin argümanlar, aşağıdakiler dışında C sabitleri olarak kabul edilir:
baştaki artı veya eksi işaretine izin verilir ve baştaki karakter tek veya
çift ​​tırnak, değer aşağıdaki karakterin ASCII değeridir.

The biçim tümünü tüketmek için gerektiğinde yeniden kullanılır. argümanlar. Eğer biçim
daha fazlasını gerektirir argümanlar sağlanandan daha fazla biçim özellikleri davranır
sanki bir sıfır değeri ya da boş dizge sağlanmış gibi. Geri dönüş
değer başarıda sıfırdır, başarısızlıkta sıfır değildir.

pushd [-n] [+n] [-n]
pushd [-n] [dir]
Dizin yığınının en üstüne bir dizin ekler veya yığını döndürerek
yığının yeni tepesi geçerli çalışma dizini. Argüman olmadan,
dizin yığını olmadığı sürece ilk iki dizini değiştirir ve 0 döndürür
boş. Argümanlar, sağlanmışsa, aşağıdaki anlamlara sahiptir:
-n Dizinlere dizin eklerken normal dizin değişikliğini bastırır.
yığın, böylece yalnızca yığın manipüle edilir.
+n Yığını döndürür, böylece nth dizini (soldan sayarak
tarafından gösterilen liste dirs, sıfırdan başlayarak) en üsttedir.
-n Yığını döndürür, böylece nth dizini (sağdan sayarak
tarafından gösterilen liste dirs, sıfırdan başlayarak) en üsttedir.
dir Ekler dir üstteki dizin yığınına, onu yeni akım haline getirir
çalışma dizini, argüman olarak sağlanmış gibi cd
yerleşik.

Eğer pushd komut başarılı, bir dirs de yapılmaktadır. ilk şekli ise
kullanıldı, pushd cd olmadığı sürece 0 döndürür dir başarısız olur. İkinci form ile, pushd
dizin yığını boş değilse 0 döndürür, var olmayan bir dizin yığını
öğe belirtildi veya dizin belirtilen yeni akımla değişti
dizin başarısız.

pwd [-LP]
Geçerli çalışma dizininin mutlak yol adını yazdırın. Yazdırılan yol adı
herhangi bir sembolik bağ içermiyorsa, -P seçeneği sağlanır veya -o fiziksel seçenek
için set yerleşik komut etkinleştirildi. Eğer -L seçenek kullanılır, yol adı
basılı sembolik bağlantılar içerebilir. Bir hata oluşmadığı sürece dönüş durumu 0'dır.
geçerli dizinin adını okurken veya geçersiz bir seçenek sağlanır.

okumak [-ers] [-a bir isim] [-d sınırlamak] [-i metin] [-n nchar'lar] [-N nchar'lar] [-p istemi] [-t
zaman aşımı] [-u fd] [isim ...]
Standart girdiden veya dosya tanıtıcıdan bir satır okunur fd Verilen
argüman olarak -u seçeneği ve ilk kelime ilk kelimeye atanır. isim,
ikinci kelimeye ikinci kelime isim, ve benzeri, artık kelimeler ve bunların
sonuncuya atanan araya giren ayırıcılar isim. Daha az kelime okunduysa
girdi akışından adlardan çok, kalan adlara boş değerler atanır.
İçindeki karakterler IFS aynı kuralları kullanarak satırı kelimelere bölmek için kullanılır
kabuk genişleme için kullanır (yukarıda aşağıda açıklanmıştır) Word Bölme). ters eğik çizgi
karakter (\) sonraki karakter okuması için herhangi bir özel anlamı kaldırmak için kullanılabilir
ve satırın devamı için. Sağlanmışsa, seçenekler aşağıdaki anlamlara sahiptir:
-a bir isim
Sözcükler, dizi değişkeninin sıralı dizinlerine atanır. bir isim,
0'dan başlıyor. bir isim herhangi bir yeni değer atanmadan önce ayarlanmaz. Diğer
isim argümanlar dikkate alınmaz.
-d sınırlamak
ilk karakter sınırlamak yerine giriş satırını sonlandırmak için kullanılır
yeni satırdan daha fazla.
-e Standart giriş bir terminalden geliyorsa, taleb (görmek OKUMA SIRASI
yukarıdaki) satırı elde etmek için kullanılır. Readline mevcut (veya varsayılan,
satır düzenleme daha önce etkin değilse) düzenleme ayarları.
-i metin
If taleb satırı okumak için kullanılıyor, metin düzenlemeye yerleştirilir
düzenleme başlamadan önce arabelleğe alın.
-n nchar'lar
okumak okuduktan sonra döner nchar'lar beklemek yerine karakter
girdi satırını tamamlayın, ancak şundan azsa bir sınırlayıcıyı dikkate alın nchar'lar
karakterler sınırlayıcıdan önce okunur.
-N nchar'lar
okumak tam olarak okuduktan sonra döner nchar'lar beklemek yerine karakterler
EOF ile karşılaşılmadıkça veya okumak zaman aşımına uğradı.
Girişte karşılaşılan sınırlayıcı karakterler özel olarak ele alınmaz ve
sebep olma okumak kadar geri dönmek nchar'lar karakterler okunur.
-p istemi
ekran istemi standart hatada, sonunda yeni satır olmadan, önce
herhangi bir girişi okumaya çalışıyor. Bilgi istemi yalnızca giriş yapıldığında görüntülenir.
bir terminalden geliyor.
-r Ters eğik çizgi bir kaçış karakteri olarak hareket etmez. Ters eğik çizgi kabul edilir
çizginin bir parçası olmak. Özellikle, ters eğik çizgi-yeni satır çifti
satırın devamı olarak kullanılır.
-s Sessiz mod. Giriş bir terminalden geliyorsa, karakterler yankılanmaz.
-t zaman aşımı
Sebeb olmak okumak tam bir giriş satırı (veya
belirtilen sayıda karakter) içinde okunmaz zaman aşımı saniye. zaman aşımı
ondalık bölümün ardından kesirli kısmı olan bir ondalık sayı olabilir
nokta. Bu seçenek yalnızca şu durumlarda etkilidir: okumak a'dan girdi okuyor
terminal, boru veya diğer özel dosya; itibaren okurken hiçbir etkisi yoktur
normal dosyalar Eğer okumak zaman aşımı, okumak okunan herhangi bir kısmi girişi kaydeder
belirtilen değişken isim. Eğer zaman aşımı , 0 olduğunu okumak hemen döner,
herhangi bir veri okumaya çalışmadan. Giriş mevcutsa çıkış durumu 0'dır.
belirtilen dosya tanımlayıcıda, aksi takdirde sıfırdan farklı olur. çıkış durumu
zaman aşımı aşılırsa 128'den büyük.
-u fd Dosya tanımlayıcıdan girdiyi oku fd.

Eğer hayırsa isimleri sağlanır, satır okuması değişkene atanır YANIT.
dosya sonu ile karşılaşılmadığı sürece dönüş kodu sıfırdır, okumak zaman aşımı (ki
dönüş kodunun 128'den büyük olması durumunda, bir değişken atama hatası (örneğin
salt okunur bir değişkene atama) oluşur veya geçersiz bir dosya tanıtıcı sağlanır
argüman olarak -u.

Sadece oku [-aAf] [-p] [isim[=sözcük] ...]
Verilen isimleri salt okunur olarak işaretlenir; bunların değerleri isimleri değiştirilemez
sonraki atama ile. Eğer -f seçenek sağlanır, işlevler
tekabül isimleri öyle işaretlenmişler. bu -a seçenek değişkenleri sınırlar
indekslenmiş diziler; en -A seçenek, değişkenleri ilişkisel dizilerle kısıtlar. Eğer
her iki seçenek de sağlanır, -A öncelik alır. Eğer hayırsa isim argümanlar verilir veya
eğer -p seçeneği sağlanırsa, tüm salt okunur adların bir listesi yazdırılır. diğer
çıktıyı salt okunur kümesinin bir alt kümesiyle sınırlamak için seçenekler kullanılabilir.
isimler. NS -p seçeneği, çıktının yeniden kullanılabilecek bir biçimde görüntülenmesine neden olur
girdi olarak. Bir değişken adının ardından = geliyorsasözcük, değişkenin değeri
ayarlandığında sözcük. Geçersiz bir seçenekle karşılaşılmadığı sürece dönüş durumu 0'dır.
arasında isimleri geçerli bir kabuk değişkeni adı değil veya -f ile birlikte verilir isim o
bir fonksiyon değildir.

dönüş [n]
Bir işlevin yürütmeyi durdurmasına ve tarafından belirtilen değeri döndürmesine neden olur. n onun için
arayan. Eğer n atlanırsa, dönüş durumu, yürütülen son komutun durumudur.
fonksiyon gövdesi. Eğer dönüş bir işlevin dışında, ancak bir işlemin yürütülmesi sırasında kullanılır.
tarafından komut dosyası . (kaynak) komutu, kabuğun bunu yürütmeyi durdurmasına neden olur.
komut dosyası ve geri dönüş n veya içinde yürütülen son komutun çıkış durumu
komut dosyasının çıkış durumu olarak komut dosyası. Eğer n verilir, dönüş değeri
en az anlamlı 8 bit. İade durumu, eğer sıfır değilse dönüş tedarik edildi
sayısal olmayan bir argüman veya bir fonksiyonun yürütülmesi sırasında değil, bir fonksiyonun dışında kullanılır.
tarafından komut dosyası . or kaynak. ile ilişkili herhangi bir komut DÖNÜŞ tuzak yürütülür
işlev veya komut dosyasından sonra yürütme devam etmeden önce.

set [--abefhkmnptuvxBCEHPT] [-o seçenek adı] [arg ...]
set [+abefhkmnptuvxBCEHPT] [+o seçenek adı] [arg ...]
Seçenekler olmadan, her bir kabuk değişkeninin adı ve değeri bir
halihazırda ayarlanmış olanı ayarlamak veya sıfırlamak için giriş olarak yeniden kullanılabilen format
değişkenler. Salt okunur değişkenler sıfırlanamaz. İçinde posix mod, sadece kabuk
değişkenler listelenir. Çıktı, geçerli yerel ayara göre sıralanır. Ne zaman
seçenekler belirtilirse, kabuk niteliklerini ayarlar veya ayarlar. Kalan tüm argümanlar
seçenek işlemeden sonra konumsal parametreler için değerler olarak kabul edilir ve
atanmış, sırayla $1, $2, ... $n. Seçenekler, belirtilmişse aşağıdakilere sahiptir:
anlamlar:
-a Değiştirilen veya oluşturulan değişkenleri ve işlevleri otomatik olarak işaretleyin
sonraki komutların ortamına aktarılması için.
-b yerine, sonlandırılan arka plan işlerinin durumunu hemen bildirin.
sonraki birincil istemden önce. Bu, yalnızca iş kontrolü yapıldığında etkilidir.
sağladı.
-e varsa hemen çıkın boru hattı (tek bir parçadan oluşabilir) basit
komuta) liste, Ya da bir bileşik komuta (görmek SHELL DİLBİLGİSİ yukarıda), çıkışlar
sıfır olmayan bir durumla. Komut başarısız olursa kabuk çıkmıyor
bir komutun hemen ardından gelen komut listesinin bir parçasıdır. süre or kadar anahtar kelime,
aşağıdaki testin bir parçası if or elif ayrılmış kelimeler, herhangi birinin parçası
bir komut yürütülür && or || finali izleyen komut dışında liste
&& or ||, bir işlem hattındaki herhangi bir komut ancak sonuncusu veya komutun
dönüş değeri ile ters çevriliyor !. a dışında bir bileşik komut ise
alt kabuk, bir komut başarısız olduğu için sıfır olmayan bir durum döndürür -e oldu
yoksayıldığında, kabuk çıkmıyor. üzerinde bir tuzak ERR, ayarlanmışsa, yürütülür
kabuk çıkmadan önce. Bu seçenek kabuk ortamı için geçerlidir ve
her alt kabuk ortamını ayrı ayrı (bkz. KOMUT UYGULAMA ÇEVRE
yukarıda) ve tüm komutları yürütmeden önce alt kabukların çıkmasına neden olabilir
alt kabukta.

Bileşik bir komut veya kabuk işlevi bir bağlamda yürütülürse, -e is
yoksayılırsa, bileşik komut içinde yürütülen komutların hiçbiri veya
fonksiyon gövdesi etkilenecektir -e ayarlansa bile -e ayarlanır ve bir
komut bir hata durumu döndürür. Bileşik bir komut veya kabuk işlevi varsa
setleri -e olduğu bir bağlamda yürütülürken -e yoksayılırsa, bu ayar
bileşik komuta veya içeren komuta kadar herhangi bir etkisi yoktur.
işlev çağrısı tamamlanır.
-f Yol adı genişletmesini devre dışı bırakın.
-h Yürütülmek üzere aranırken komutların konumunu hatırlayın.
Bu, varsayılan olarak etkindir.
-k Atama ifadeleri şeklindeki tüm argümanlar,
bir komut için ortam, yalnızca komut adından önce gelenler değil.
-m Monitör modu. İş kontrolü etkinleştirildi. Bu seçenek için varsayılan olarak açıktır
onu destekleyen sistemlerde etkileşimli kabuklar (bkz. İŞ KONTROL üstünde). Herşey
süreçler ayrı bir süreç grubunda çalışır. Ne zaman bir arka plan işi
tamamlandığında, kabuk çıkış durumunu içeren bir satır yazdırır.
-n Komutları okuyun ancak çalıştırmayın. Bu, bir kabuğu kontrol etmek için kullanılabilir
sözdizimi hataları için komut dosyası. Bu, etkileşimli kabuklar tarafından yok sayılır.
-o seçenek adı
The seçenek adı aşağıdakilerden biri olabilir:
tüm ihracat
Aynısı -a.
ayraçgenişlet
Aynısı -B.
emacs emacs tarzı bir komut satırı düzenleme arayüzü kullanın. Bu etkinleştirildi
kabuk etkileşimli olduğunda, kabuk etkileşimli olmadığı sürece varsayılan olarak
ile başladı --düzenleme yok seçenek. Bu aynı zamanda düzenlemeyi de etkiler.
için kullanılan arayüz okumak -e.
hata Aynısı -e.
hata
Aynısı -E.
işlev izi
Aynısı -T.
haşhaş Aynısı -h.
histexpand
Aynısı -H.
tarih Yukarıda açıklandığı gibi komut geçmişini etkinleştirin TARİHİ. Bu
seçenek, etkileşimli kabuklarda varsayılan olarak açıktır.
görmezden gelmek
Efekt, ``IGNOREEOF=10'' kabuk komutu verilmiş gibidir.
yürütüldü (bkz. Kabuk Değişkenler ile elde edilmiş).
Anahtar kelime Aynısı -k.
izlemek Aynısı -m.
noklobber
Aynısı -C.
noexec Aynısı -n.
noglob Aynısı -f.
hayır Şu anda yoksayıldı.
bildirmek Aynısı -b.
isim kümesi Aynısı -u.
bir cmd Aynısı -t.
fiziksel
Aynısı -P.
boru arızası
Ayarlanırsa, bir ardışık düzenin dönüş değeri, sonuncunun değeridir.
(en sağda) sıfır olmayan bir durumla çıkmak için komut veya tümü varsa sıfır
boru hattındaki komutlar başarıyla çıkar. Bu seçenek
varsayılan olarak devre dışı.
posix davranışını değiştir darbe varsayılan işlemin farklı olduğu yer
standarda uyması için POSIX standardından (posix kip). Görmek
GDA AYRICA posix'in nasıl çalıştığını ayrıntılandıran bir belgeye referans için aşağıda
mod bash'ın davranışını etkiler.
ayrıcalıklı
Aynısı -p.
gereksiz sözlerle dolu Aynısı -v.
vi vi tarzı bir komut satırı düzenleme arayüzü kullanın. Bu da etkiler
için kullanılan düzenleme arayüzü okumak -e.
xtrace Aynısı -x.
If -o hayır ile birlikte verilir seçenek adı, mevcut seçeneklerin değerleri
yazdırılır. Eğer +o hayır ile birlikte verilir seçenek adı, bir dizi set
geçerli seçenek ayarlarını yeniden oluşturma komutları ekranda görüntülenir.
standart çıktı.
-p açmak ayrıcalıklı modu. Bu modda, $ ENV ve $BASH_ENV dosyalar
işlenmez, kabuk işlevleri ortamdan miras alınmaz ve
the Kabuğu, BAŞOPTLAR, CDPATH, ve GLOBIGNORE değişkenler, görünürlerse
ortamda görmezden gelinmektedir. Kabuk ile başlatılırsa
etkin kullanıcı (grup) kimliği, gerçek kullanıcı (grup) kimliğine eşit değil ve -p
seçeneği sağlanmaz, bu işlemler yapılır ve etkin kullanıcı kimliği
gerçek kullanıcı kimliğine ayarlanır. Eğer -p seçenek başlangıçta sağlanır,
etkin kullanıcı kimliği sıfırlanmaz. Bu seçeneği kapatmak, aşağıdakilere neden olur:
gerçek kullanıcı ve grup kimliklerine ayarlanacak etkin kullanıcı ve grup kimlikleri.
-t Bir komutu okuyup yürüttükten sonra çıkın.
-u "@" özel parametreleri dışındaki ayarlanmamış değişkenleri ve parametreleri ele alın
ve parametre genişletmeyi gerçekleştirirken bir hata olarak "*". genişleme ise
ayarlanmamış bir değişken veya parametre üzerinde denendi, kabuk bir hata yazdırıyor
mesaj ve etkileşimli değilse, sıfır olmayan bir durumla çıkar.
-v Kabuk giriş satırlarını okundukça yazdırın.
-x Her birini genişlettikten sonra basit komuta, için emretmek, dava emretmek, seçmek
komut veya aritmetik için komutu, genişletilmiş değerini görüntüleyin PS4,
ardından komut ve genişletilmiş argümanları veya ilişkili kelime listesi gelir.
-B Kabuk, küme ayracı genişletmesi gerçekleştirir (bkz. bağ Genişleme üstünde). bu açık
varsayılan olarak.
-C ayarlanırsa, darbe ile mevcut bir dosyanın üzerine yazmaz. >, >&, ve <>
yönlendirme operatörleri Çıktı dosyaları oluşturulurken bu geçersiz kılınabilir
yeniden yönlendirme operatörünü kullanarak >| yerine >.
-E Ayarlanmışsa, herhangi bir tuzak ERR kabuk işlevleri tarafından miras alınır, komut
ikameler ve bir alt kabuk ortamında yürütülen komutlar. bu ERR
tuzak normalde bu gibi durumlarda kalıtsal değildir.
-H etkinleştirme ! stil geçmişi ikamesi. Bu seçenek şu durumlarda varsayılan olarak açıktır:
kabuk etkileşimlidir.
-P Ayarlanırsa, komutları yürütürken kabuk sembolik bağlantıları çözmez
gibi cd geçerli çalışma dizinini değiştiren. fiziksel kullanır
Bunun yerine dizin yapısı. Varsayılan olarak, darbe mantıksal zincirini takip eder.
geçerli dizini değiştiren komutları gerçekleştirirken dizinler.
-T Ayarlanmışsa, herhangi bir tuzak DEBUG ve DÖNÜŞ kabuk işlevleri tarafından miras alınır,
komut ikameleri ve bir alt kabuk ortamında yürütülen komutlar.
The DEBUG ve DÖNÜŞ tuzaklar normalde bu gibi durumlarda kalıtsal değildir.
-- Bu seçeneği takip eden herhangi bir argüman yoksa, konumsal parametreler şu şekildedir:
ayarsız. Aksi takdirde, konumsal parametreler şu şekilde ayarlanır: args, olsa bile
bazıları bir ile başlar -.
- Seçeneklerin sonunu bildir, kalanların hepsine neden ol args atanacak
konumsal parametreler. bu -x ve -v seçenekler kapalı. Eğer varsa
yok hayır args, konum parametreleri değişmeden kalır.

Seçenekler, aksi belirtilmedikçe varsayılan olarak kapalıdır. - yerine + kullanmak
bu seçeneklerin kapatılmasına neden olur. Seçenekler şu şekilde de belirtilebilir:
kabuğun çağrılması için argümanlar. Mevcut seçenekler kümesi bulunabilir
in $-. Geçersiz bir seçenekle karşılaşılmadıkça dönüş durumu her zaman doğrudur.

çalışma [n]
gelen konumsal parametreler n+1 ... olarak yeniden adlandırıldı $1 .... parametreler
sayılarla temsil edilir $# aşağı $#-n+1 ayarlanmamış. n negatif olmayan olmalı
sayı daha küçük veya ona eşit $#. Eğer n 0 ise, hiçbir parametre değiştirilmez. Eğer n is
verilmemişse 1 olduğu varsayılır. n daha büyüktür $#, konumsal
parametreler değiştirilmez. Dönüş durumu, eğer sıfırdan büyükse n daha büyüktür
göre $# veya sıfırdan küçük; aksi halde 0.

alışveriş [-pqsu] [-o] [tercih adı ...]
İsteğe bağlı kabuk davranışını kontrol eden ayarların değerlerini değiştirin. Ayarlar
ya aşağıda listelenenler olabilir, ya da -o seçenek kullanılır, mevcut olanlar
ile -o seçeneği set yerleşik komut. Seçenek olmadan veya -p
seçeneğinde, tüm ayarlanabilir seçeneklerin bir listesi görüntülenir ve
veya her biri ayarlanmamıştır. bu -p seçeneği, çıktının bir biçimde görüntülenmesine neden olur.
girdi olarak yeniden kullanılabilir. Diğer seçenekler aşağıdaki anlamlara sahiptir:
-s Her birini etkinleştirin (ayarlayın) tercih adı.
-u Her birini devre dışı bırak (ayarını kaldır) tercih adı.
-q Normal çıkışı bastırır (sessiz mod); iade durumu, olup olmadığını gösterir
the tercih adı ayarlanmış veya ayarlanmamış. birden fazla ise tercih adı argümanlar ile verilir
-q, hepsi varsa dönüş durumu sıfırdır tercih adları etkinleştirilir; sıfır olmayan
aksi takdirde.
-o değerlerini kısıtlar tercih adı için tanımlanmış olanlar olmak -o seçeneği
set yerleşik.

Eğer ikisinden biri -s or -u hayır ile kullanılır tercih adı argümanlar, alışveriş sadece bunları gösterir
sırasıyla ayarlanmış veya ayarlanmamış seçenekler. Aksi belirtilmedikçe, alışveriş
seçenekler varsayılan olarak devre dışıdır (ayarlanmaz).

Seçenekler listelenirken geri dönüş durumu, tümü varsa sıfırdır tercih adları etkin, olmayan
aksi halde sıfır. Seçenekleri ayarlarken veya ayarları kaldırırken, dönüş durumu sıfırdır
sürece tercih adı geçerli bir kabuk seçeneği değil.

Listesi alışveriş seçenekler:

otokdc Ayarlanırsa, bir dizinin adı olan bir komut adı, sanki bir dizinin adıymış gibi yürütülür.
argüman vardı cd emretmek. Bu seçenek yalnızca
etkileşimli kabuklar.
cdable_vars
Ayarlanırsa, bir argüman cd bir dizin olmayan yerleşik komut
değeri değiştirilecek dizin olan bir değişkenin adı olduğu varsayılır
için.
cd büyüsü Ayarlanırsa, bir dizin bileşeninin yazımında küçük hatalar cd
komutu düzeltilecektir. Kontrol edilen hatalar aktarılır
karakterler, eksik bir karakter ve bir karakter çok fazla. Eğer bir
düzeltme bulunur, düzeltilen dosya adı yazdırılır ve komut
gelir. Bu seçenek yalnızca etkileşimli mermiler tarafından kullanılır.
kontrol etmek
ayarlanırsa, darbe hash tablosunda bulunan bir komutun daha önce var olup olmadığını kontrol eder
yürütmeye çalışıyor. Karma komut artık mevcut değilse, normal bir yol
arama yapılır.
kontrol işleri
ayarlanırsa, darbe önce durdurulan ve devam eden işlerin durumunu listeler.
etkileşimli bir kabuktan çıkmak. Herhangi bir iş çalışıyorsa, bu,
müdahale olmaksızın ikinci bir çıkış denenene kadar ertelenecek çıkış
komut (bkz. İŞ KONTROL üstünde). Kabuk her zaman varsa çıkmayı erteler
işler durdurulur.
kontrol etmek
ayarlanırsa, darbe her komuttan sonra pencere boyutunu kontrol eder ve gerekirse,
değerlerini günceller HATLARI ve ÖNE ÇIKAN HABERLER.
cmdist ayarlanırsa, darbe çok satırlı bir komutun tüm satırlarını
aynı tarih girişi. Bu, çok satırlı komutların kolayca yeniden düzenlenmesini sağlar.
uyumluluk31
ayarlanırsa, darbe davranışını 3.1 sürümüne göre değiştirir.
alıntılanan argümanlar [[ koşullu komut =~ operatör ve yerel ayar-
kullanırken belirli dize karşılaştırması [[ koşullu komut < ve >
operatörler. Bash-4.1'den önceki Bash sürümleri, ASCII harmanlamasını kullanır ve
strcmp(3); bash-4.1 ve sonraki sürümleri geçerli yerel ayarın harmanlama sırasını kullanır
ve strcol(3).
uyumluluk32
ayarlanırsa, darbe davranışını 3.2 sürümüne göre değiştirir.
kullanırken yerel ayara özgü dize karşılaştırması [[ koşullu komut <
ve > operatörler (önceki maddeye bakın).
uyumluluk40
ayarlanırsa, darbe davranışını 4.0 sürümüne göre değiştirir.
kullanırken yerel ayara özgü dize karşılaştırması [[ koşullu komut <
ve > operatörler (açıklamaya bakın uyumluluk31) ve etkisi
bir komut listesini kesintiye uğratmak. Bash 4.0 ve sonraki sürümleri,
kabuk kesmeyi almış gibi listeleyin; önceki sürümler devam ediyor
listedeki bir sonraki komutla.
uyumluluk41
ayarlanırsa, darbene zaman posix modunda, tek bir alıntıyı çift tırnak içinde ele alır.
özel bir karakter olarak parametre genişletme. Tek tırnaklar eşleşmelidir
(çift sayı) ve tek tırnak işaretleri arasındaki karakterler
alıntı sayılır. Bu, sürüm 4.1 aracılığıyla posix modunun davranışıdır.
Varsayılan bash davranışı önceki sürümlerde olduğu gibi kalır.
uyumluluk42
ayarlanırsa, darbe kalıptaki değiştirme dizesini işlemez
alıntı kaldırma kullanarak ikame kelime genişletme.
Complete_fullquote
ayarlanırsa, darbe dosya adları ve dizindeki tüm kabuk meta karakterlerini alıntılar
tamamlama gerçekleştirirken isimler. Ayarlanmamışsa, darbe meta karakterleri kaldırır
alıntılanacak karakter kümesindeki dolar işareti gibi
bu meta karakterler kabuk değişkeninde göründüğünde tamamlanan dosya adları
kelimelerle referanslar tamamlanacak. Bu, doların işaret ettiği anlamına gelir
dizinlere genişleyen değişken adları alıntılanmayacaktır; ancak, herhangi
dosya adlarında görünen dolar işaretleri de alıntılanmayacaktır. Bu
yalnızca bash, tamamlanmış dosya adlarını alıntılamak için ters eğik çizgi kullandığında etkindir.
Bu değişken, varsayılan olarak ayarlanır; bu, varsayılan bash davranışıdır.
4.2 ile sürümler.
doğrudan genişletmek
ayarlanırsa, darbe dizin adlarını sözcük genişletmenin sonuçlarıyla değiştirir
dosya adı tamamlama gerçekleştirirken. Bu, içeriğin içeriğini değiştirir.
readline düzenleme arabelleği. Ayarlanmamışsa, darbe olanı korumaya çalışır
kullanıcı yazdı.
dirbüyü
ayarlanırsa, darbe sözcük sırasında dizin adlarında yazım düzeltmeyi dener
Başlangıçta sağlanan dizin adı yoksa tamamlama.
nokta küresi ayarlanırsa, darbe `.' ile başlayan dosya adlarını içerir. sonuçlarında
yol adı genişletme.
yürütme hatası
Ayarlanırsa, dosyayı çalıştıramazsa etkileşimli olmayan bir kabuk çıkmayacaktır.
argüman olarak belirtilen exec yerleşik komut. Etkileşimli bir kabuk
eğer çıkmıyor exec başarısız olur.
genişlet_aliases
Ayarlanırsa, takma adlar yukarıda açıklandığı gibi genişletilir. takma adlar. Bu seçenek
etkileşimli mermiler için varsayılan olarak etkindir.
genişletilmiş hata ayıklama
Ayarlanırsa, hata ayıklayıcılar tarafından kullanılması amaçlanan davranış etkinleştirilir:
1. The -F seçeneği bildirmek yerleşik kaynak dosya adını görüntüler
ve bir olarak sağlanan her bir işlev adına karşılık gelen satır numarası
argüman.
2. Komut tarafından çalıştırılırsa DEBUG tuzak sıfır olmayan bir değer döndürür,
sonraki komut atlanır ve yürütülmez.
3. Komut tarafından çalıştırılırsa DEBUG tuzak 2 değerini döndürür ve
kabuk bir alt programda yürütülüyor (bir kabuk işlevi veya bir kabuk
tarafından yürütülen komut dosyası . or kaynak yerleşikler), bir çağrı dönüş is
simüle edildi.
4. BASH_ARGC ve BASH_ARGV açıklandığı gibi güncellenir
yukarıdaki açıklamalar.
5. İşlev izleme etkinleştirildi: komut değiştirme, kabuk işlevleri,
ve ile çağrılan alt kabuklar ( komuta ) devralmak DEBUG ve DÖNÜŞ
tuzaklar.
6. Hata izleme etkinleştirildi: komut değiştirme, kabuk işlevleri,
ve ile çağrılan alt kabuklar ( komuta ) devralmak ERR tuzak.
dış dünya Ayarlanırsa, yukarıda aşağıda açıklanan genişletilmiş desen eşleştirme özellikleri
Yol adı Genişleme etkinleştirilir.
alıntı
ayarlanırsa, $'dizi' ve $"dizi" alıntı içinde yapılır ${parametre}
çift ​​tırnak içine alınmış açılımlar. Bu seçenek varsayılan olarak etkindir.
arıza küresi
Ayarlanırsa, yol adı genişletmesi sırasında dosya adlarıyla eşleşmeyen kalıplar
genişleme hatasına neden olur.
force_figignore
Ayarlanırsa, tarafından belirtilen son ekler FIGNORE kabuk değişkeni kelimelerin
yok sayılan kelimeler olsa bile, kelime tamamlama işlemi yapılırken yok sayılır
tek olası tamamlamalar. Görmek SHELL DEĞİŞKENLER açıklama için yukarıda
of FIGNORE. Bu seçenek varsayılan olarak etkindir.
dünya çapında
Ayarlanırsa, desen eşleştirme köşeli ayraç ifadelerinde kullanılan aralık ifadeleri (bkz.
model Uygun yukarıda) geleneksel C yerel ayarındaymış gibi davranın
karşılaştırmalar yapmak. Yani, geçerli yerel ayarın harmanlama dizisi
dikkate alınmaz yani b arasında toplanmaz A ve B, ve
büyük harf ve küçük harf ASCII karakterleri birlikte harmanlanır.
dünya yıldızı
Ayarlanmışsa, desen ** bir yol adı genişletme bağlamında kullanılan tüm
dosyalar ve sıfır veya daha fazla dizin ve alt dizin. desen ise
bir ardından /, yalnızca dizinler ve alt dizinler eşleşir.
gnu_errfmt
Ayarlanırsa, standart GNU hata mesajında ​​kabuk hata mesajları yazılır.
biçimi.
histapend
Ayarlanırsa, geçmiş listesi, dosyanın değeriyle adlandırılan dosyaya eklenir.
HISTDOSYASI dosyanın üzerine yazmak yerine kabuk çıktığında değişken.
histredit
ayarlanırsa ve taleb kullanılıyorsa, kullanıcıya yeniden
başarısız bir geçmiş değişikliğini düzenleyin.
geçmiş doğrulama
ayarlanırsa ve taleb kullanılıyor, geçmiş ikamesinin sonuçları
hemen kabuk ayrıştırıcısına iletilmez. Bunun yerine, elde edilen satır
içine yüklendi taleb düzenleme arabelleği, daha fazla değişiklik yapılmasına izin verir.
ana bilgisayar tamamlandı
ayarlanırsa ve taleb kullanılıyor, darbe ana bilgisayar adını gerçekleştirmeye çalışacak
içeren bir kelime olduğunda tamamlama @ tamamlanıyor (bkz. Tamamlanıyor
altında OKUMA SIRASI üstünde). Bu, varsayılan olarak etkindir.
Hupon çıkışı
ayarlanırsa, darbe gönderecek GÖRÜŞ etkileşimli bir oturum açma kabuğu olduğunda tüm işlere
çıkışlar.
etkileşimli_yorumlar
Ayarlanırsa, ile başlayan bir kelimeye izin verin # bu kelimeye neden olmak ve kalanlar
etkileşimli bir kabukta yok sayılacak bu satırdaki karakterler (bkz. YORUMLAR
üstünde). Bu seçenek varsayılan olarak etkindir.
son boru
Ayarlanırsa ve iş denetimi etkin değilse, kabuk bir komut dosyasının son komutunu çalıştırır.
boru hattı, geçerli kabuk ortamında arka planda yürütülmedi.
litist ayarlanırsa ve cmdist seçeneği etkinleştirildiğinde, çok satırlı komutlar
noktalı virgül ayırıcılar kullanmak yerine gömülü yeni satırlarla geçmiş
nerede mumkunse.
oturum_kabuk
Kabuk, oturum açma kabuğu olarak başlatılırsa bu seçeneği ayarlar (bkz.
ÇAĞRI üstünde). Değer değiştirilemez.
posta uyarısı
Ayarlanmışsa ve bir dosya darbe o zamandan beri erişilen postaları kontrol ediyor
en son kontrol edildiğinde, `` Posta posta dosyası olmuş
oku'' görüntülenir.
no_empty_cmd_completion
ayarlanırsa ve taleb kullanılıyor, darbe aramaya çalışmayacak
PATH boş bir üzerinde tamamlamaya çalışıldığında olası tamamlamalar için
hattı.
nocaseglob
ayarlanırsa, darbe dosya adlarını büyük/küçük harfe duyarsız bir şekilde eşleştirir.
yol adı genişletmesi gerçekleştirme (bkz. Yol adı Genişleme ile elde edilmiş).
durum eşleşmesi yok
ayarlanırsa, darbe gerçekleştirirken kalıpları büyük/küçük harfe duyarsız bir şekilde eşleştirir
yürütülürken eşleştirme dava or [[ koşullu komutlar
boş küre
ayarlanırsa, darbe hiçbir dosyayla eşleşmeyen kalıplara izin verir (bkz. Yol adı Genişleme
yukarıda) kendileri yerine boş bir dizeye genişletmek için.
program kompozisyonu
Ayarlanmışsa, programlanabilir tamamlama olanakları (bkz. Programlanabilir Sürecin Tamamlanması
yukarıda) etkinleştirilir. Bu seçenek varsayılan olarak etkindir.
komut değişkenleri
Ayarlanırsa, bilgi istemi dizeleri parametre genişletme, komut değiştirme,
aritmetik genişletme ve açıklandığı gibi genişletildikten sonra alıntı kaldırma
in SORGULAMA üstünde. Bu seçenek varsayılan olarak etkindir.
kısıtlı_kabuk
Kabuk, kısıtlı modda başlatılırsa bu seçeneği ayarlar (bkz.
KISITLI SHELL altında). Değer değiştirilemez. Bu sıfırlanmadı
başlangıç ​​dosyaları yürütüldüğünde, başlangıç ​​dosyalarının keşfedilmesine izin verir
bir kabuğun kısıtlı olup olmadığı.
Shift_verbose
ayarlanırsa, çalışma yerleşik vardiya sayısı olduğunda bir hata mesajı yazdırır
konum parametrelerinin sayısını aşıyor.
kaynak yolu
ayarlanırsa, kaynak (.) yerleşik değerini kullanır PATH dizini bulmak için
argüman olarak sağlanan dosyayı içeren. Bu seçenek tarafından etkinleştirildi
Varsayılan.
xpg_echo
ayarlanırsa, kaçırmak Yerleşik varsayılan olarak ters eğik çizgiden kaçış dizilerini genişletir.

askıya almak [-f]
Bu kabuğun yürütülmesini bir mesaj alana kadar askıya alın. SONRAKİCONT sinyal. bir giriş
kabuk askıya alınamaz; en -f seçeneği bunu geçersiz kılmak ve
süspansiyon. Kabuk bir oturum açma kabuğu olmadığı sürece dönüş durumu 0'dır ve -f değil
sağlanmışsa veya iş denetimi etkinleştirilmemişse.

test İfade
[ İfade ]
değerlendirmesine bağlı olarak 0 (doğru) veya 1 (yanlış) durumu döndürür.
koşullu ifade İfade. Her operatör ve işlenen ayrı olmalıdır
argüman. İfadeler, yukarıda aşağıda açıklanan birincillerden oluşur:
KOŞULLU İFADE. test hiçbir seçeneği kabul etmez ve kabul etmez ve
bir argümanı görmezden gelmek -- seçeneklerin sonunu belirtmek için.

İfadeler, azalan olarak listelenen aşağıdaki operatörler kullanılarak birleştirilebilir:
öncelik sırası. Değerlendirme, argüman sayısına bağlıdır; aşağıya bakınız.
Operatör önceliği, beş veya daha fazla argüman olduğunda kullanılır.
! İfade Doğru ise İfade yanlış.
( İfade )
değerini döndürür İfade. Bu normali geçersiz kılmak için kullanılabilir
operatörlerin önceliği.
ifade1 -a ifade2
Her ikisi de doğruysa ifade1 ve ifade2 Doğrudur.
ifade1 -o ifade2
Ya doğruysa ifade1 or ifade2 doğru.

test ve [ dayalı bir dizi kural kullanarak koşullu ifadeleri değerlendirin.
argüman sayısı.

0 argümanları
İfade yanlış.
1 argüman
İfade, yalnızca ve yalnızca bağımsız değişken boş değilse doğrudur.
2 argümanları
İlk argüman ise !, ifade doğruysa ve ancak ikinci
argüman boş. İlk argüman tekli koşullulardan biriyse
yukarıda listelenen operatörler KOŞULLU İFADE, ifade doğrudur
tekli test doğruysa. İlk argüman geçerli bir tekli değilse
koşullu operatör, ifade yanlıştır.
3 argümanları
Aşağıdaki koşullar listelenen sırayla uygulanır. eğer ikincisi
argüman yukarıda altında listelenen ikili koşul operatörlerinden biridir.
KOŞULLU İFADE, ifadenin sonucu, ifadenin sonucudur.
işlenen olarak birinci ve üçüncü argümanları kullanan ikili test. bu -a ve -o
operatörler, üç bağımsız değişken olduğunda ikili operatörler olarak kabul edilir.
İlk argüman ise !, değer iki argümanın olumsuzlanmasıdır
ikinci ve üçüncü argümanları kullanarak test edin. İlk argüman tam olarak ise
( ve üçüncü argüman tam olarak ), sonuç tek argüman testidir
ikinci argümandan. Aksi halde ifade yanlıştır.
4 argümanları
İlk argüman ise !, sonuç üç argümanın olumsuzlanmasıdır
kalan argümanlardan oluşan ifade. Aksi takdirde, ifade
listelenen kurallar kullanılarak öncelik sırasına göre ayrıştırılır ve değerlendirilir
yukarıdaki.
5 veya daha fazla argüman
İfade, kullanılarak önceliğe göre ayrıştırılır ve değerlendirilir.
Yukarıda listelenen kurallar.

Ile kullanıldığında test or [, < ve > operatörler ASCII kullanarak sözlükbilimsel olarak sıralar
sipariş.

zamanlar Kabuk ve çalıştırılan işlemler için birikmiş kullanıcı ve sistem sürelerini yazdırın
kabuğundan. İade durumu 0'dır.

tuzak [-lp] [[arg] Sigspec ...]
Komuta arg kabuk sinyal(ler) aldığında okunacak ve yürütülecektir.
Sigspec. Eğer arg yoktur (ve tek bir Sigspec) Veya -, belirtilen her
sinyal orijinal konumuna sıfırlanır (girişte sahip olduğu değer)
kabuk). Eğer arg boş dize, her biri tarafından belirtilen sinyaldir Sigspec göz ardı edildi
kabuk ve çağırdığı komutlar tarafından. Eğer arg mevcut değil ve -p olmuş
sağlanır, ardından her biriyle ilişkili tuzak komutları Sigspec görüntülenir. Eğer hayırsa
argümanlar sağlanır veya yalnızca -p verilmiş, tuzak komutların listesini yazdırır
her bir sinyalle ilişkilendirilir. bu -l seçeneği kabuğun bir liste yazdırmasına neden olur
sinyal adları ve bunlara karşılık gelen numaralar. Her biri Sigspec ya bir sinyal adıdır
içinde tanımlanmışsinyal.h> veya bir sinyal numarası. Sinyal adları büyük/küçük harfe duyarlı değildir ve
the SIG önek isteğe bağlıdır.

Eğer bir Sigspec is EXIT (0) komut arg kabuktan çıkışta yürütülür. Eğer bir
Sigspec is DEBUG, komuta arg her şeyden önce yürütülür basit komuta, için
emretmek, dava emretmek, seçmek komut, her aritmetik için komutundan önce ve
ilk komut bir kabuk işlevinde yürütülür (bkz. SHELL DİLBİLGİSİ üstünde). Bakın
Açıklaması genişletilmiş hata ayıklama seçeneği alışveriş etkisinin ayrıntıları için yerleşik
üzerinde DEBUG tuzak. Eğer bir Sigspec is DÖNÜŞ, komuta arg her seferinde yürütülür
kabuk işlevi veya ile yürütülen bir komut dosyası . or kaynak yerleşikler bitirir
yürütme.

Eğer bir Sigspec is ERR, komuta arg ne zaman aa boru hattı yürütülür (ki bu
tek bir basit komuttan oluşur), bir liste veya bir bileşik komut, bir
sıfır olmayan çıkış durumu, aşağıdaki koşullara tabidir. bu ERR tuzak değil
başarısız komut, bir
süre or kadar anahtar kelime, testin bir parçası if deyim, bir komutun parçası
idam edildi && or || finali izleyen komut dışında liste && or ||, hiç
bir boru hattındaki komut ancak sonuncusu veya komutun dönüş değeri
kullanılarak ters çevrilmiş !. Bunlar, TSK'nın uyduğu koşulların aynısıdır. hata (-e) seçeneği.

Kabuğa girişte yok sayılan sinyaller yakalanamaz veya sıfırlanamaz. Hapsolmuş
göz ardı edilmeyen sinyaller bir alt kabukta orijinal değerlerine sıfırlanır
veya oluşturulduğunda alt kabuk ortamı. Varsa iade durumu yanlış
Sigspec geçersizdir; aksi halde tuzak doğru döndürür.

tip [-aftpP] isim [isim ...]
Hiçbir seçenek olmadan, her birinin nasıl olduğunu belirtin isim komut olarak kullanılırsa yorumlanır
isim. Eğer -t seçeneği kullanılır, tip biri olan bir dize yazdırır takma ad,
Anahtar kelime, işlev, builtinya da dosya if isim bir takma addır, kabuk ayrılmış bir kelimedir,
sırasıyla işlev, yerleşik veya disk dosyası. Eğer isim bulunmaz o zaman
hiçbir şey yazdırılmaz ve false çıkış durumu döndürülür. Eğer -p seçenektir
Kullanılmış, tip ya yürütülecek disk dosyasının adını döndürür: isim
komut adı olarak belirtilmiş veya ``type -t name'' dönmezse hiçbir şey belirtilemez.
dosya. -P seçenek zorlar PATH her birini ara isim`` type -t name'' olsa bile
geri dönmeyecek dosya. Bir komut karma ise, -p ve -P karma değeri yazdır,
bu mutlaka ilk görünen dosya değildir PATH. Eğer -a seçenektir
Kullanılmış, tip adlı bir yürütülebilir dosyayı içeren tüm yerleri yazdırır isim. Bu
takma adları ve işlevleri içerir, ancak ve ancak -p seçeneği de kullanılmaz. bu
kullanırken karma komutlar tablosuna başvurulmaz -a. -f seçenek bastırır
olduğu gibi kabuk işlevi araması komuta yerleşik. tip tümü ise true döndürür
argümanlar bulunur, bulunmazsa yanlış.

ulimit [-HStabcdefilmnpqrstuvx [sınır]]
Kabuk için kullanılabilen kaynaklar ve başlatılan işlemler üzerinde denetim sağlar
onun tarafından, böyle bir kontrole izin veren sistemlerde. bu -H ve -S seçenekler, şunları belirtir:
verilen kaynak için sabit veya yumuşak sınır belirlenir. Sabit bir sınır artırılamaz
ayarlandıktan sonra root olmayan bir kullanıcı tarafından; yumuşak bir limit, değerine kadar artırılabilir.
zor sınır. eğer hiçbiri -H ne de -S hem yumuşak hem de sert sınırlar belirtilir
ayarlanır. Değeri sınır kaynak için belirtilen birimde bir sayı olabilir
veya özel değerlerden biri zor, yumuşakya da sınırsız, geçerli olan
sırasıyla sabit limit, mevcut yumuşak limit ve limit yok. Eğer sınır is
atlanırsa, kaynağın yumuşak sınırının mevcut değeri yazdırılır;
-H seçenek verilir. Birden fazla kaynak belirtildiğinde, limit adı ve
birim değerden önce yazdırılır. Diğer seçenekler şu şekilde yorumlanır:
-a Tüm mevcut limitler raporlanır
-b Maksimum soket arabellek boyutu
-c Oluşturulan çekirdek dosyaların maksimum boyutu
-d Bir işlemin veri segmentinin maksimum boyutu
-e Maksimum zamanlama önceliği ("güzel")
-f Kabuk ve alt öğeleri tarafından yazılan dosyaların maksimum boyutu
-i Maksimum bekleyen sinyal sayısı
-l Belleğe kilitlenebilecek maksimum boyut
-m Maksimum yerleşik set boyutu (birçok sistem bu limite uymaz)
-n Maksimum açık dosya tanımlayıcı sayısı (çoğu sistem buna izin vermez)
ayarlanacak değer)
-p 512 baytlık bloklarda boru boyutu (bu ayarlanmayabilir)
-q POSIX mesaj kuyruklarındaki maksimum bayt sayısı
-r Maksimum gerçek zamanlı zamanlama önceliği
-s Maksimum yığın boyutu
-t Saniye cinsinden maksimum işlemci süresi
-u Tek bir kullanıcı için kullanılabilen maksimum işlem sayısı
-v Kabuk için kullanılabilen maksimum sanal bellek miktarı ve bazılarında
sistemleri, çocuklarına
-x Maksimum dosya kilidi sayısı
-T maksimum iş parçacığı sayısı

If sınır verilir ve -a seçenek kullanılmaz, sınır yeni değeridir
belirtilen kaynak. Seçenek verilmezse, o zaman -f varsayılır. Değerler
1024 baytlık artışlar hariç -t, saniye cinsinden; -pbirimlerinde olan
512 baytlık bloklar; ve -T, -b, -n, ve -u, bunlar ölçeklenmemiş değerlerdir. Geri dönüş
geçersiz bir seçenek veya argüman sağlanmadıkça veya bir hata oluşmadıkça durum 0'dır.
yeni bir limit belirlerken.

Umask [-p] [-S] [kip]
Kullanıcı dosyası oluşturma maskesi şu şekilde ayarlanmıştır: kip. Eğer kip bir rakamla başlar, bu
sekizlik bir sayı olarak yorumlanır; aksi halde sembolik mod maskesi olarak yorumlanır
tarafından kabul edilene benzer chmod(1). Eğer kip atlanırsa, mevcut değer
maske yazdırılır. bu -S seçenek, maskenin sembolik biçimde yazdırılmasına neden olur; en
varsayılan çıktı sekizlik bir sayıdır. Eğer -p seçeneği sunulur ve kip is
atlanırsa, çıktı girdi olarak yeniden kullanılabilecek bir biçimdedir. iade durumu
0 mod başarıyla değiştirildiyse veya değiştirilmediyse kip argüman verildi ve
aksi halde yanlış.

takma adlar [-a] [isim ...]
Her birini kaldır isim tanımlanmış takma adlar listesinden. Eğer -a sağlanır, tüm takma ad
tanımlar kaldırılır. Bir sağlanmadıkça dönüş değeri doğrudur isim bir değil
tanımlanmış takma ad.

ayarlanmazsa [-fv] [-n] [isim ...]
Her biri için isim, ilgili değişkeni veya işlevi kaldırın. Eğer -v seçenektir
verilen, her isim bir kabuk değişkenine atıfta bulunur ve bu değişken kaldırılır. Okumak-
yalnızca değişkenler ayarlanmamış olamaz. Eğer -f belirtilir, her isim bir kabuğa atıfta bulunur
işlev ve işlev tanımı kaldırılır. Eğer -n seçeneği sunulur,
ve isim ile bir değişkendir isim referansı nitelik, isim yerine ayarsız olacak
başvurduğu değişken. -n etkisi yoksa -f seçeneği sunulur. Eğer hayırsa
seçenekler sunulur, her isim bir değişkene atıfta bulunur; tarafından değişken yoksa
bu ad, bu ada sahip herhangi bir işlev ayarlanmaz. Her ayarlanmamış değişken veya işlev
sonraki komutlara geçirilen ortamdan kaldırılır. eğer herhangi biri
COMP_WORDBREAKS, RASTGELE, SANİYE, LINENO, HISTCMD, İŞLEV ADI, GRUPLARIya da DIRSTACK
ayarlanmazlarsa, sonradan sıfırlansalar bile özel özelliklerini kaybederler.
Çıkış durumu, bir isim salt okunurdur.

beklemek [-n] [n ...]
Belirtilen her alt süreç için bekleyin ve sonlandırma durumunu döndürün. Her biri n
bir süreç kimliği veya bir iş özelliği olabilir; bir iş spesifikasyonu verilirse, tüm süreçler
bu işin boru hattında bekleniyor. Eğer n verilmedi, hepsi şu anda aktif
alt süreçler için beklenir ve dönüş durumu sıfırdır. Eğer -n seçenektir
tedarik edildi, beklemek herhangi bir işin sona ermesini bekler ve çıkış durumunu döndürür. Eğer n
var olmayan bir süreç veya işi belirtir, iade durumu 127'dir. Aksi takdirde,
dönüş durumu, beklenen son işlemin veya işin çıkış durumudur.

KISITLI SHELL


If darbe adı ile başlar rbashYa da -r seçenek çağrı sırasında sağlanır,
kabuk kısıtlanır. Daha fazla bir ortam kurmak için kısıtlı bir kabuk kullanılır
standart kabuktan daha kontrollü. Aynı şekilde davranır darbe hariç
aşağıdakilere izin verilmediğini veya gerçekleştirilmediğini:

· ile dizin değiştirme cd

· değerlerin ayarlanması veya ayarının kaldırılması SHELL, PATH, ENVya da BASH_ENV

· içeren komut adlarını belirtmek /

· içeren bir dosya adı belirtme / argüman olarak . yerleşik komut

· argüman olarak eğik çizgi içeren bir dosya adı belirtmek -p seçeneği
esrar yerleşik komut

· başlangıçta kabuk ortamından fonksiyon tanımlarını içe aktarma

· değerini ayrıştırma Kabuğu başlangıçta kabuk ortamından

· >, >|, <>, >&, &> ve >> yeniden yönlendirme operatörlerini kullanarak çıktıyı yeniden yönlendirme

· kullanmak exec kabuğu başka bir komutla değiştirmek için yerleşik komut

· ile yerleşik komutları ekleme veya silme -f ve -d seçenekleri etkinleştirmek
yerleşik komut

· kullanmak etkinleştirmek devre dışı bırakılmış kabuk yerleşiklerini etkinleştirmek için yerleşik komut

· belirten -p seçeneği komuta yerleşik komut

· ile kısıtlı modu kapatma set +r or set +o kısıtlı.

Bu kısıtlamalar, herhangi bir başlangıç ​​dosyası okunduktan sonra uygulanır.

Kabuk betiği olduğu tespit edilen bir komut yürütüldüğünde (bkz. KOMUT UYGULAMA
üstünde), rbash komut dosyasını yürütmek için oluşturulan kabuktaki tüm kısıtlamaları kapatır.

onworks.net hizmetlerini kullanarak bash-static çevrimiçi kullanın


Ücretsiz Sunucular ve İş İstasyonları

Windows ve Linux uygulamalarını indirin

  • 1
    XISMuS
    XISMuS
    DİKKAT: 2.4.3 toplu güncellemesi
    serbest bırakıldı!! Güncelleme herhangi biri için çalışır
    önceki 2.xx sürümü. Eğer yükseltme
    v1.xx sürümünden, lütfen indirin ve
    i ...
    XISMuS'u indirin
  • 2
    Facetracknoir
    Facetracknoir
    Modüler kafa takip programı
    çoklu yüz izleyicileri, filtreleri destekler
    ve oyun protokolleri. İzleyiciler arasında
    SM FaceAPI, AIC Atalet Başlığıdır
    izci...
    Facetracknoir'ı indirin
  • 3
    PHP QR Kodu
    PHP QR Kodu
    PHP QR Kodu açık kaynaktır (LGPL)
    QR Kodu oluşturmak için kütüphane,
    2 boyutlu barkod. Dayalı
    libqrencode C kitaplığı, API sağlar
    QR Kod çubuğu oluşturuluyor...
    PHP QR Kodunu İndirin
  • 4
    ücretsiz
    ücretsiz
    Freeciv ücretsiz bir sıra tabanlıdır.
    her birinin yer aldığı çok oyunculu strateji oyunu
    oyuncu bir lider olur
    medeniyeti elde etmek için savaşan
    nihai hedef: olmak...
    Freeciv'i indirin
  • 5
    Guguklu Sandbox
    Guguklu Sandbox
    Cuckoo Sandbox bileşenleri şu amaçlarla kullanır:
    kötü amaçlı yazılımın davranışını izlemek
    Sandbox ortamı; izole edilmiş
    sistemin geri kalanı. otomatik sunuyor
    analiz o...
    Cuckoo Sandbox'ı indirin
  • 6
    LMS-YouTube
    LMS-YouTube
    YouTube videosunu LMS'de oynatın (taşıma
    Triode'dan YouTbe'ye API v3) Bu
    ayrıca alınabilen bir uygulama
    itibaren
    https://sourceforge.net/projects/lms-y...
    LMS-YouTube'u indirin
  • Daha fazla »

Linux komutları

Ad