İngilizceFransızcaİspanyolca

Ad


OnWorks favicon'u

mksh - 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 mksh ç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 mksh komutudur.

Program:

ADI


mksh, sh — MirBSD Korn kabuğu

SİNOPSİS


mksh [-+abCefhiklmnprUuvXx] [-T [!]tty | -] [-+o seçenek] [-c dizi | -s | dosya
[tartışma ...]]
yerleşik ad [tartışma ...]

TANIM


mksh hem etkileşimli hem de kabuk komut dosyası kullanımı için tasarlanmış bir komut yorumlayıcıdır. Onun
komut dili, sh(C) kabuk dilinin bir üst kümesidir ve büyük ölçüde
orijinal Korn kabuğu. Bazen bu kılavuz sayfası komut dosyası oluşturma konusunda tavsiye verebilir; olurken
bazen taşınabilir kabuk komut dosyası oluşturmayı veya çeşitli standartları hesaba katar.
bilgiler her şeyden önce sunulur mksh düşünülmeli ve öyle alınmalıdır.

Ben an Android kullanıcı, so ne mksh?
mksh benzer bir UNIX kabuğu / komut yorumlayıcısıdır. COMMAND.COM or CMD.EXE, hangisi
bir süredir Android Açık Kaynak Projesi'ne dahil edilmiştir. Temelde, bu bir program
bir terminalde (konsol penceresi) çalışan, kullanıcı girdisini alan ve komutları veya komut dosyalarını çalıştıran,
arka planda bile diğer programlar tarafından yapılması istenebilir. herhangi bir ayrıcalık
karşılaşabileceğiniz pop-up'lar bu nedenle mksh sorunlar ama diğerleri tarafından sorular
kullanan programdır.

Çağırma
Yerleşiklerin çoğu doğrudan çağrılabilir, örneğin bir bağlantı adından
kabuk; hepsi mantıklı değil, test edildi veya hiç çalışmadı.

Seçenekler şunlardır:

-c dizi mksh içerdiği komutları yürütecek dizi.

-i Etkileşimli kabuk. Standart girdiden komutları okuyan bir kabuk
Bu seçenek kullanılıyorsa veya hem standart giriş hem de standart hata kullanılıyorsa “etkileşimli”
bir tty(4). Etkileşimli bir kabukta iş denetimi etkindir, yoksayar
SIGINT, SIGQUIT ve SIGTERM sinyalleri ve girişi okumadan önce istemleri yazdırır
(PS1 ve PS2 parametrelerine bakın). Ayrıca ENV parametresini veya
mkshrc dosya (aşağıya bakın). Etkileşimli olmayan mermiler için, izleme seçenek açık
varsayılan olarak (bkz. set Aşağıdaki komut).

-l Giriş kabuğu. Temel ad ile çağrılırsa, kabuk (yani argv[0]) ile başlar
'-' veya bu seçenek kullanılırsa, kabuğun bir oturum açma kabuğu olduğu varsayılır; görmek
Başlangıç Dosyaları altında.

-p Ayrıcalıklı kabuk. Gerçek kullanıcı kimliği veya grup kimliği varsa, bir kabuk "ayrıcalıklıdır"
etkin kullanıcı kimliği veya grup kimliğiyle eşleşmez (bkz. gituid(2) ve gitgide(2)).
Ayrıcalıklı seçeneğin silinmesi, kabuğun etkin kullanıcı kimliğini ayarlamasına neden olur
(grup kimliği) gerçek kullanıcı kimliğine (grup kimliği). Daha fazla sonuç için bkz. Başlangıç
Dosyaları. Kabuk ayrıcalıklıysa ve bu bayrak açıkça ayarlanmamışsa,
Başlangıç ​​dosyaları işlendikten sonra “ayrıcalıklı” seçeneği otomatik olarak temizlenir.

-r Sınırlı kabuk. Bu seçenek kullanılırsa bir kabuk "kısıtlanır". Devamındaki
kabuk herhangi bir profili ve ENV'yi işledikten sonra kısıtlamalar yürürlüğe girer
dosyaları:

· The cd (Ve chdir) komutu devre dışı bırakılır.
· SHELL, ENV ve PATH parametreleri değiştirilemez.
· Komut adları, mutlak veya göreli yollarla belirtilemez.
· The -p yerleşik komutun seçeneği komuta kullanılamaz.
· Dosya oluşturan yönlendirmeler kullanılamaz (yani '>', '>|', '>>', '<>').

-s Kabuk, komutları standart girdiden okur; tüm seçenek olmayan argümanlar
konumsal parametreler.

-T isim Yumurtlamak mksh üzerinde tty(4) verilen cihaz. yollar isim, /dev/ttyCname ve
/dev/ttyadı sırayla denenir. Meğer ki isim ünlem işaretiyle başlar
('!'), bu bir alt kabukta yapılır ve hemen geri döner. Eğer isim kısa çizgi
('-'), bunun yerine kontrol terminalinden (daemonise) ayırın.

Yukarıdakilere ek olarak, aşağıda açıklanan seçenekler set yerleşik komut da kullanılabilir
komut satırında: her ikisi de [-+abCefhkmnuvXx] Ve [-+o seçenek] tek harf için kullanılabilir
veya sırasıyla uzun seçenekler.

eğer hiçbiri -c ne -s seçenek belirtilirse, seçenek olmayan ilk argüman belirtir
kabuğun komutları okuduğu dosyanın adı. Seçenek olmayan argümanlar yoksa,
kabuk, standart girdiden komutları okur. Kabuğun adı (yani içeriği
$0) aşağıdaki gibi belirlenir: -c seçenek kullanılır ve seçenek olmayan bir argüman vardır,
isim olarak kullanılır; komutlar bir dosyadan okunuyorsa, dosya
isim; aksi takdirde, kabuğun çağrıldığı temel ad (yani argv[0]) kullanılır.

Komut satırında belirtilen komut dosyası kullanılabiliyorsa, kabuğun çıkış durumu 127'dir.
açılmaz veya bir işlemin yürütülmesi sırasında önemli bir sözdizimi hatası meydana gelirse sıfır olmaz.
senaryo. Önemli hataların olmaması durumunda, çıkış durumu son komutun durumudur.
yürütülür veya hiçbir komut yürütülmezse sıfır.

Başlangıç Dosyaları
Bu dosyaların gerçek konumu için bkz. DOSYALAR. Bir oturum açma kabuğu sistemi işler
önce profil. Ayrıcalıklı bir kabuk daha sonra uygun profili işler. Ayrıcalıklı olmayan bir oturum açma
kabuk sonraki kullanıcı profilini işler. Ayrıcalıklı olmayan etkileşimli bir kabuk değeri kontrol eder
parametre, komut, aritmetik ve tilde ('~') tabi tutulduktan sonra ENV parametresinin
ikame; ayarlanmamışsa veya boşsa, kullanıcı mkshrc profili işlenir; aksi takdirde, eğer bir dosya
adı ikame sonucu olan, işlenir; yokluk sessizce
görmezden gelindi. Ayrıcalıklı bir kabuk, ikisi de değilse, ayrıcalıkları düşürür. -p seçeneğinde verilen
komut satırı veya başlangıç ​​dosyalarının yürütülmesi sırasında ayarlanmaz.

Komuta sözdizimi
Kabuk, ters eğik çizgi-yeni satır kombinasyonlarını kaldırarak girdisini ayrıştırmaya başlar, ardından
onu kırmak sözler. Sözcükler (karakter dizileridir) alıntı yapılmadan sınırlandırılmıştır.
boşluk karakterleri (boşluk, sekme ve yeni satır) veya meta karakterler ('<', '>', '|', ';', '(',
')', ve '&'). Kelimeleri sınırlamanın yanı sıra, boşluklar ve sekmeler yok sayılırken yeni satırlar
genellikle komutları sınırlandırır. Meta karakterler aşağıdakileri oluşturmak için kullanılır: token kazanabilirsiniz.:
Yönlendirmeleri belirtmek için '<', '<&', '<<', '<<<', '>', '>&', '>>', '&>' vb. kullanılır (bkz.
Giriş / çıkış yönlendirme aşağıda); '|' boru hatları oluşturmak için kullanılır; '|&' ortak oluşturmak için kullanılır
süreçler (bkz. ortak süreçler aşağıda); ';' komutları ayırmak için kullanılır; '&' oluşturmak için kullanılır
asenkron boru hatları; '&&' ve '||' koşullu yürütmeyi belirtmek için kullanılır; ';;', ' '
ve ';|' içinde kullanılır dava ifadeler; '(( .. ))' aritmetik ifadelerde kullanılır; ve
son olarak, '( .. )' alt kabukları oluşturmak için kullanılır.

Boşluk ve meta karakterler, ters eğik çizgi ('\') kullanılarak veya
çift ​​('"') veya tek ("'") tırnak kullanan gruplar. Aşağıdaki karakterlerin
ayrıca kabuk tarafından özel olarak ele alınır ve kendilerini temsil etmeleri için alıntı yapılmalıdır:
'\', '"', ''', '#', '$', '`', '~', '{', '}', '*', '?' ve '['. bunlardan ilk üçü
yukarıda belirtilen alıntı karakterleridir (bkz. Alıntı yapmak aşağıda); '#', eğer kullanılırsa
bir kelimenin başlangıcı, bir yorum sunar – '#' işaretinden sonra en yakındakine kadar her şey
yeni satır yoksayılır; '$' parametre, komut ve aritmetiği tanıtmak için kullanılır
ikameler (bkz. Ikame aşağıda); ''' eski tarz bir komut ikamesi sunar
(görmek Ikame aşağıda); '~' bir dizin genişletmesini başlatır (bkz. tilde genişleme aşağıda); '{'
ve '}' sınırlaması csh(1) tarzı alternatifler (bkz. bağ genişleme aşağıda); ve sonunda, '*',
'?' ve '[' dosya adı oluşturmada kullanılır (bkz. fileto isim desen altında).

Sözcükler ve belirteçler ayrıştırılırken, kabuk, iki temel öğe olan komutlar oluşturur.
türleri: basit komutlar, genellikle yürütülen programlar ve bileşik komutlar, böyle
as için ve if ifadeler, gruplandırma yapıları ve fonksiyon tanımları.

Basit komut, parametre atamalarının bazı kombinasyonlarından oluşur (bkz. parametreler
aşağıda), giriş/çıkış yönlendirmeleri (bkz. Giriş / çıkış yönlendirmeleri aşağıda) ve komut sözcükleri;
tek kısıtlama, parametre atamalarının herhangi bir komut kelimesinden önce gelmesidir. NS
komut sözcükleri, varsa, yürütülecek komutu ve argümanlarını tanımlar. NS
komut bir kabuk yerleşik komutu, bir işlev veya harici bir komut olabilir (yani ayrı bir
PATH parametresi kullanılarak bulunan yürütülebilir dosya; görmek Komuta infaz altında).
Tüm komut yapılarının bir çıkış durumu olduğunu unutmayın: harici komutlar için bu, ilgili
tarafından döndürülen duruma beklemek(2) (komut bulunamazsa, çıkış durumu
127; yürütülemezse, çıkış durumu 126'dır); diğer komutun çıkış durumu
yapıların (yerleşik komutlar, işlevler, bileşik komutlar, boru hatları, listeler vb.) tümü
iyi tanımlanmış ve yapının tanımlandığı yerde açıklanmıştır. çıkış durumu bir
yalnızca parametre atamalarından oluşan komut, son komut ikamesininkidir.
parametre ataması sırasında gerçekleştirilir veya komut ikamesi yoksa 0.

Komutlar '|' kullanılarak birbirine zincirlenebilir boru hatlarını oluşturmak için belirteç,
her komutun standart çıktısı ancak sonuncusu iletilir (bkz. boru(2)) standart girişine
aşağıdaki komut. Bir boru hattının çıkış durumu, son komutun durumudur.
the boru arızası seçenek ayarlandı (oraya bakın). Bir boru hattının tüm komutları ayrı ayrı yürütülür.
alt kabuklar; buna POSIX tarafından izin verilir, ancak her iki AT&T UNIX varyantından farklıdır ksh, Burada
son komut hariç tümü alt kabuklarda yürütüldü; görmek okumak yerleşik açıklaması
etkileri ve geçici çözümler. Bir boru hattının önüne '!' eklenebilir. ayrılmış kelime
boru hattının çıkış durumunun mantıksal olarak tamamlanmasına neden olur: orijinal durum ise
0 ise, tamamlanmış durum 1 olacaktır; orijinal durum 0 değilse, tamamlanan
durum 0 olacaktır.

Listeler of komutları, boru hatlarını aşağıdaki belirteçlerden herhangi biri ile ayırarak oluşturulabilir:
'&&', '||', '&', '|&' ve ';'. İlk ikisi koşullu yürütme içindir: “cmd1 && cmd2başlıklı bir kılavuz yayınladı
infaz cmd2 sadece çıkış durumu cmd1 sıfır; '||' tam tersi - cmd2 is
yalnızca çıkış durumu varsa yürütülür cmd1 sıfır değildir. '&&' ve '||' eşit önceliğe sahip
eşit önceliğe sahip olan '&', '|&' ve ';' den daha yüksektir. Not
'&&' ve '||' operatörler "sol ilişkisel" dir. Örneğin, bu ikisi
komutlar yalnızca "bar" yazdırır:

$ yanlış && yankı foo || yankı çubuğu
$ doğru || yankı foo && yankı çubuğu

'&' simgesi, önceki komutun eşzamansız olarak yürütülmesine neden olur; yani kabuk
komutu başlatır ancak tamamlanmasını beklemez (kabuk
asenkron komutların durumu; görmek İş kontrol aşağıda). Eşzamansız bir komut olduğunda
iş kontrolü devre dışı bırakıldığında (yani çoğu komut dosyasında) başlatılır, komut ile başlatılır
SIGINT ve SIGQUIT sinyalleri yok sayılır ve giriş yeniden yönlendirilir. / Dev / null (Yine de,
zaman uyumsuz komutta belirtilen yönlendirmelerin önceliği vardır). '|&' operatörü
özel bir asenkron süreç türü olan bir ortak süreci başlatır (bkz. ortak süreçler
aşağıda). Bir komutun '&&' ve '||' karakterlerini izlemesi gerektiğini unutmayın. operatörler, gerek yokken
'&', '|&' veya ';' izleyin. Bir listenin çıkış durumu, yürütülen son komutun durumudur,
çıkış durumunun 0 olduğu eşzamansız listeler hariç.

Bileşik komutlar, aşağıdaki ayrılmış sözcükler kullanılarak oluşturulur. Bu sözler sadece
alıntılanmamışlarsa ve bir komutun ilk sözcüğü olarak kullanılıyorlarsa tanınırlar (örn.
parametre atamaları veya yönlendirmelerden önce gelemezler):

durumda başka işlev o zaman! (
esac if zaman [[ ((
{'e kadar fi yapıldı
elif iken seçim için }

Aşağıdaki bileşik komut açıklamalarında, komut listeleri (olarak gösterilir) liste) bunlar
ardından ayrılmış kelimeler noktalı virgül, yeni satır veya (sözdizimsel olarak) ile bitmelidir.
doğru) ayrılmış kelime. Örneğin, aşağıdakilerin tümü geçerlidir:

$ { yankı foo; yankı çubuğu; }
$ { yankı foo; yankı çubuğu }
$ { { yankı foo; yankı çubuğu; } }

Bu geçerli değil:

$ { yankı foo; yankı çubuğu }

(liste)
Gerçekleştirmek liste bir alt kabukta. Ortam değişikliklerini aktarmanın örtülü bir yolu yoktur.
ebeveynine geri dönen bir alt kabuk.

{ liste; }
Bileşik yapı; liste yürütülür, ancak bir alt kabukta değil. '{' ve '}' olduğuna dikkat edin
meta karakterler değil, ayrılmış kelimelerdir.

dava sözcük içinde [[(] model [| model] ...) liste terminatör] ... esac
The dava ifade eşleşmeye çalışır sözcük belirli bir karşı model; liste
başarıyla eşleşen ilk desenle ilişkilendirilmiş yürütülür. Kullanılan desenler
dava ifadeler, dosya adı kalıpları için kullanılanlarla aynıdır, ancak
'.' ile ilgili kısıtlamalar ve '/' bırakılır. Daha önce herhangi bir alıntı yapılmamış alanın
ve bir desen soyulduktan sonra; desen içindeki herhangi bir boşluk alıntılanmalıdır. İkisi de
kelime ve kalıplar parametre, komut ve aritmetik ikameye tabidir,
yanı sıra tilde ikamesi.

Tarihsel nedenlerden dolayı, açık ve kapalı parantezler yerine kullanılabilir. in ve esac Örneğin
dava $ foo { *) kaçırmak bar ;; }.

Liste terminatörler:

';;' Listeden sonra sonlandırın.

'-' Bir sonraki listeye geçin.

';|' Kalan model listesi gruplarını değerlendirin.

çıkış durumu bir dava ifade, yürütülenin ifadesidir liste; Eğer hayırsa liste is
yürütüldüğünde, çıkış durumu sıfırdır.

için isim [içinde sözcük ...]; yapmak liste; tamamlamak
Her biri için sözcük belirtilen kelime listesinde, parametre isim kelimeye ayarlanır ve
liste Idam edildi. Eğer in bir kelime listesi belirtmek için kullanılmaz, konumsal parametreler
($1, $2, vb.) bunun yerine kullanılır. Tarihsel nedenlerden dolayı açık ve kapalı parantezler
yerine kullanılır do ve yapılmış Örneğin için i; { kaçırmak $i; }. çıkış durumu bir için
ifadesi son çıkış durumudur liste; Eğer liste asla yürütülmez, çıkış durumu
sıfırdır.

if liste; sonra liste; [elif liste; sonra liste;] ... [Başka liste;] fi
İlkinin çıkış durumu ise liste sıfır, ikinci liste Idam edildi; aksi halde,
the liste Aşağıdaki elifvarsa, benzer sonuçlarla yürütülür. Düştüm
takip eden listeler if ve elifbaşarısız olur (yani sıfır olmayan durumla çıkış), liste
Aşağıdaki başka Idam edildi. Bir çıkış durumu if ifadesi olmayandır
şartlı liste bu yürütülür; koşulsuz değilse liste yürütülür, çıkış
durum sıfır.

seçmek isim [içinde sözcük ...]; yapmak liste; tamamlamak
The seçmek ifadesi, kullanıcıya bir menü sunmanın otomatik bir yöntemini sağlar
ve ondan seçiyoruz. Belirtilenlerin numaralandırılmış bir listesi sözcük(s) üzerine basılmıştır
standart hata, ardından bir komut istemi (PS3: normalde '#?'). karşılık gelen bir sayı
numaralandırılmış kelimelerden biri daha sonra standart girdiden okunur, isim ayarlandı
seçilen kelime (veya seçim geçerli değilse ayarlanmadı), REPLY okunan şeye ayarlanır
(öndeki/sondaki boşluk çıkarılır) ve liste Idam edildi. Boş bir satır ise (örn.
sıfır veya daha fazla IFS sekizlisi) girilirse, menü yürütülmeden yeniden yazdırılır liste.

Ne zaman liste tamamlandığında, REPLY NULL ise, numaralandırılmış liste yazdırılır, bilgi istemi
yazdırılır, vb. Bu işlem, bir dosya sonu okunana kadar devam eder, bir kesme
alınır veya bir kırılma ifadesi döngü içinde yürütülür. "Kelime içinde ..." ise
atlanırsa, konumsal parametreler kullanılır (yani $1, $2, vb.). tarihi için
nedenlerle açık ve kapalı parantezler yerine kullanılabilir. do ve yapılmış Örneğin seçmek i; {
kaçırmak $i; }. çıkış durumu bir seçmek ifade sıfır ise kırılma ifade
döngüden çıkmak için kullanılır, aksi takdirde sıfır değildir.

kadar liste; yapmak liste; tamamlamak
Bu gibi çalışır süre, gövdenin yalnızca çıkış durumu sırasında çalıştırılması dışında
İlk liste sıfır değildir.

süre liste; yapmak liste; tamamlamak
A süre önceden kontrol edilmiş bir döngüdür. Gövdesi, çıkış durumu kadar sık ​​​​çalışır.
İlk liste sıfır. çıkış durumu bir süre ifadesi son çıkış durumudur
arasında liste döngü gövdesinde; gövde yürütülmezse, çıkış durumu
sıfır.

işlev isim { liste; }
işlevi tanımlar isim (görmek fonksiyonlar aşağıda). Yönlendirmelerin belirtildiğini unutmayın
bir işlev tanımından sonra, işlev yürütüldüğünde değil, işlev yürütüldüğünde
fonksiyon tanımı yürütülür.

isim() komuta
Çoğunlukla aynı işlev (görmek fonksiyonlar aşağıda). boşluk (boşluk veya sekme) sonra
isim çoğu zaman görmezden gelinecektir.

işlev isim() { liste; }
Aynı isim() (darbeism). NS işlev anahtar kelime yok sayılır.

zaman [-p] [boru hattı]
The Komuta infaz bölüm şunları açıklar zaman ayrılmış kelime.

(( ifade ))
aritmetik ifade ifade değerlendirilir; “let ifadesine” eşdeğer (bkz.
Aritmetik ifade ve izin komut, aşağıda) bileşik bir yapıda.

[[ ifade ]]
Benzer test ve [ ... ] komutları (daha sonra açıklanacaktır), aşağıdakilerle
istisnalar:

· Alan bölme ve dosya adı oluşturma bağımsız değişkenler üzerinde gerçekleştirilmez.

· The -a (Ve ve -o (VEYA) operatörleri sırasıyla '&&' ve '||' ile değiştirilir.

· Operatörler (örneğin '-f', '=', '!') alıntı yapılmamalıdır.

· Parametre, komut ve aritmetik ikameler, ifadeler olduğu gibi gerçekleştirilir.
değerlendirildi ve tembel ifade değerlendirmesi '&&' ve '||' için kullanılır operatörler.
Bu, aşağıdaki açıklamada, $( ancak ve ancak değerlendirilir
Dosya foo var ve okunabilir:

$ [[ -r foo && $(

· '!=' ve '=' ifadelerinin ikinci işleneni, kalıpların bir alt kümesidir (örn.
mukayese [[ filanca = f * r ]] başarır). Bu dolaylı olarak bile çalışır:

$ bar=foobar; baz='f*r'
$ [[ $bar = $baz ]]; yankı $?
$ [[ $bar = "$baz" ]]; yankı $?

Belki şaşırtıcı bir şekilde, ilk karşılaştırma başarılı olurken ikincisi başarısız olur.
Bu, şu anda tüm extglob meta karakterleri için geçerli değildir.

Alıntı yapmak
Alıntılama, kabuğun karakterleri veya kelimeleri özel olarak ele almasını önlemek için kullanılır. Var
üç alıntı yöntemi. İlk olarak, '\', şu karakterde olmadığı sürece aşağıdaki karakteri alıntılar:
bir satırın sonu, bu durumda hem '\' hem de yeni satır çıkarılır. İkincisi, tek bir
alıntı (“'”) sonraki tek alıntıya kadar her şeyi alıntılar (bu satırları kapsayabilir). Üçüncüsü, bir
çift ​​tırnak ('"') '$', '`' ve '\' hariç tüm karakterleri bir sonraki çıkış yapılmamış karaktere kadar tırnak içine alır
çift ​​alıntı. Çift tırnak içindeki '$' ve ''' her zamanki anlamlarına sahiptir (yani parametre,
aritmetik veya komut ikamesi), sonuçlar üzerinde alan bölme işlemi yapılmaması dışında
çift ​​tırnaklı ikameler ve eski tarz komut ikamesi biçimi
çift ​​tırnak için ters eğik çizgi özelliği etkinleştirildi. Çift tırnaklı bir dize içinde bir '\' varsa
ardından '\', '$', ''' veya '"', ikinci karakter ile değiştirilir; takip ediliyorsa
yeni satırla, hem '\' hem de yeni satır çıkarılır; aksi takdirde, hem '\' hem de
karakter takipleri değişmez.

Tek tırnaklı bir dizeden önce tırnaksız bir '$' geliyorsa, C stili ters eğik çizgi genişletmesi (bkz.
aşağıda) uygulanır (içerideki tek tırnak karakterlerinden bile kaçılabilir ve sonlandırılamaz
sonra dize); genişletilmiş sonuç, diğer herhangi bir tek tırnaklı dize olarak kabul edilir. Eğer bir
çift ​​tırnaklı dizeden önce tırnaksız bir '$' gelir, '$' basitçe yoksayılır.

backslash genişleme
Ters eğik çizgilerin genişletildiği yerlerde, belirli C ve AT&T UNIX ksh veya GNU darbe stil
kaçışlar tercüme edilir. Bunlar '\a', '\b', '\f', '\n', '\r', '\t', '\U#######',
'\u####' ve '\v'. '\U########' ve '\u####' için “#” onaltılık basamak anlamına gelir;
dört veya sekize kadar hiçbiri olmayabilir; bu kaçışlar bir Unicode kod noktasını UTF-8'e çevirir.
Ayrıca, '\E' ve '\e' kaçış karakterine genişler.

içinde baskı yerleşik mod, '\"', '\'' ve '\?' açıkça hariç tutulur; sekizli diziler
sıfır ('\0###') ile ön eklenmiş üç sekizlik haneye kadar “#” olmalıdır;
onaltılık diziler '\x##' iki onaltılık basamağa kadar hiçbiriyle sınırlıdır “#”; ikisi birden
sekizli ve onaltılı diziler ham sekizlilere dönüşür; '\#', burada # yukarıdakilerin hiçbiri değildir,
\#'a çevirir (ters eğik çizgiler korunur).

C stili modunda ters eğik çizgi genişletmesi biraz farklıdır: '\###' sekizlik dizileri
birin önüne en fazla üç sekizlik “#” ekleyen sıfır rakamı yoktur ve ham sekizli verir;
onaltılık diziler '\x#*' açgözlülükle olabildiğince çok onaltılık basamak “#” yer ve
onaltılık olmayan ilk basamakla sonlandırın; bunlar bir Unicode kod noktasını şuna çevirir:
UTF-8. "#"nin herhangi bir sekizli olduğu '\c#' dizisi Ctrl-#'ye çevrilir (temel olarak
'\c?' anlamına gelir DEL olur, diğer her şey 0x1F ile bit düzeyinde AND yapılır). Son olarak, '\#', nerede
# yukarıdakilerin hiçbiri değildir, # anlamına gelir (ters eğik çizgi kesilmiştir), bir
Yeni hat.

Takma adlar
İki tür takma ad vardır: normal komut takma adları ve izlenen takma adlar. Komut takma adları
normalde uzun veya sık kullanılan bir komut için kısa el olarak kullanılır. Kabuk genişler
ilk kelimeyi okuduğunda komut takma adları (yani değeri için takma adın yerine geçer)
bir komuttan. Genişletilmiş bir takma ad, daha fazla takma ad olup olmadığını kontrol etmek için yeniden işlenir. eğer bir komut
takma ad bir boşluk veya sekme ile biter, aşağıdaki sözcük de takma ad genişletmesi için kontrol edilir. NS
Takma ad olmayan bir kelime bulunduğunda, alıntı bir kelime olduğunda takma ad genişletme işlemi durur
bulunduğunda veya şu anda genişletilmekte olan bir diğer ad sözcüğü bulunduğunda. takma adlar
özellikle etkileşimli bir özellik: komut dosyalarında ve
bazı durumlarda komut satırı, takma adlar sözcük oluşturma sırasında genişletilir, bu nedenle kullanımları
komut ağacını tanımlarından ayırın; aksi takdirde takma ad bulunmayacaktır.
Dikkat çekici bir şekilde, komut listeleri (noktalı virgülle ayrılmış, komut ikamelerinde ayrıca yeni satırla)
aynı ayrıştırma ağacı olabilir.

Aşağıdaki komut takma adları, kabuk tarafından otomatik olarak tanımlanır:

autoload='\typeset -fu'
işlevler='\dizgi -f'
hash='\yerleşik takma ad -t'
geçmiş='\yerleşik fc -l'
tamsayı='\dizgi -i'
yerel='\dizgi'
login='\exec login'
nameref='\typeset -n'
nohup='nohup'
r='\yerleşik fc -e -'
type='\yerleşik nereden -v'

İzlenen takma adlar, kabuğun belirli bir komutu nerede bulduğunu hatırlamasını sağlar. İlk
kabuk, izlenen bir takma ad olarak işaretlenmiş bir komut için bir yol aradığında, kaydeder
komutun tam yolu. Komutun bir sonraki çalıştırılışında, kabuk kontrol eder.
kayıtlı yolu, hala geçerli olduğunu görmek için kaydeder ve geçerliyse, yol aramasını tekrar etmekten kaçınır.
İzlenen takma adlar aşağıdakiler kullanılarak listelenebilir ve oluşturulabilir: takma ad -t. PATH'i değiştirmenin
parametresi, izlenen tüm takma adlar için kayıtlı yolları temizler. Eğer izleme seçenek ayarlandı
(yani set -o izleme or set -h), kabuk tüm komutları izler. Bu seçenek ayarlandı
etkileşimli olmayan mermiler için otomatik olarak. Etkileşimli kabuklar için yalnızca aşağıdakiler
komutlar otomatik olarak izlenir: kedi(1) cc(1) chmod(1) cp(1) tarih(1) ed(1)
emacs(1) grep(1) ls(1) yapmak(1) mv(1) pr(1) rm(1) susuzluk(1) sh(1) vi(1), ve kim(1).

Ikame
Kabuğun basit bir komut yürütmede attığı ilk adım, üzerinde değişiklik yapmaktır.
emrin sözleri. Üç tür ikame vardır: parametre, komut ve
aritmetik. Bir sonraki bölümde ayrıntılı olarak açıklanan parametre ikameleri,
$ şeklini alisim veya ${...}; komut ikameleri $( biçimini alırkomuta) Veya
(kullanımdan kaldırıldı) `komuta` veya (mevcut ortamda yürütülür) ${ komuta;} ve şerit
sondaki yeni satırlar; ve aritmetik ikameler $((ifade)). ayrıştırma
mevcut ortam komut değişikliği, açılıştan sonra bir boşluk, sekme veya yeni satır gerektirir
parantez ve kapanış parantezinin bir anahtar kelime olarak tanınması (yani, bir yeni satırdan önce gelir)
veya noktalı virgül). Bunlara ayrıca funsubs (fonksiyon ikameleri) denir ve şöyle davranırlar:
bundaki işlevler yerel ve dönüş çalışmak ve bunda çıkış ana kabuğu sonlandırır; kabuk
seçenekler paylaşılır.

Başka bir ikame türü, valsubs (değer ikameleri) ${|komuta;} hangileri
ayrıca funsub'lar gibi mevcut ortamda yürütülür, ancak G/Ç'lerini ebeveynle paylaşır;
bunun yerine, başlangıçta boş, yerel ifade değişkeni REPLY ne olursa olsun onu değerlendirirler.
içinde ayarla komutas.

Çift tırnak işaretinin dışında bir değişiklik görünüyorsa, değişikliğin sonuçları şöyledir:
genellikle IFS'nin mevcut değerine göre kelime veya alan bölünmesine tabidir
parametre. IFS parametresi, bir dizeyi bölmek için kullanılan sekizlilerin listesini belirtir.
birkaç kelimeye; IFS'de görünen ayarlanan alan, sekme ve yeni satırdan herhangi bir sekizli
sekizlilere "IFS boşluk" denir. Bir veya daha fazla IFS boşluk sekizlisinin dizileri,
sıfır veya bir IFS olmayan boşluk sekizlisiyle kombinasyon, bir alanı sınırlandırın. Özel bir durum olarak,
baştaki ve sondaki IFS boşlukları çıkarılır (yani baştaki veya sondaki boş alan yok
onun tarafından yaratılmıştır); baştaki veya sondaki IFS olmayan boşluklar boş bir alan oluşturur.

Örnek: IFS, “ olarak ayarlanmışsa :” ve VAR olarak ayarlanır
“ A : B::D”, $VAR'ın ikamesi dört alanda sonuçlanır: 'A',
'B', '' (boş bir alan) ve 'D'. IFS parametresi boş olarak ayarlanırsa unutmayın.
dize, alan bölme işlemi yapılmaz; ayarlanmamışsa, varsayılan boşluk, sekme ve
yeni hat kullanılır.

Ayrıca, alan bölme işleminin yalnızca şu anki sonucu için geçerli olduğunu unutmayın.
ikame. Önceki örneği kullanarak, $VAR:E yerine
alanlar: 'A', 'B', '' ve 'D:E', 'A', 'B', '', 'D' ve 'E' değil. Bu davranış POSIX'dir
uyumlu, ancak alan bölme yapan diğer bazı kabuk uygulamalarıyla uyumlu değil
ikame içeren kelime üzerinde veya genel bir boşluk sınırlayıcı olarak IFS'yi kullanın.

İkame sonuçları, aksi belirtilmedikçe, ayraç açılımına da tabidir.
ve dosya adı genişletmesi (aşağıdaki ilgili bölümlere bakın).

Bir komut ikamesi, belirtilen komut tarafından üretilen çıktı ile değiştirilir;
bir alt kabukta çalıştırın. $( içinkomuta) ve ${|komuta;} ve ${ komuta;} ikameler, normal
alıntı kuralları ne zaman kullanılır komuta ayrıştırılır; ancak, kullanımdan kaldırılan ` içinkomuta`şekli, bir
'\' ve ardından '$', '`' veya '\' karakterlerinden herhangi biri çıkarılır (değişim parçası olduğunda '"' olduğu gibi
çift ​​tırnaklı bir dize); ters eğik çizgi '\' ve ardından başka herhangi bir karakter değişmez.
Komut ikamelerinde özel bir durum olarak, formun bir komutudosya yorumlanır
içeriğini değiştir demek dosya. Bunu not et $( ile aynı etkiye sahiptir $(kedi foo).

Bazı kabukların komut ikameleri için özyinelemeli bir ayrıştırıcı kullanmadığına dikkat edin,
belirli yapılar için başarısızlık; taşınabilir olması için, geçici çözüm olarak 'x=$(cat) <<"EOF"' (veya
satırsonu tutma 'x=<<"EOF"' uzantısı) yerine yalnızca dizeyi slurp etmek için. IEEE Standart 1003.1
(“POSIX.1”), 'x=$(case $foo in (bar) echo $bar biçimindeki vaka ifadelerinin kullanılmasını önerir.
;; (*) echo $baz ;; esac)' yerine, bu işe yarar ancak buna örnek teşkil etmez
taşınabilirlik sorunu

x=$(barda vaka $foo) echo $bar ;; *) echo $baz ;; esac)
# yukarıdaki eski kabukları ayrıştırmada başarısız oluyor; aşağıda geçici çözüm
x=$(değerlendirme $(kedi)) <<"EOF"
case $foo barda) echo $bar ;; *) echo $baz ;; esac
EOF

Aritmetik ikameler, belirtilen ifadenin değeri ile değiştirilir. İçin
örnek, komut baskı $((2+3*4)) 14 görüntüler. Bkz. Aritmetik ifade Bir için
bir ifadenin açıklaması.

parametreler
Parametreler kabuk değişkenleridir; bunlara değerler atanabilir ve değerlerine erişilebilir
bir parametre ikamesi kullanarak. Bir parametre adı, özel tekli adlardan biridir.
aşağıda açıklanan noktalama veya rakam karakteri parametreleri veya bir harfin ardından sıfır veya
daha fazla harf veya rakam ('_' harf olarak sayılır). İkinci form diziler olarak ele alınabilir
formun bir dizi indeksini ekleyerek [İfade] nerede İfade aritmetik bir ifadedir.
Dizi indeksleri mksh 0 ila 4294967295 (dahil) aralığıyla sınırlıdır. Yani,
bunlar 32 bitlik işaretsiz bir tamsayıdır.

Parametre ikameleri $ biçimini alırisim, ${isim} veya ${isim[İfade]} nerede isim bir
Parametre adı. Tüm dizi öğelerinin ${ ile değiştirilmesiisim[*]} ve ${isim[@]} İşler
konumsal parametreler için $* ve $@'a eşdeğerdir. Bir üzerinde ikame yapılırsa
parametre (veya bir dizi parametre öğesi) ayarlanmamışsa, boş bir dize değiştirilir
sürece isim kümesi seçenek (set -o isim kümesi or set -u) ayarlanır, bu durumda bir hata oluşur.

Parametrelere çeşitli şekillerde değerler atanabilir. İlk olarak, kabuk örtük olarak ayarlar
'#', 'PWD' ve '$' gibi bazı parametreler; özel tek karakterin tek yolu bu
parametreler ayarlanır. İkinci olarak, parametreler kabuğun ortamından şu adreste içe aktarılır:
başlamak. Üçüncüsü, parametrelere komut satırında değerler atanabilir: örneğin, FOO=çubuk
“FOO” parametresini “bar” olarak ayarlar; tek bir üzerinde birden fazla parametre ataması verilebilir
komut satırı ve basit bir komutla takip edilebilirler, bu durumda atamalar
yalnızca komut süresi boyunca geçerlidir (bu tür atamalar da dışa aktarılır; bkz.
Bunun etkileri için aşağıda). Hem parametre adının hem de '=' öğesinin olması gerektiğini unutmayın.
kabuğun bir parametre atamasını tanıması için alıntı yapılmamıştır. yapı FOO+=baz aynı zamanda
tanınan; eski ve yeni değerler hemen birleştirilir. Dördüncü ayar yolu
bir parametre ile ihracat, global, Sadece oku, ve dizgi komutlar; onları görmek
açıklamalar Komuta infaz Bölüm. Beşinci, için ve seçmek döngüler set parametreleri
yanısıra Getopts, okumak, ve set -A komutlar. Son olarak, parametreler atanabilir
aritmetik ifadeler içindeki atama operatörlerini kullanan değerler (bkz. Aritmetik ifade
aşağıda) veya ${ kullanarakisim=değer} parametre değiştirme biçimi (aşağıya bakın).

Dışa aktarma özniteliğine sahip parametreler ( ihracat or dizgi -x komutları veya tarafından
basit komutlar tarafından takip edilen parametre atamaları) ortama konur (bkz.
environ(7)) kabuk tarafından çalıştırılan komutların isim=değer çiftler. Parametrelerin sıralandığı sıra
Bir komutun ortamında görünmediği belirtilmemiştir. Kabuk başladığında,
parametreleri ve değerlerini ortamından çıkarır ve dışa aktarmayı otomatik olarak ayarlar
bu parametreler için öznitelik.

Değiştiriciler ${ öğesine uygulanabilirisim} parametre değiştirme biçimi:

${isim:-sözcük}
If isim ayarlanır ve NULL değil, değiştirilir; aksi halde, sözcük değiştirilir.

${isim:+sözcük}
If isim ayarlanmış ve NULL değil, sözcük ikame edilir; aksi takdirde hiçbir şey ikame edilmez.

${isim:=sözcük}
If isim ayarlanır ve NULL değil, değiştirilir; aksi halde atanır sözcük ve
sonuç değeri isim değiştirilir.

${isim:?sözcük}
If isim ayarlanır ve NULL değil, değiştirilir; aksi halde, sözcük üzerine basılmış
standart hata (öncesinde isim:) ve bir hata oluşur (normalde sonlandırmaya neden olur)
'.' kullanılarak elde edilen bir kabuk betiğinin, işlevin veya betiğin yerleşik). Eğer sözcük is
atlanırsa, bunun yerine "parameter null or not set" dizesi kullanılır. Şu anda bir hata,
if sözcük boş dizeye genişleyen bir değişkendir, hata mesajı da
basılı.

Unutmayın, yukarıdakilerin tümü için, sözcük aslında alıntı olarak kabul edilir ve özel ayrıştırma
kurallar geçerlidir. Ayrıştırma kuralları, ifadenin çift tırnaklı olup olmamasına göre de farklılık gösterir: sözcük
daha sonra çift alıntının kendisi ('"') ve kapanış hariç çift alıntı kurallarını kullanır.
Ters eğik çizgi kaçarsa alıntı kaldırma uygulanan ayraç.

Yukarıdaki değiştiricilerde, ':' atlanabilir, bu durumda koşullar yalnızca şunlara bağlıdır:
isim ayarlanıyor (NULL değil, ayarlanmış yerine). Eğer sözcük gerekli, parametre, komut,
üzerinde aritmetik ve tilde ikamesi yapılır; Eğer sözcük gerekli değil, değil
değerlendirildi.

Aşağıdaki parametre değiştirme biçimleri de kullanılabilir (eğer isim bir dizidir,
"0" anahtarlı eleman skaler bağlamda değiştirilecektir):

${#isim}
Konumsal parametrelerin sayısı, eğer isim '*', '@' veya belirtilmemiş; aksi halde
parametrenin dize değerinin uzunluğu (karakter olarak) isim.

${#isim[*]}
${#isim[@]}
Dizideki eleman sayısı isim.

${%isim}
Parametrenin dize değerinin genişliği (ekran sütunlarında) isimveya -1 ise
${isim} bir kontrol karakteri içerir.

${!isim}
tarafından atıfta bulunulan değişkenin adı isim. Bu olacak isim ne zaman hariç isim is
tarafından oluşturulan bir ad referansı (bağlı değişken) isim referansı komut (bir takma addır)
için dizgi -n).

${!isim[*]}
${!isim[@]}
Dizideki dizinlerin (anahtarların) adları isim.

${isim#model}
${isim##model}
If model parametre değerinin başlangıcıyla eşleşir isim, eşleşen metin
ikame sonucundan silinir. Tek bir '#' en kısa
eşleşir ve ikisi en uzun eşleşmeyle sonuçlanır. Bir vektöre uygulanamaz
(${*} veya ${@} veya ${array[*]} veya ${array[@]}).

${isim%model}
${isim%%model}
${..#..} ikamesi gibi, ancak değerin sonundan siler. Olamaz
vektöre uygulanır.

${isim/desen/dize}
${isim/#desen/dize}
${isim/%desen/dize}
${isim//desen/dize}
en uzun maç model parametre değerinde isim ile değiştirildi dizi
(eğer silinirse dizi boş; bu durumda sondaki eğik çizgi ('/') kullanılmayabilir).
Baştaki eğik çizgi ve ardından '#' veya '%', desenin
sırasıyla değerin başı veya sonu; boş bağlantısız modelneden hayır
yenisiyle değiştirme; tek bir baştaki eğik çizgi veya bir model boş ile eşleşen
string, değiştirmenin yalnızca bir kez olmasına neden olur; iki önde gelen eğik çizgi hepsine neden olur
değiştirilecek değerdeki eşleşmelerin oluşumu. Bir vektöre uygulanamaz.
Verimsiz uygulanmış, yavaş olabilir.

${isim:postalamak:len}
İlk len karakterleri isim, pozisyondan başlayarak postalamak, ikame edilir. Her ikisi de
postalamak ve:len isteğe bağlıdır. Eğer postalamak negatif, sayma işlemin sonunda başlar.
sicim; atlanırsa, varsayılan olarak 0 olur. len atlanır veya bundan daha büyük
kalan dizenin uzunluğu, tümü değiştirilir. Her ikisi de postalamak ve len vardır
aritmetik ifadeler olarak değerlendirilir. Şu anda, postalamak boşlukla başlamalı,
tanınması için parantez veya rakam açma. Bir vektöre uygulanamaz.

${isim@#}
Genişletilmesinin karması (BAFH algoritmasını kullanarak) isim. Bu da kullanılır
kabuğun hashtable'ları için dahili olarak.

${isim@Q}
Değeri, yeniden giriş için güvenli, alıntılanan ifadenin değeridir. isim
parametre, değiştirilir.

Bunu not et model genişletilmiş globbing deseni (@(...)), tek ('...') veya çift gerekebilir
("...") alıntı kaçmadıkça -o sh ayarlanır.

Aşağıdaki özel parametreler, kabuk tarafından örtük olarak ayarlanır ve doğrudan ayarlanamaz
atamaları kullanarak:

! Başlatılan son arka plan işleminin işlem kimliği. Arka planda işlem yoksa
başlatıldı, parametre ayarlanmadı.

# Konumsal parametrelerin sayısı ($1, $2, vb.).

$ Kabuğun PID'si veya bir alt kabuk ise orijinal kabuğun PID'si. Yapmak DEĞİL
geçici dosya adları oluşturmak için bu mekanizmayı kullanın; görmek mktemp(1) yerine.

- Mevcut tek harfli seçeneklerin sıralanması (bkz. set aşağıdaki komut
seçenekler listesi için).

? Yürütülen son eşzamansız olmayan komutun çıkış durumu. son komut ise
bir sinyalle öldürüldü, $? 128 artı sinyal numarasına ayarlanır, ancak en fazla 255.

0 Aşağıdaki şekilde belirlenen kabuğun adı: mksh olsaydı
ile çağrıldı -c seçenek ve argümanlar verildi; aksi halde dosya argüman, eğer
tedarik edildi; veya kabuğun çağrıldığı temel ad (yani argv[0]). 0 $
ayrıca geçerli komut dosyasının adına veya geçerli işlevin adına ayarlanır,
ile tanımlansaydı işlev anahtar kelime (yani bir Korn kabuk stili işlevi).

1 .. 9 Kabuğa, işleve veya kabuğa sağlanan ilk dokuz konumsal parametre
komut dosyası '.' kullanılarak kaynaklanmıştır. yerleşik. Diğer konumsal parametreler şunlar olabilir:
${ kullanılarak erişildinumara}.

* Tüm konumsal parametreler (0 hariç), yani $1, $2, $3, ...
Çift tırnak dışında kullanılırsa, parametreler ayrı kelimelerdir (bunlar
kelime bölmek için); çift ​​tırnak içinde kullanılırsa, parametreler şu şekilde ayrılır:
IFS parametresinin ilk karakteri (veya IFS NULL ise boş dize).

@ İle aynı $*, çift tırnak içinde kullanılmadıkça, bu durumda ayrı bir kelime
Her konumsal parametre için oluşturulur. Konumsal parametre yoksa, hayır
kelime üretilir. $@ argümanlara, kelimesi kelimesine, kaybetmeden erişmek için kullanılabilir
NULL argümanlar veya boşluklarla bölme argümanları.

Aşağıdaki parametreler kabuk tarafından ayarlanır ve/veya kullanılır:

_ (alt çizgi) Kabuk tarafından harici bir komut yürütüldüğünde, bu parametre
yürütülen yolun yoluna yeni sürecin ortamında ayarlanır
emretmek. Etkileşimli kullanımda, bu parametre ayrıca ana kabukta şu şekilde ayarlanır:
önceki komutun son kelimesi.

BASHPID Kabuk veya alt kabuğun PID'si.

CDPATH PATH gibidir, ancak argümanı şuna çözümlemek için kullanılır: cd yerleşik komut. Not
CDPATH ayarlanmışsa ve '.' içermiyorsa. veya boş bir dize öğesi,
geçerli dizin aranmaz. Ayrıca cd yerleşik komut görüntülenecek
dışında herhangi bir arama yolunda bir eşleşme bulunduğunda ortaya çıkan dizin
boş yol.

SÜTUNLAR Terminal veya penceredeki sütun sayısını ayarlayın. Her zaman ayarla, varsayılanlar
tarafından rapor edilen değer olmadıkça 80'e arpacık(1) sıfırdan farklı ve yeterince mantıklı
(minimum 12x3'tür); LINES için benzer. Bu parametre tarafından kullanılır.
etkileşimli satır düzenleme modları ve seçmek, set -o, ve öldürmek -l komutlar
bilgi sütunlarını biçimlendirmek için. Ortamdan içe aktarma veya ayarı kaldırma
bu parametre, gerçek terminal boyutuna bağlanmayı,
sağlanan değer.

ENV Bu parametrenin herhangi bir profil dosyası yürütüldükten sonra ayarlandığı tespit edilirse,
genişletilmiş değer, bir kabuk başlangıç ​​dosyası olarak kullanılır. Genellikle işlevi içerir
ve takma ad tanımları.

ERRNO Kabuğun tamsayı değeri hata değişken. Son nedenini gösterir
sistem çağrısı başarısız oldu. Henüz uygulanmadı.

EXECHELL Ayarlanırsa, bu parametrenin aşağıdakiler için kullanılacak kabuğu içerdiği varsayılır.
komutları yürütün yürütmek(2) yürütülemez ve bir ile başlamaz
“#!kabuk" sıra.

FCEDIT tarafından kullanılan düzenleyici fc komutu (aşağıya bakın).

FPATH PATH gibidir, ancak dosyayı bulmak için tanımsız bir işlev yürütüldüğünde kullanılır
fonksiyonu tanımlar. Kullanılarak bir komut bulunamadığında da aranır.
YOL. Görmek fonksiyonlar Daha fazla bilgi için aşağıda.

HISTFILE Komut geçmişini depolamak için kullanılan dosyanın adı. Atandığında veya ayarlanmadığında,
dosya açılır, geçmiş kısaltılır ve dosyadan yüklenir; sonraki
(muhtemelen birkaç satırdan oluşan) yeni komutlar, bir kez eklendiklerinde eklenir.
başarıyla derlendi. Ayrıca, kabuğun birkaç çağrısını paylaşacak
HISTFILE parametrelerinin tümü aynı dosyaya işaret ediyorsa geçmiş.

not: HISTFILE ayarlanmamışsa veya boşsa, geçmiş dosyası kullanılmaz. Bu
AT&T UNIX'ten farklı ksh.

HISTSIZE Normalde geçmiş için saklanan komutların sayısı. Varsayılan 2047'dir.
bu değeri 1000000000 gibi delice yüksek değerlere ayarlamayın çünkü mksh yapabilmek
o zaman geçmiş için yeterli bellek ayırmaz ve başlamaz.

ANA SAYFA için varsayılan dizin cd komut ve bir için ikame edilen değer
vasıfsız ~ (görmek tilde genişleme altında).

IFS Dahili alan ayırıcı, değiştirme sırasında ve okumak komuta etmek
değerleri farklı argümanlara bölmek; normalde boşluk, sekme ve yeni satıra ayarlanır.
Yerimizi Ikame Ayrıntılar için

not: Kabuk açıkken bu parametre ortamdan içe aktarılmaz.
başladı.

KSHEGID Kabuğun etkin grup kimliği.

KSHGID Kabuğun gerçek grup kimliği.

KSHUID Kabuğun gerçek kullanıcı kimliği.

KSH_VERSION Kabuğun adı ve sürümü (salt okunur). Ayrıca sürüm komutlarına bakın
in Emacs kurgu kip ve Vi kurgu kip bölümler, aşağıda.

LINENO Şu anda yapılmakta olan işlevin veya kabuk komut dosyasının satır numarası
idam edildi.

LINES Terminal veya penceredeki satır sayısını ayarlayın. Her zaman ayarla, varsayılan olarak
24. Bkz. SÜTUNLAR.

EPOKREALZAMAN
Döndürüldüğü gibi, çağdan bu yana geçen süre gettimeofday(2), ondalık olarak biçimlendirilmiş
tv_sn ardından bir nokta ('.') ve tv_usec tam olarak altı ondalık basamağa kadar doldurulmuş
basamak.

OLDPWD Önceki çalışma dizini. Şu durumda ayarını kaldır: cd başarıyla değişmedi
Kabuk başladığından beri dizinler veya kabuk nerede olduğunu bilmiyorsa.

OPTARG Kullanırken Getopts, ayrıştırılmış bir seçenek için argümanı içerir, eğer
birini gerektirir.

OPTIND Kullanılırken işlenecek bir sonraki bağımsız değişkenin dizini Getopts. 1 atama
bu parametreye neden olur Getopts argümanları en baştan işlemek için
bir dahaki sefere çağrılır.

PATH Aranan dizinlerin iki nokta üst üste (OS/2'de noktalı virgül) ile ayrılmış listesi
'.' kullanılarak elde edilen komutları ve dosyaları ararken komutu (aşağıya bakın).
Baştaki veya sondaki iki nokta üst üste veya iki bitişikten kaynaklanan boş bir dize
iki nokta üst üste, '.' olarak kabul edilir. (geçerli dizin).

PGRP Kabuğun süreç grubu liderinin süreç kimliği.

PIPESTATUS Sonuncunun hata düzeyi (çıkış durumu) kodlarını birer birer içeren bir dizi.
boru hattı ön planda çalışır.

PPID Kabuğun üst öğesinin işlem kimliği.

PS1 Etkileşimli mermiler için birincil istem. Parametre, komut ve aritmetik
ikameler yapılır ve '!' geçerli komutla değiştirilir
numarası (bkz. fc Aşağıdaki komut). Gerçek bir '!' tarafından komut istemine konabilir
'!!' yerleştirme PS1'de.

Kök olmayan kullanıcılar için varsayılan bilgi istemi '$', kök için '#' şeklindedir. Eğer mksh is
root tarafından çağrılır ve PS1 varsayılan değer olan bir '#' karakteri içermez
PS1 ortamda zaten mevcut olsa bile kullanılacaktır.

The mksh dağıtım bir örnekle birlikte gelir nokta.mkshrc sofistike içeren
örneğin, ancak aşağıdakini beğenebilirsiniz (unutmayın
${HOSTNAME:=$(hostname)} ve root-vs-user ayırt edici yan tümcesi (içinde
bu örnek) PS1 atama zamanında yürütülürken $USER ve $PWD
kaçar ve bu nedenle her bilgi istemi görüntülendiğinde değerlendirilir):

PS1='${USER:=$(id -un)}'"@${HOSTNAME:=$(hostname)}:\$PWD $(
if (( USER_ID )); sonra \$ yazdırın; yoksa yazdır \#; fi)"

Komut satırı düzenleyicilerinin istemin ne kadar süreceğini bulmaya çalıştıklarını unutmayın.
(böylece ekranın kenarına ne kadar uzakta olduğunu bilirler),
İstemi, işleri karıştırmaya eğilimlidir. Kabuğa kesin saymamasını söyleyebilirsin
komut isteminize bir karakter ekleyerek diziler (kaçış kodları gibi)
(Ctrl-A gibi) ardından bir satır başı ve ardından kaçışın sınırlandırılması
bu karakterle kodlar. İstemde bu karakterin herhangi bir tekrarı
basılmamış. Bu arada, bu hack için beni suçlama; şundan türetilmiştir
orijinal ksh88(1), sınırlayıcı karakteri yazdırdı, böylece
basılmayan karakteriniz yoksa şans.

Ters Eğik Çizgiler ve diğer özel karakterler kabuk tarafından yorumlanabileceğinden,
PS1'i ayarlamak için ters eğik çizgiden kaçın veya çift tırnak kullanın. NS
ikincisi daha pratik. Bu daha karmaşık bir örnektir, doğrudan
özel karakterler girin (örneğin ^V emacs düzenleme modunda), hangi
mevcut çalışma dizinini ters videoya gömer (renk işe yarar,
çok), bilgi istemi dizesinde:

x=$(yazdır \\001)
PS1="$x$(yazdır \\r)$x$(tput yani)$x\$PWD$x$(tput se)$x> "

David G. Korn'un güçlü bir önerisi nedeniyle, mksh şimdi de destekliyor
aşağıdaki form:

PS1=$'\1\r\1\e[7m\1$PWD\1\e[0m\1> '

PS2 İkincil bilgi istemi dizesi, varsayılan olarak '>', daha fazla giriş gerektiğinde kullanılır.
bir komutu tamamlayın.

tarafından kullanılan PS3 İstemi seçmek Bir menü seçimini okurken ifade. Varsayılan
NS '#? '.

PS4 Yürütme izleme sırasında yazdırılan komutları öneklemek için kullanılır (bkz. set
-x Aşağıdaki komut). Parametre, komut ve aritmetik ikameler
yazdırılmadan önce gerçekleştirilir. Varsayılan '+' şeklindedir. ayarlamak isteyebilirsiniz
bunun yerine zaman damgalarını eklemek için '[$EPOCHREALTIME]'.

PWD Geçerli çalışma dizini. Kabuk bilmiyorsa ayarlanmamış veya NULL olabilir
nerede.

RANDOM RANDOM'a her başvuru yapıldığında, 0 ile 32767 arasında bir sayı atanır.
önce bir Lineer Congruential PRNG'den.

REPLY için varsayılan parametre okumak isim verilmemişse komut. Ayrıca kullanılan
seçmek standart girdiden okunan değeri saklamak için döngüler.

SANİYE Kabuğun başlamasından bu yana geçen saniye sayısı veya parametre
bir tamsayı değeri atanır, atamadan bu yana geçen saniye sayısı artı
atanan değer.

TMOUT Etkileşimli bir kabukta pozitif bir tamsayıya ayarlanırsa, maksimum değeri belirtir.
Birincil yazdırıldıktan sonra kabuğun giriş için bekleyeceği saniye sayısı
komut istemi (PS1). Süre aşılırsa, kabuk çıkar.

TMPDIR Dizin geçici kabuk dosyaları oluşturulur. Bu parametre değilse
yazılabilir bir dizinin mutlak yolunu ayarlayın veya içermiyor, geçici
dosyalar oluşturulur / Tmp.

USER_ID Kabuğun etkin kullanıcı kimliği.

tilde genişleme
Parametre değiştirmeye paralel olarak yapılan tilde açılımı word üzerinde yapılır.
tırnaksız bir '~' ile başlayan. Yaklaşık işaretinden sonraki ilk '/' işaretine kadar olan karakterler, eğer
any, bir oturum açma adı olarak kabul edilir. Oturum açma adı boş, '+' veya '-' ise, değeri
sırasıyla HOME, PWD veya OLDPWD parametresi değiştirilir. Aksi takdirde şifre
dosyada oturum açma adı aranır ve tilde ifadesi kullanıcının
ev dizini. Oturum açma adı parola dosyasında yoksa veya herhangi bir alıntı veya
oturum açma adında parametre değişikliği gerçekleşir, değiştirme yapılmaz.

Parametre atamalarında (bir basit komuttan önce gelenler veya
argümanları takma ad, ihracat, global, Sadece oku, ve dizgi), sonra tilde genişletme yapılır
herhangi bir atama (yani eşittir işaretinden sonra) veya iki nokta üst üste işaretinden sonra (':'); giriş adları
ayrıca iki nokta üst üste ile sınırlandırılmıştır.

Önceden genişletilmiş oturum açma adlarının ana dizini önbelleğe alınır ve yeniden kullanılır. NS takma ad -d
komutu bu önbelleğe listelemek, değiştirmek ve eklemek için kullanılabilir (örn. takma ad -d
fac=/usr/yerel/tesisler; cd ~yüz/bin).

bağ genişleme (değişim)
Parantez ifadeleri aşağıdaki formu alır:

önek{str1, ...,strN}sonek

ifadeler genişletildi N sözcüklerin her biri önek, stri,
ve sonek (örneğin, “a{c,b{X,Y},d}e” dört kelimeye genişler: “ace”, “abXe”, “abYe” ve “ade”).
Örnekte belirtildiği gibi, küme ayracı ifadeleri iç içe yerleştirilebilir ve sonuçta ortaya çıkan sözcükler
sıralanmış. Genişletmenin gerçekleşmesi için ayraç ifadeleri tırnak içine alınmamış bir virgül (',') içermelidir (örn.
{} ve {foo} genişletilmemiştir). Parametre ikamesinden sonra köşeli ayraç genişletmesi gerçekleştirilir
ve dosya adı oluşturmadan önce.

fileto isim desen
Dosya adı kalıbı, bir veya daha fazla tırnak içine alınmamış '?', '*', '+', '@' veya '!' içeren bir kelimedir.
karakterler veya “[..]” dizileri. Ayraç genişletmesi gerçekleştirildikten sonra, kabuk değiştirilir
kalıpla eşleşen tüm dosyaların sıralanmış adlarıyla dosya adı kalıpları (yoksa
dosyalar eşleşirse, sözcük değişmeden bırakılır). Desen öğeleri aşağıdaki anlamlara sahiptir:

? Herhangi bir tek karakterle eşleşir.

* Herhangi bir sekizli dizisiyle eşleşir.

[..] Parantez içindeki sekizlilerden herhangi biriyle eşleşir. Sekizli aralıkları şu şekilde belirtilebilir:
iki sekizliyi '-' ile ayırmak (örneğin, “[a0-9]”, 'a' harfiyle veya herhangi bir rakamla eşleşir).
Kendini temsil etmesi için bir '-' ya alıntı yapılmalı ya da ilk veya son sekizli
sekizli listesinde. Benzer şekilde, bir ']' alıntı veya listedeki ilk sekizli olmalıdır
listenin sonu yerine kendini temsil edecekse. Ayrıca bir '!' görünen
listenin başında özel bir anlamı vardır (aşağıya bakın), bu nedenle kendisini temsil etmek için
alıntılanmalı veya listede daha sonra görünmelidir.

[!..] Parantez içinde olmayan herhangi bir sekizli ile eşleşmesi dışında [..] gibi.

*(model|...|model)
Belirtilenin sıfır veya daha fazla tekrarı ile eşleşen herhangi bir sekizli dizesiyle eşleşir
desenler. Örnek: desen *(foo|Çubuk) “”, “foo”, “bar” dizeleriyle eşleşir,
"foobarfoo" vb.

+(model|...|model)
Belirtilenin bir veya daha fazla tekrarı ile eşleşen herhangi bir sekizli dizesiyle eşleşir
desenler. Örnek: desen +(foo|Çubuk) "foo", "bar" dizeleriyle eşleşir,
"foobar" vb.

?(model|...|model)
Boş dizeyle veya belirtilen kalıplardan biriyle eşleşen bir dizeyle eşleşir.
Örnek: desen ?(foo|Çubuk) yalnızca "", "foo" ve "bar" dizeleriyle eşleşir.

@(model|...|model)
Belirtilen kalıplardan biriyle eşleşen bir dizeyle eşleşir. Örnek: desen
@(foo|Çubuk) yalnızca "foo" ve "bar" dizeleriyle eşleşir.

!(model|...|model)
Belirtilen kalıplardan biriyle eşleşmeyen herhangi bir dizeyle eşleşir. Örnekler:
model !(foo|Çubuk) "foo" ve "bar" dışındaki tüm dizelerle eşleşir; desen !(*)
hiçbir dizeyle eşleşmez; desen !(?)* tüm dizelerle eşleşir (bir düşünün).

Özellikle alternatiflerle karmaşık küreselleştirmenin yavaş olduğuna dikkat edin; ayrı kullanarak
karşılaştırmalar daha hızlı olabilir (veya olmayabilir).

Bunu not et mksh (Ve pdksh) hiçbir zaman '.' ile eşleşmez. ve '..', ancak AT&T UNIX ksh, Bourne shve GNU
darbe yapın.

Yukarıdaki desen öğelerinin hiçbirinin bir noktanın başlangıcındaki bir nokta ('.') ile eşleşmediğine dikkat edin.
dosya adı veya eğik çizgi ('/'), bir [..] dizisinde açıkça kullanılmış olsalar bile; Ayrıca
adları '.' ve '..', '.*' kalıbıyla bile asla eşleşmez.

Eğer işaretler seçeneği belirlenirse, dosya adı oluşturma sonucunda ortaya çıkan dizinler
sonunda bir '/' ile işaretlenir.

Giriş / çıkış yönlendirme
Bir komut yürütüldüğünde, standart girdisi, standart çıktısı ve standart hatası (dosya
tanımlayıcılar sırasıyla 0, 1 ve 2) normalde kabuktan miras alınır. Üç
bunun istisnaları, standart girdi ve/veya standart
çıktı, ardışık düzen tarafından ayarlananlardır, iş kontrolü yapıldığında oluşturulan asenkron komutlardır.
devre dışı, bunun için standart giriş başlangıçta / Dev / null, ve için komutlar
aşağıdaki yönlendirmelerden herhangi biri belirtildi:

>dosya Standart çıktı şuraya yönlendirilir: dosya. Eğer dosya yoktur, yaratılmıştır;
varsa, normal bir dosyadır ve noklobber seçenek ayarlandı, bir hata
meydana gelmek; aksi takdirde dosya kesilir. Bunun komut anlamına geldiğini unutmayın cmd
<foo >foo Açılacak foo okumak için ve daha sonra açtığında kısaltın
yazma, önce cmd aslında okumak için bir şans alır foo.

>|dosya Aynısı >, dosyanın kesilmesi dışında, noklobber seçeneği ayarlandı.

>>dosya Aynısı >, eğer hariç dosya kesilmek yerine eklenir.
Ayrıca, dosya ekleme modunda açılır, bu nedenle yazma işlemleri her zaman dosyanın sonuna gider.
dosya (bkz. açık(2)).

<dosya Standart giriş şuradan yönlendirilir: dosya, okumak için açılır.

<>dosya Aynısı <, dosyanın okuma ve yazma için açılması dışında.

<<işaretleyici Bu tür yeniden yönlendirmeyi içeren komut satırını okuduktan sonra (bir
"burada belge"), kabuk komut kaynağındaki satırları bir
bir satır eşleşene kadar geçici dosya işaretleyici okunur. komut ne zaman
yürütüldüğünde, standart girdi geçici dosyadan yeniden yönlendirilir. Eğer işaretleyici
alıntı karakter içermez, geçici dosyanın içeriği işlenir
komut her çalıştırıldığında çift tırnak içine alınmış gibi, yani parametre,
komut ve aritmetik ikameler ters eğik çizgi ('\') ile birlikte gerçekleştirilir
'$', '`', '\' ve '\newline' için kaçar, ancak '"' için değil. Burada birden fazla ise
belgeler aynı komut satırında kullanılır, sırayla kaydedilir.

Eğer hayırsa işaretleyici verildiğinde, buradaki belge bir sonraki << ve ikame
gerçekleştirilecek. Eğer işaretleyici yalnızca tekli “''” veya çift '""' kümesidir
aralarında hiçbir şey olmayan alıntılar, buradaki belge bir sonraki boş satırda biter
ve ikame yapılmayacaktır.

<< -işaretleyici Aynısı <<, önde gelen sekmeler hariç, buradaki belgedeki satırlardan çıkarılır.

<<sözcük Aynısı <<bunun dışında sözcük is buradaki belge. Bu buraya denir
dize.

<&fd Standart girdi, dosya tanıtıcıdan çoğaltılır fd. fd bir sayı olabilir,
mevcut bir dosya tanıtıcısının numarasını belirtmek; belirten 'p' harfi
geçerli ortak işlemin çıktısı ile ilişkili dosya tanıtıcısı; ya da
standart girişin kapatılacağını belirten '-' karakteri. Bunu not et fd is
çoğu kabuk uygulamasında tek bir rakamla sınırlıdır.

>&fd Aynısı <&, dışında standart çıkışta işlem yapılır.

&>dosya Aynısı >dosya 2> & 1. Bu, kullanımdan kaldırılmış (eski) bir GNU'dur darbe uzantı desteklenir
by mksh bu da önceki açık fd numarasını destekler, örneğin,
3&>dosya aynıdır 3>dosya 2> & 3 in mksh ancak GNU'da bir sözdizimi hatası darbe.

&>|dosya, &>>dosya, &>&fd
Aynısı >|dosya, >>dosyaya da >&fd, Ardından 2> & 1, yukarıdaki gibi. Bunlar mksh
uzantıları.

Yukarıdaki yönlendirmelerin herhangi birinde, yönlendirilen dosya tanıtıcısı (yani standart
girdi veya standart çıktı), yeniden yönlendirmeden önce bir sayı ile açıkça verilebilir.
(taşınabilir, yalnızca tek bir rakam). Parametre, komut ve aritmetik ikameler, tilde
değiştirmeler ve (kabuk etkileşimli ise) dosya adı oluşturma işlemi
the dosya, işaretleyici, ve fd yönlendirme argümanları. Bununla birlikte, herhangi bir çalışmanın sonuçlarının
dosya adı oluşturma yalnızca tek bir dosya eşleştiğinde kullanılır; birden fazla dosya eşleşirse,
genişletilmiş dosya adı oluşturma karakterleri ile word kullanılır. Sınırlı olduğunu unutmayın
kabuklar, dosya oluşturabilen yönlendirmeler kullanılamaz.

Basit komutlar için, yönlendirmeler komutun herhangi bir yerinde görünebilir; bileşik komutlar için
(if ifadeler vb.), tüm yönlendirmeler sonunda görünmelidir. Yönlendirmeler işlendi
boru hatları oluşturulduktan ve verildikten sonra, aşağıdakiler bir
başına bir satır numarası eklenmiş hata:

$ cat /foo/bar 2>&1 >/dev/null | pr -n -t

G/Ç yönlendirmeleri tarafından oluşturulan dosya tanımlayıcıları kabuğa özeldir.

Aritmetik ifade
Tamsayı aritmetik ifadeleri ile kullanılabilir izin komut, $((..)) ifadelerinin içinde,
dizi referansları içinde (örn. isim[İfade]), sayısal argümanlar olarak test komut olarak ve
bir tamsayı parametresine yapılan atamanın değeri. uyarı: Bu aynı zamanda örtük olarak da etkiler
örneğin tarafından yapıldığı gibi tam sayıya dönüştürme izin Komut. asla işaretlenmemiş kullanıcıyı kullan
giriş, örneğin çevreden, aritmetikte!

İfadeler, işaretli aritmetik kullanılarak hesaplanır ve mksh_ari_t type (32 bit imzalı
tamsayı), tek bir '#' karakteriyle başlamadıkları sürece, bu durumda kullanırlar mksh_uari_t (a
32 bit işaretsiz tam sayı).

İfadeler, alfasayısal parametre tanımlayıcıları, dizi referansları ve tamsayı içerebilir
sabitler ve aşağıdaki C operatörleri ile birleştirilebilir (listelenmiş ve gruplandırılmıştır):
artan öncelik sırası):

Tekli operatörler:

+ -! ~ ++ --

İkili operatörler:

,
= += -= *= /= %= <<<= >>>= <<= >>= &= ^= |=
||
&&
|
^
&
==! =
<<=>> =
<<< >>> << >>
+ -
* /%

Üçlü operatörler:

?: (öncelik, atamadan hemen daha yüksektir)

Gruplama operatörleri:

()

Tamsayı sabitleri ve ifadeleri, tam olarak 32 bit genişliğinde, işaretli veya
imzasız, tamsayı taşması durumunda sessiz sarma ile yazın. Tamsayı sabitleri olabilir
gösterim kullanılarak keyfi bazlarla belirtilen baz#numara, Burada baz ondalık
tabanı belirten tamsayı ve numara belirtilen tabandaki bir sayıdır. Bunlara ek olarak,
16 tabanlı tamsayılar, hepsinde '0x' (büyük/küçük harfe duyarlı olmayan) ön eki getirilerek belirtilebilir.
aritmetik ifade biçimleri, sayısal argümanlar dışında test yerleşik komut.
Tek basamağı sıfır ('0') olan sayıların ön eki, sekizli olarak yorumlamaya neden olmaz, çünkü
Bunu yapmak güvenli değil.

özel olarak mksh uzantısı, birinin tabanındaki sayılar ya (8-bit) olarak kabul edilir.
şeffaf) ASCII veya Unicode kod noktaları, kabuğun özelliklerine bağlı olarak utf8 modu bayrak (mevcut
ayar). AT&T UNIX'i ksh93 “1#x” yerine “'x'” sözdizimi de desteklenir. Not
NUL baytları (sıfırın tam değeri) kullanılamaz. Ayarlanmamış veya boş bir parametre
tamsayı bağlamında 0 olarak değerlendirir. Unicode modunda, ham sekizliler aralığa eşlenir
EF80..EFFF, PUA'da bulunan ve CSUR tarafından bu kullanım için atanan OPTU-8'deki gibidir. Eğer
ASCII modunda birden fazla sekizli veya geçerli bir
ve minimum CESU-8 dizisi geçirilir, davranış tanımsızdır (genellikle, kabuk iptal edilir)
ayrıştırma hatasıyla, ancak nadiren başarılı olur, örneğin C2 20 dizisinde). bu yüzden sen
girişin iyi biçimlendirilmiş UTF-8 olduğunu bilmiyorsanız, her zaman ASCII modunu kullanmalısınız.
Bu özelliği kullanırsanız, 0000..FFFD aralığı okumak -a.

Operatörler aşağıdaki gibi değerlendirilir:

tekli +
Sonuç argümandır (tamlık için dahil edilmiştir).

tekli -
Olumsuzluk.

! Mantıksal DEĞİL; argüman sıfır ise sonuç 1, değilse 0'dır.

~ Aritmetik (bit bazında) DEĞİL.

++ Artış; bir parametreye uygulanmalıdır (değişmez veya başka bir ifade değil).
Parametre 1 artırılır. Önek operatörü olarak kullanıldığında sonuç
parametrenin artan değeridir; postfix operatörü olarak kullanıldığında,
sonuç, parametrenin orijinal değeridir.

-- Benzer ++, ancak parametre 1 azaltılır.

, İki aritmetik ifadeyi ayırır; önce sol taraf değerlendirilir,
sonra sağ. Sonuç, sağdaki ifadenin değeridir.
tarafı.

= Atama; soldaki değişken sağdaki değere ayarlanır.

+= -= *= /= %= <<<= >>>= <<= >>= &= ^= |=
Atama operatörleri.var><op>=İfade> ile aynıdırvar>=var><op><İfade>,
herhangi bir operatör önceliği ileİfade> korunmuş. Örneğin, “var1 *= 5 +
3”, “var1 = var1 * (5 + 3)” belirtmekle aynıdır.

|| Mantıksal VEYA; sonuç, herhangi bir bağımsız değişken sıfır değilse 1, değilse 0'dır. NS
sağdaki argüman, yalnızca soldaki argüman sıfırsa değerlendirilir.

&& Mantıksal VE; her iki bağımsız değişken de sıfır değilse sonuç 1, değilse 0'dır. NS
sağ bağımsız değişken, yalnızca sol bağımsız değişken sıfır değilse değerlendirilir.

| Aritmetik (bit bazında) VEYA.

^ Aritmetik (bit bazında) XOR (özel VEYA).

& Aritmetik (bit bazında) VE.

== Eşit; sonuç, her iki argüman da eşitse 1, değilse 0'dır.

!= Eşit değil; her iki argüman da eşitse sonuç 0, değilse 1'dir.

< Daha az; sol argüman sağdan küçükse sonuç 1, eğer sol argüman 0 ise
değil.

<= > >=
Daha küçük veya eşit, daha büyük, daha büyük veya eşit. Görmek <.

<<< >>>
Sola (sağa) döndürün; sonuç shift'e benzer (bkz. <<) bunun dışında
bir uçta kaydırılan bitler, sıfır yerine diğer uçta kaydırılır
veya bitleri işaretleyin.

<< >> Sola kaydır (sağa); sonuç, bitleri sola kaydırılmış sol argümandır
(sağda) doğru argümanda verilen miktara göre.

+ - * /
Toplama, çıkarma, çarpma ve bölme.

% Kalan; sonuç, solun bölünmesinin simetrik kalanıdır.
sağdaki argüman. “a”nın matematiksel modülünü elde etmek için şık b”, kullanın
“(a %b + b) %b” formülü.

<arg1>?arg2>:arg3>
Eğerarg1> sıfır değil, sonuçarg2>; aksi takdirde sonuçarg3>.
Sonuç olmayan bağımsız değişken değerlendirilmez.

ortak süreçler
Bir ortak işlem ('|&' operatörüyle oluşturulan bir işlem hattıdır) zaman uyumsuz bir işlemdir
kabuğun her ikisinin de yazabileceği (kullanarak baskı -p) ve şuradan oku (kullanarak okumak -p). Girdi
ve ortak işlemin çıktısı da kullanılarak manipüle edilebilir. >&p ve <&p yönlendirmeler,
sırasıyla. Bir ortak süreç başlatıldıktan sonra, ortak süreç başlatılıncaya kadar başka bir süreç başlatılamaz.
süreç çıkar veya ortak sürecin girdisi bir exec n>&p
yeniden yönlendirme. Bir ortak sürecin girdisi bu şekilde yeniden yönlendirilirse, bir sonraki ortak süreç
başlatılmış olanın çıktısı olmadığı sürece, çıktıyı ilk ortak süreçle paylaşacaktır.
ortak süreç bir kullanılarak yeniden yönlendirildi exec n<&p yeniden yönlendirme.

Ortak süreçlerle ilgili bazı notlar:

· Ortak sürecin girdisini kapatmanın tek yolu (böylece ortak süreç bir dosya sonunu okur)
girişi numaralı bir dosya tanımlayıcıya yönlendirmek ve ardından bu dosya tanımlayıcıyı kapatmak için:
exec 3>&p; exec 3>&-

· Ortak işlemlerin ortak bir çıktıyı paylaşması için, kabuğun yazma işlemini tutması gerekir.
çıkış borusunun bir kısmı açık. Bu, dosyanın sonunun şu ana kadar algılanmayacağı anlamına gelir.
ortak sürecin çıktısını paylaşan tüm ortak süreçler çıktı (hepsi çıktıklarında,
kabuk, borunun kopyasını kapatır). Bu, çıktıyı bir
numaralı dosya tanımlayıcısı (bu aynı zamanda kabuğun kopyasını kapatmasına da neden olur). Bunu not et
bu davranış, kopyasını kapatan orijinal Korn kabuğundan biraz farklıdır.
en son başlatıldığında ortak süreç çıktısının yazma bölümünün
(tüm paylaşım ortak süreçleri yerine) çıkar.

· baskı -p sinyal yakalanmıyorsa veya yazma işlemi sırasında SIGPIPE sinyallerini yok sayar veya
görmezden gelindi; aynı şey, ortak işlem girişi başka bir dosyaya kopyalanmışsa da geçerlidir.
tanımlayıcı ve baskı -un kullanıldı.

fonksiyonlar
Fonksiyonlar, Korn kabuğu kullanılarak tanımlanır. işlev fonksiyon adı sözdizimi veya
Bourne/POSIX kabuğu fonksiyon adı() sözdizimi (ikisi arasındaki fark için aşağıya bakın)
formlar). İşlevler .‐komut dosyaları gibidir (yani, yerleşik '.' kullanılarak elde edilen komut dosyaları).
mevcut ortamda yürütülürler. Ancak, .‐script'lerin aksine, kabuk argümanları
(yani, $1, $2, vb. konumsal parametreler) bunların içinde asla görünmez. Kabuk olduğunda
bir komutun yerini belirleme, özel yerleşik sonra işlevler aranır
komutlar, yerleşiklerden önce ve PATH aranır.

Mevcut bir işlev kullanılarak silinebilir ayarlanmazsa -f fonksiyon adı. Bir işlev listesi şunları yapabilir:
kullanılarak elde edilecek dizgi +f ve fonksiyon tanımları kullanılarak listelenebilir dizgi -f.
The özdevinimli_yükle komut (bu, dizgi -furan) tanımsız oluşturmak için kullanılabilir
işlevler: tanımsız bir işlev yürütüldüğünde, kabuk içinde belirtilen yolu arar.
fonksiyonla aynı ada sahip bir dosyanın FPATH parametresi, eğer bulunursa, okunur
ve idam edildi. Dosyayı yürüttükten sonra adlandırılmış işlevin tanımlandığı bulunursa,
işlev yürütülür; aksi takdirde normal komut araması devam eder (örn.
normal yerleşik komut tablosunu ve PATH'i arar). Bir komut bulunamazsa unutmayın
PATH kullanılarak, FPATH kullanılarak bir işlev otomatik olarak yüklenmeye çalışılır (bu, belgelenmemiş bir
orijinal Korn kabuğunun özelliği).

İşlevler, "izleme" ve "dışa aktarma" olmak üzere iki özniteliğe sahip olabilir. dizgi -ft
ve dizgi -fx, sırasıyla. İzlenen bir işlev yürütüldüğünde, kabuğun xtrace
seçeneği, işlevin süresi boyunca açılır. İşlevlerin "dışa aktarma" özelliği
şu anda kullanılmamaktadır. Orijinal Korn kabuğunda, dışa aktarılan işlevler kabuk tarafından görülebilir
yürütülen komut dosyaları.

Fonksiyonlar mevcut kabuk ortamında yürütüldüğünden, parametre atamaları yapılır.
işlev tamamlandıktan sonra iç işlevler görünür. İstenen bu değilse
etkisi, dizgi komut, yerel bir parametre oluşturmak için bir işlevin içinde kullanılabilir. Not
AT&T UNIX'in ksh93 statik kapsam kullanır (bir genel kapsam, işlev başına bir yerel kapsam)
ve yerel değişkenlere yalnızca Korn stili işlevlerde izin verir, oysa mksh dinamik kapsam kullanır
(değişen yerelliklerin iç içe geçmiş kapsamları). Özel parametrelerin (örn. $$, $!) olamaz
bu şekilde kapsamlandırılmıştır.

Bir işlevin çıkış durumu, işlevde yürütülen son komutun durumudur. A
kullanılarak hemen bitirmek için işlev yapılabilir. dönüş emretmek; bu da kullanılabilir
çıkış durumunu açıkça belirtmek için.

ile tanımlanan fonksiyonlar işlev ayrılmış kelime aşağıda farklı şekilde ele alınır
ile tanımlanan fonksiyonlardan yollar () notasyonu:

· $0 parametresi, fonksiyonun adına ayarlanır (Bourne tarzı fonksiyonlar $0 bırakır.
dokunulmamış).

· İşlev çağrılarından önceki parametre atamaları kabuk ortamında tutulmaz
(Bourne tarzı işlevleri yürütmek, atamaları tutacaktır).

· OPTIND, fonksiyona giriş ve çıkışta kaydedilir/sıfırlanır ve geri yüklenir, böylece Getopts olabilir
işlevin hem içinde hem de dışında düzgün bir şekilde kullanılır (Bourne tarzı işlevler OPTIND'den ayrılır
dokunulmamış, bu nedenle Getopts bir işlevin içinde kullanmaya müdahale eder Getopts dışında
işlevi).

· Kabuk seçenekleri (set -o) yerel kapsama sahip, yani bir işlevin içindeki değişiklikler,
onun çıkışı.

Gelecekte, aşağıdaki farklılıklar da eklenebilir:

· Fonksiyonların yürütülmesi sırasında ayrı bir tuzak/sinyal ortamı kullanılacaktır. Bu
bir fonksiyon içinde ayarlanan tuzakların, kabuğun tuzaklarını ve sinyallerini etkilemeyeceği anlamına gelir.
kabukta göz ardı edilmeyen (ancak kapana kısılmış olabilecek)
bir işlev.

· ÇIKIŞ tuzağı, bir işlevde ayarlanmışsa, işlev geri döndükten sonra yürütülür.

Komuta infaz
Komut satırı argümanlarının, yönlendirmelerin ve parametre atamalarının değerlendirilmesinden sonra,
komut türü belirlenir: özel bir yerleşik komut, bir işlev, normal bir yerleşik veya
PATH parametresi kullanılarak bulunan yürütülecek dosyanın adı. Kontroller yapılır
siparişin üstünde. Özel yerleşik komutlar, PATH'in diğer komutlardan farklıdır.
parametre onları bulmak için kullanılmaz, yürütme sırasındaki bir hata,
çıkmak için etkileşimli kabuk ve komuttan önce belirtilen parametre atamaları
komut tamamlandıktan sonra tutulur. Normal yerleşik komutlar yalnızca bu konuda farklıdır.
PATH parametresi onları bulmak için kullanılmaz.

Özgün ksh ve POSIX, komutların özel olarak kabul edildiği veya
Düzenli.

POSIX özel yerleşik yardımcı programları:

., :, kırılma, devam etmek, değerlendirme, exec, çıkış, ihracat, Sadece oku, dönüş, set, çalışma, zamanlar, tuzak,
ayarlanmazsa

Ek mksh atamaları tutan komutlar:

builtin, global, kaynak, dizgi, beklemek

Özel olmayan yerleşikler:

[, takma ad, bg, bağlamak, kedi, cd, komuta, kaçırmak, yanlış, fc, fg, Getopts, iş fırsatları, öldürmek, izin, baskı,
pwd, okumak, gerçek yol, adını değiştirmek, uyku, askıya almak, test, gerçek, ulimit, Umask, takma adlar, nereden

Komut türü belirlendikten sonra, herhangi bir komut satırı parametre ataması
komut süresince gerçekleştirilir ve dışa aktarılır.

Aşağıda özel ve düzenli yerleşik komutlar ve yerleşik benzeri ayrılmış komutlar açıklanmaktadır.
kelimeler:

. dosya [arg ...]
Buna "nokta" komutu denir. içindeki komutları yürütün dosya mevcut
Çevre. Dosya, PATH dizinlerinde aranır. argümanlar ise
verildiğinde, konumsal parametreler bunlara erişmek için kullanılabilir. dosya ediliyor
uygulanmış. Herhangi bir argüman verilmezse, konumsal parametreler aşağıdakilerinkilerdir:
komutun kullanıldığı ortam.

: [...]
Boş komut. Çıkış durumu sıfır olarak ayarlanmıştır.

[ ifade ]
Yerimizi test.

takma ad [-d | -t [-r] | +-x] [-p] [+] [isim [=değer] ...]
Argümanlar olmadan, takma ad tüm takma adları listeler. Değeri olmayan herhangi bir ad için,
mevcut takma ad listelenir. Değeri olan herhangi bir ad, bir takma ad tanımlar (bkz. Takma adlar
ile elde edilmiş).

Takma adlar listelenirken iki biçimden biri kullanılır. Normalde, takma adlar şu şekilde listelenir:
isim=değer, Burada değer alıntıdır. Seçeneklerden önce '+' veya yalnız bir '+' varsa
komut satırında verilir, yalnızca isim yazdırılır.

The -d seçenek, tilde genişletmede kullanılan dizin takma adlarının listelenmesine neden olur
veya ayarlayın (bkz. tilde genişleme ile elde edilmiş).

Eğer -p seçeneği kullanıldığında, her diğer adın önüne “alias” dizesi getirilir.

The -t seçeneği, izlenen takma adların listeleneceğini/ayarlanacağını belirtir (değerler
izlenen takma adlar için komut satırında yoksayılır). NS -r seçenek şunu gösterir
izlenen tüm takma adlar sıfırlanacak.

The -x seçenek kümeleri (+x bir takma adın dışa aktarma özniteliğini temizler) veya herhangi bir ad yoksa
verilen, dışa aktarma özniteliğine sahip takma adları listeler (bir takma adın dışa aktarılmasında
etki).

bg [ ...]
Belirtilen durdurulan işi/işleri arka planda devam ettirin. Hiçbir iş belirtilmemişse, %+
varsayılır. Görmek İş kontrol Daha fazla bilgi için aşağıda.

bağlamak [-l]
Geçerli bağlamalar listelenir. Eğer -l bayrak verilir, bağlamak bunun yerine listeler
tuşların bağlanabileceği işlevlerin adları. Görmek Emacs kurgu kip Daha fazla bilgi için
bilgiler.

bağlamak [-m] dizi=[vekil] ...
bağlamak dizi=[düzenleme komutu] ...
Belirtilen düzenleme komutu verilen komuta bağlıdır. dizi, şunlardan oluşmalıdır
isteğe bağlı olarak önünde iki önek karakterinden biri olan kontrol karakteri ve
isteğe bağlı olarak bir tilde karakteri ile başarılır. Gelecekteki girdi dizi neden olacaktır
hemen çağrılacak düzenleme komutu. Eğer -m bayrak verilir, belirtilen
giriş dizi daha sonra derhal verilen ile değiştirilecektir vekil dizi
düzenleme komutları içerebilir ancak diğer makroları içeremez. Bir tilde postfix ise
verilen, bir veya iki öncülü takip eden bir tilde ve kontrol karakteri yok sayılır,
diğer herhangi bir sondaki karakter daha sonra işlenecektir.

Kontrol karakterleri, şapka gösterimi kullanılarak yazılabilir, yani ^X, Ctrl-X'i temsil eder.
Yalnızca iki önek karakterinin (genellikle ESC ve ^X) desteklenmesine rağmen,
bazı çok karakterli diziler desteklenebilir.

Aşağıdaki varsayılan bağlamalar, ok tuşlarının, ana sayfa, bitiş ve silme tuşlarının nasıl olduğunu gösterir.
BSD'de wsvt25, xterm-xfree86 veya GNU ekran terminali bağlanır (elbette bazı
kaçış dizileri bu kadar iyi sonuç vermez):

bağla '^X'=önek-2
'^[['=önek-2'yi bağla
'^XA'=yukarı geçmişe bağla
bağlama '^XB'=aşağı geçmiş
bağlama '^XC'=ileri karakter
bağlama '^XD'=geri karakter
bağlama '^X1~'=satır başı
bağlama '^X7~'=satır başı
bağlama '^XH'=satır başı
bağlama '^X4~'=satır sonu
bağlama '^X8~'=satır sonu
bağla '^XF'=satır sonu
bağla '^X3~'=delete-char-forward

kırılma [seviye]
Çık seviyeen içteki için, seçmek, kadarya da süre döngü. seviye varsayılan olarak 1'dir.

builtin [--] komuta [arg ...]
Yerleşik komutu yürütün komuta.

kedi [-u] [dosya ...]
Dosyaları komut satırı sırasına göre sırayla okuyun ve standart çıktıya yazın.
Eğer bir dosya standart girdiden okunan tek bir çizgi ('-') veya yok. doğrudan için
yerleşik çağrılar, POSIX -u seçenek, işlemsiz olarak desteklenir. Kabuktan yapılan aramalar için, eğer
herhangi bir seçenek verilir, harici bir kedi(1) yardımcı program yerleşik yerine tercih edilir.

cd [-L] [dir]
cd -P [-e] [dir]
chdir [-eLP] [dir]
Çalışma dizinini şu şekilde ayarlayın: dir. CDPATH parametresi ayarlanmışsa,
içeren dizin için arama yolu dir. NULL yolu, geçerli olan anlamına gelir
dizin. Eğer dir dışındaki CDPATH arama yolunun herhangi bir bileşeninde bulunur.
NULL yolu, yeni çalışma dizininin adı standart çıktıya yazılacaktır.
If dir eksikse, HOME ana dizini kullanılır. Eğer dir '-', önceki
çalışma dizini kullanılır (OLDPWD parametresine bakın).

Eğer -L seçeneği (mantıksal yol) kullanılırsa veya fiziksel seçeneği ayarlı değil (bkz.
set aşağıdaki komut), içindeki '..' referansları dir ulaşmak için kullanılan yola göredir
Rehber. Eğer -P seçeneği (fiziksel yol) kullanılırsa veya fiziksel seçenektir
set, '..' dosya sistemi dizin ağacına göredir. PWD ve OLDPWD
parametreler mevcut ve eski çalışma dizinini yansıtacak şekilde güncellenir,
sırasıyla. Eğer -e seçenek, fiziksel dosya sistemi geçişi ve PWD için ayarlandı
ayarlanamadı, çıkış kodu 1'dir; 1'den büyük bir hata oluştuysa, 0
aksi takdirde.

cd [-eLP] eski yeni
chdir [-eLP] eski yeni
Dize yeni ile değiştirilir eski geçerli dizinde ve kabuk
yeni dizine geçmeyi dener.

komuta [-pVv] cmd [arg ...]
eğer hiçbiri -v ne de -V seçenek verilir, cmd tam olarak sanki yürütülür komuta vardı
iki istisna dışında belirtilmemiş: birincisi, cmd bir kabuk işlevi olamaz; ve
ikinci olarak, özel yerleşik komutlar uzmanlıklarını kaybederler (yani yeniden yönlendirme ve
yardımcı program hataları kabuğun çıkmasına neden olmaz ve komut atamaları
kalıcı).

Eğer -p seçeneği verildiğinde, geçerli değer yerine varsayılan bir arama yolu kullanılır
gerçek değeri sisteme bağlı olan PATH'nin.

Eğer -v yürütmek yerine seçenek verilir cmd, ne olacağı hakkında bilgi
yürütülür (ve aynısı için yapılır arg ...). Yerleşikler, işlevler ve
anahtar kelimeler, adları basitçe basılır; takma adlar için onları tanımlayan bir komut
basılı; PATH parametresi aranarak bulunan yardımcı programlar için,
komutu yazdırılır. Herhangi bir komut bulunamazsa (yani yol araması başarısız olursa), hiçbir şey
basılı ve komuta sıfır olmayan bir durumla çıkar. NS -V seçenek şuna benzer -v
seçeneği, ancak daha ayrıntılı olması dışında.

devam etmek [seviye]
Başlangıcına atlar seviyeen içteki için, seçmek, kadarya da süre döngü.
seviye varsayılan olarak 1'dir.

kaçırmak [-A] [arg ...]
Uyarı: bu yardımcı program taşınabilir değildir; Korn kabuğu yerleşikini kullanın baskı yerine.

Argümanlarını (boşluklarla ayrılmış) ardından yeni bir satırla standarda yazdırır
çıktı. Argümanlardan herhangi biri ters eğik çizgi içeriyorsa yeni satır bastırılır
'\c' dizisi. Bkz. baskı diğer ters eğik çizgi dizilerinin listesi için aşağıdaki komut
bunlar tanınır.

Seçenekler, BSD kabuk komut dosyalarıyla uyumluluk için sağlanmıştır. NS -n seçenek
sondaki yeni satırı bastırır, -e ters eğik çizgi yorumunu etkinleştirir (işlemsizdir, çünkü
bu normalde yapılır) ve -E ters eğik çizgi yorumunu bastırır.

Eğer posix or sh seçeneği ayarlanmış veya bu doğrudan yerleşik bir çağrıdır, yalnızca ilk
argüman bir seçenek olarak kabul edilir ve yalnızca tam olarak "-n”. ters eğik çizgi
yorumlama devre dışı.

değerlendirme komuta ...
Argümanlar, tek bir dize oluşturmak için (aralarında boşluklarla) birleştirilir
kabuğun daha sonra mevcut ortamda ayrıştırdığı ve yürüttüğü.

exec [-a argv0] [-c] [komuta [arg ...]]
Komut, kabuk işlemi yerine çatallanma olmadan yürütülür. Bu
şu anda mutlak, yani exec dönse bile asla geri dönmez. komuta bulunamadı. NS
-a seçenek, farklı bir argv[0] değeri ayarlamaya izin verir ve -c çevreyi temizler
_ değişkeni ve doğrudan atamalar dışında, alt işlemi yürütmeden önce.

G/Ç yeniden yönlendirmesi dışında herhangi bir komut verilmezse, G/Ç yeniden yönlendirmesi kalıcıdır.
ve kabuk değiştirilmez. Açılan 2'den büyük tüm dosya tanımlayıcıları
or dup(2)'d bu şekilde yürütülen diğer komutlar için kullanılamaz (örn.
kabukta yerleşik olmayan komutlar). Bourne kabuğunun farklı olduğuna dikkat edin
Burada; bu dosya tanımlayıcılarını iletir.

çıkış [durum]
Kabuk, belirtilen çıkış durumuyla çıkar. Eğer durum belirtilmemiş, çıkış
durum, mevcut değerdir $? parametre.

ihracat [-p] [parametre[=değer]]
Adlandırılmış parametrelerin dışa aktarma özniteliğini ayarlar. Dışa aktarılan parametreler iletilir
yürütülen komutların ortamı. Değerler belirtilirse, adlandırılmış parametreler
da atanır.

Hiçbir parametre belirtilmezse, dışa aktarma özniteliği setine sahip tüm parametreler
satır başına bir tane yazdırılır; adları veya seçenek harfi olmayan bir '-' varsa
belirtilen, ad=değer çiftleri veya ile -p, ihracat yeniden giriş için uygun komutlar.

yanlış Sıfır olmayan bir durumla çıkan bir komut.

fc [-e editör | -l [-n]] [-r] [ilk [son]]
ilk ve son geçmişten komutları seçin. Komutlar geçmişe göre seçilebilir
sayı (negatif sayılar geçerli, en son satırdan geriye gider) veya
bu dizeyle başlayan en son komutu belirten dize. NS -l seçenek
komutu standart çıktıda listeler ve -n varsayılan komut numaralarını engeller.
The -r seçeneği listenin sırasını tersine çevirir. Olmadan -l, seçilen komutlar
ile belirtilen editör tarafından düzenlenmiştir. -e seçeneği veya hayır ise -e belirtilir,
FCEDIT parametresi tarafından belirtilen düzenleyici (bu parametre ayarlanmadıysa, /bin/ed is
kullanılır) ve ardından kabuk tarafından yürütülür.

fc -e - | -s [-g] [eski=yeni] [önek]
Gerçekleştirdikten sonra seçilen komutu (varsayılan olarak önceki komut) yeniden yürütün
isteğe bağlı ikame eski ile yeni. Eğer -g belirtilir, tüm oluşumlar
eski ile değiştirildi yeni. Anlamı -e - ve -s aynıdır: yeniden yürütün
bir düzenleyici çağırmadan seçilen komut. Bu komuta genellikle şu şekilde erişilir:
önceden tanımlanmış: takma ad r='fc -e -'

fg [ ...]
Belirtilen işi/işleri ön planda sürdürün. Hiçbir iş belirtilmemişse, %+ is
varsayıldı. Görmek İş kontrol Daha fazla bilgi için aşağıda.

Getopts tercih dizisi isim [arg ...]
Belirtilen argümanları (veya konumsal parametreleri,
herhangi bir argüman verilmemişse) ve yasal seçenekleri kontrol etmek için. tercih dizisi içeren
seçenek harfleri Getopts tanımaktır. Bir harften sonra iki nokta üst üste geliyorsa,
seçeneğin bir argümanı olması bekleniyor. Argüman almayan seçenekler şunlar olabilir:
tek bir argümanda gruplandırılmıştır. Bir seçenek bir argüman alırsa ve seçenek
karakter, içinde bulunduğu argümanın son karakteri değil, geri kalanı
argüman seçeneğin argümanı olarak alınır; aksi takdirde, bir sonraki argüman
seçeneğin argümanı.

Her zaman Getopts çağrılır, sonraki seçeneği kabuk parametresine yerleştirir isim
ve sonraki çağrı tarafından işlenecek argümanın dizini Getopts içinde
kabuk parametresi OPTIND. Seçenek bir '+' ile sunulduysa, seçenek
in isim '+' önüne eklenir. Bir seçenek bir argüman gerektirdiğinde, Getopts yerler
OPTARG kabuk parametresinde.

Geçersiz bir seçenek veya eksik bir seçenek argümanıyla karşılaşıldığında, bir soru işareti
veya bir kolon yerleştirilir isim (geçersiz bir seçeneği veya eksik argümanı belirten,
sırasıyla) ve OPTARG, soruna neden olan seçenek karakterine ayarlanır.
Ayrıca, eğer tercih dizisi iki nokta üst üste ile başlamaz, soru işareti konur
isim, OPTARG ayarlanmaz ve standart hataya bir hata mesajı yazdırılır.

Seçeneklerin sonu ile karşılaşıldığında, Getopts sıfır olmayan bir çıkışla çıkar
durum. Seçenekler, başlamayan ilk (seçenek olmayan argüman) argümanda biter
'-' ile veya bir '--' argümanıyla karşılaşıldığında.

Seçenek ayrıştırma, OPTIND'i 1'e ayarlayarak sıfırlanabilir (bu otomatik olarak yapılır
kabuk veya kabuk prosedürü çağrıldığında).

Uyarı: OPTIND kabuk parametresinin değerini 1 dışında bir değerle değiştirmek veya
OPTIND'i sıfırlamadan farklı argüman kümelerini ayrıştırmak beklenmedik sonuçlara yol açabilir.
Sonuçlar.

global ...
Yerimizi dizgi.

esrar [-r] [isim ...]
Argümanlar olmadan, herhangi bir karma yürütülebilir komut yol adları listelenir. NS -r seçenek
tüm karma komutların karma tablosundan kaldırılmasına neden olur. Her biri isim aranır
sanki bir komut adıymış ve yürütülebilir bir dosyaysa karma tablosuna eklenmiş gibi
Komut.

iş fırsatları [-lnp] [ ...]
Belirtilen iş(ler) hakkındaki bilgileri görüntüleyin; hiçbir iş belirtilmemişse, tüm işler
görüntülenir. NS -n seçeneği, bilgilerin yalnızca aşağıdaki işler için görüntülenmesine neden olur.
son bildirimden bu yana durum değişti. Eğer -l seçeneği kullanılır,
bir işteki her işlemin işlem kimliği de listelenir. NS -p seçenek yalnızca neden olur
yazdırılacak her işin işlem grubu. Görmek İş kontrol formatı için aşağıda
ve görüntülenen iş.

öldürmek [-s imza | -işaret | -imza] { | pid | pgrp } ...
Belirtilen sinyali belirtilen işlere, işlem kimliklerine veya işlem gruplarına gönderin. Eğer
sinyal belirtilmez, TERM sinyali gönderilir. Bir iş belirtilirse, sinyal
işin süreç grubuna gönderilir. Görmek İş kontrol formatı için aşağıda .

öldürmek -l [çıkış durumu ...]
karşılık gelen sinyal adını yazdırın. çıkış durumu. Herhangi bir argüman belirtilmemişse, bir
tüm sinyallerin listesi, sayıları ve kısa açıklamaları yazdırılır.

izin [ifade ...]
Her ifade değerlendirilir (bkz. Aritmetik ifade üstünde). eğer tüm ifadeler
başarıyla değerlendirilir, son ifade değerlendirilirse çıkış durumu 0 (1) olur
sıfır olmayana (sıfır). Ayrıştırma veya değerlendirme sırasında bir hata oluşursa
ifade, çıkış durumu 1'den büyüktür. İfadelerin olması gerekebileceğinden
alıntı, (( İfade )) { let ' için sözdizimsel şekerdirİfade'; }.

İzin Vermek] için dahili olarak kullanılan takma ad izin.

mknod [-m kip] isim b|c büyük küçük
mknod [-m kip] isim p
Bir cihaz özel dosyası oluşturun. dosya türü olabilir b (blok tipi cihaz), c
(karakter tipi cihaz) veya p (adlandırılmış boru, FIFO). Oluşturulan dosya değiştirilebilir
ona göre kip (üzerinden -m seçenek), büyük (ana cihaz numarası) ve küçük
(küçük cihaz numarası). Bu normalde bir parçası değildir mksh; ancak, distribütörler
bunu bir hız kesmesi olarak yerleşik olarak ekledik.

baskı [-nprsu[n] | -R [-in]] [tartışma ...]
baskı argümanlarını standart çıktıya, boşluklarla ayırarak ve sonlandırılarak yazdırır
yeni bir satırla. NS -n seçeneği yeni satırı bastırır. Varsayılan olarak, belirli C kaçar
tercüme edilir. Bunlar, belirtilenleri içerir backslash genişleme yukarıda da
kullanmaya eşdeğer olan '\c' olarak -n seçenek. Ters eğik çizgi genişletme olabilir
ile engellendi -r seçeneği. -s seçeneği yerine geçmiş dosyasına yazdırır
standart çıktı; NS -u seçenek, dosya tanımlayıcısına yazdırır n (n varsayılan olarak 1 ise
atlanmıştır); ve -p seçeneği birlikte işleme yazdırır (bkz. ortak süreçler ile elde edilmiş).

The -R seçenek, bir dereceye kadar BSD'yi taklit etmek için kullanılır kaçırmak(1) yapan komut
olmadıkça '\' dizilerini işlemez. -e seçenek verilir. Yukarıdaki gibi, -n seçenek
sondaki yeni satırı bastırır.

printf biçim [argümanlar ...]
Biçimlendirilmiş çıktı. Yaklaşık olarak aynı printf(1), yardımcı program, kullandığı hariç
aynı backslash genişleme ve G/Ç kodudur ve kayan noktayı
kalan mksh. Yerleşik yerine harici bir yardımcı program tercih edilir. Bu değil
normalde parçası mksh; ancak, distribütörler bunu yerleşik olarak eklemiş olabilir.
hız hilesi. Yeni kodda kullanmayın.

pwd [-LP]
Mevcut çalışma dizinini yazdırın. Eğer -L seçeneği kullanılırsa veya fiziksel
seçeneği ayarlı değil (bkz. set aşağıdaki komut), mantıksal yol yazdırılır (örn.
kullanılan yol cd geçerli dizine). Eğer -P seçenek (fiziksel yol) kullanılır
veya eğer fiziksel seçeneği ayarlandığında, dosya sisteminden belirlenen yol (
kök dizine giden '..' dizinleri) yazdırılır.

okumak [-A | -a] [-d x] [-N z | -n z] [-p | -u[n]] [-t n] [-rs] [p ...]
Bir girdi satırı okur, IFS parametresini kullanarak girdiyi alanlara ayırır (bkz.
Ikame yukarıda) ve her alanı belirtilen parametrelere atar p. Eğer hayırsa
parametreler belirtilirse, sonucu saklamak için REPLY parametresi kullanılır. İle
-A ve -a seçenekleri, yalnızca hiçbir parametre veya bir parametre kabul edilmez. daha varsa
parametreler, alanlardan daha fazlaysa, ekstra parametreler boş dizeye veya 0'a ayarlanır; Eğer
parametrelerden daha fazla alan var, son parametreye kalan alan atanır
alanlar (kelime ayırıcılar dahil).

Seçenekler şunlardır:

-A Sonucu parametreye kaydedin p (veya REPLY) kelime dizisi olarak.

-a Sonucu parametreye bölmeden saklayın p (veya CEVAP) olarak
karakter dizisi (geniş karakterler utf8 modu seçenek yasalaştı,
aksi takdirde sekizli); kod noktaları varsayılan olarak ondalık sayılar olarak kodlanmıştır.

-d x ilk baytını kullan x, boşsa, ASCII satırsonu karakteri yerine NUL
giriş satırı sınırlayıcı olarak.

-N z Satır sonuna kadar okumak yerine, tam olarak okuyun z bayt. EOF veya bir
zaman aşımı meydana gelirse, çıkış durumu 1 ile kısmi bir okuma döndürülür.

-n z Satır sonuna kadar okumak yerine, sonuna kadar okuyun. z bayt ama en kısa sürede geri dön
herhangi bir bayt okunur, örneğin yavaş bir terminal cihazından veya EOF veya zaman aşımı durumunda
oluşur.

-p Şu anda etkin olan ortak süreçten okuyun, bkz. ortak süreçler ayrıntılar için yukarıda
bu konuda.

-u[n] Dosya tanıtıcısından oku n (varsayılan olarak 0, yani standart giriş). NS
argüman, seçenek karakterini hemen takip etmelidir.

-t n sonra okumayı kes n saniye (bir pozitif ondalık değer olarak belirtilir)
isteğe bağlı kesirli kısım). çıkış durumu okumak 1 ise zaman aşımı
oluştu, ancak kısmi okumalar yine de döndürülebilir.

-r Normalde, ASCII ters eğik çizgi karakteri, işaretin özel anlamından kaçar.
aşağıdaki karakter ve girişten çıkarılır; okumak ne zaman durmuyor
ters eğik çizgi yeni satır dizisiyle karşılaşıyor ve bu yeni satırı
sonuç. Bu seçenek, ters eğik çizgilerin olmadığı ham modu etkinleştirir.
işlenmiş.

-s Giriş satırı geçmişe kaydedilir.

Giriş bir terminal ise, her ikisi de -N ve -n seçenekler onu ham moda ayarlar; onlar
-1 olarak geçirilirse tüm dosyayı oku z argüman.

İlk parametrede bir soru işareti ve buna eklenmiş bir dize olabilir.
dizenin bir komut istemi olarak kullanılması durumunda (herhangi bir giriş yapılmadan önce standart hatayla yazdırılır)
oku) giriş bir ise tty(4) (örn. okumak nfoo?'sayı of foo: ').

Herhangi bir giriş okunmadıysa veya bir zaman aşımı meydana geldiyse, okumak sıfır olmayan bir durumla çıkar.

Başka bir kullanışlı numara: Eğer okumak gibi bir döngüde çalıştırılır süre okumak foo; do ...;
yapılmış ardından baştaki boşluklar kaldırılır (IFS) ve ters eğik çizgiler işlenir. Sen
kullanmak isteyebilir süre IFS= okumak -r foo; do ...; yapılmış bozulmamış G/Ç için. Benzer şekilde,
kullanırken -a seçeneği, kullanımı -r seçenek ihtiyatlı olabilir; aynısı geçerlidir
için:

bulmak . -type f -print0 |& \
IFS= read -d '' -pr dosya adı; yapmak
print -r -- "<${filename#./}> bulundu"
yapılmış

İç döngü bir alt kabukta yürütülecek ve değişken değişiklikler yapılamaz.
bir boru hattında yürütülürse yayılır:

çubuk | baz | foo okurken; yapmak ...; tamamlamak

Bunun yerine ortak süreçleri kullanın:

çubuk | baz |&
-p foo okunurken; yapmak ...; tamamlamak
yürütme 3>&p; yürütme 3>&-

Sadece oku [-p] [parametre [=değer] ...]
Adlandırılmış parametrelerin salt okunur özniteliğini ayarlar. değerler verilirse,
özniteliği ayarlamadan önce parametreler bunlara ayarlanır. Bir parametre yapıldıktan sonra
salt okunurdur, ayarlanamaz ve değeri değiştirilemez.

Hiçbir parametre belirtilmemişse, salt okunur olan tüm parametrelerin adları
öznitelik, satır başına bir tane yazdırılır, aksi takdirde -p seçeneği kullanılır, bu durumda
Sadece oku değerleri de dahil olmak üzere tüm salt okunur parametreleri tanımlayan komutlar
basılı.

gerçek yol [--] isim
Karşılık gelen çözümlenmiş mutlak yol adını yazdırır isim. Eğer isim ile biter
eğik çizgi ('/'), ayrıca varlığı ve bir dizin olup olmadığı kontrol edilir;
aksi takdirde, gerçek yol yol adı varsa veya oluşturulabilirse 0 döndürür
hemen, yani son bileşen hariç hepsi var ve dizinlerdir.

adını değiştirmek [--] itibaren için
Dosyayı yeniden adlandırır itibaren için için. Her ikisinin de tam yol adları olması ve aynı cihazda olması gerekir.
Bu yerleşik, aşağıdaki durumlarda acil durumlar için tasarlanmıştır: /bin/mv kullanılamaz hale gelir ve
doğrudan aramalar adını değiştirmek(2).

dönüş [durum]
Bir işlevden döndürür veya . komut dosyası, çıkış durumu ile durum. Eğer hayırsa durum verilmiş,
son yürütülen komutun çıkış durumu kullanılır. Bir işlevin dışında kullanılırsa
or . komut dosyası ile aynı etkiye sahiptir çıkış. Bunu not et mksh hem profili hem de
ENV dosyaları olarak . komut dosyaları, orijinal Korn kabuğu ise profilleri yalnızca .
komut.

set [+-abCefhiklmnprsUuvXx] [+-o seçenek] [+-A isim] [--] [arg ...]
The set komutu ayarlamak için kullanılabilir (-) veya temizle (+) kabuk seçenekleri, konumsal olarak ayarlayın
parametreleri veya bir dizi parametresi ayarlayın. Seçenekler kullanılarak değiştirilebilir +-o seçenek
sözdizimi, nerede seçenek bir seçeneğin uzun adıdır veya +-mektup sözdizimi,
nerede mektup seçeneğin tek harfli adıdır (tüm seçeneklerde tek harf yoktur
isim). Aşağıdaki tablo hem seçenek harflerini (varsa) hem de uzun adları listeler.
seçeneğin ne yaptığının bir açıklamasıyla birlikte:

-A isim
Dizi parametresinin öğelerini ayarlar isim için arg ... If -A Kullanılırsa,
dizi önce sıfırlanır (yani boşaltılır); Eğer +A kullanıldığında, ilk N eleman ayarlanır
(burada N, argüman sayısıdır); geri kalanı dokunulmadan bırakılır.

Komut için alternatif bir sözdizimi set -A foo -- a b c uyumlu olan
GNU darbe AT&T UNIX tarafından da desteklenir ksh93 olduğu: foo=(bir b C); foo+=(d e)

-a | -o tüm ihracat
Tüm yeni parametreler, dışa aktarma özniteliği ile oluşturulur.

-b | -o bildirmek
İş bildirim mesajlarını, bildirimden hemen önce değil, eşzamansız olarak yazdırın.
çabuk. Yalnızca iş denetimi etkinleştirildiğinde kullanılır (-m).

-C | -o noklobber
> Yeniden yönlendirmenin mevcut dosyaların üzerine yazmasını önleyin. Bunun yerine, >| kullanılmalı
üzerine yazmaya zorlamak için. Bunun oluşturulması için kullanmanın güvenli olmadığını unutmayın.
Birinin yeniden yönlendirmesine izin veren bir çekteki TOCTOU nedeniyle geçici dosyalar veya kilit dosyaları
çıktısı / Dev / null veya diğer cihaz dosyalarında bile noklobber modu.

-e | -o hata
Bir hata veya bir komut oluştuğunda (ERR tuzağını yürüttükten sonra) çıkın
başarısız olur (yani sıfır olmayan bir durumla çıkar). Bu komutlar için geçerli değildir
çıkış durumu, aşağıdaki gibi bir kabuk yapısı tarafından açıkça test edilen if, kadar,
süreya da ! ifadeler. İçin && veya ||, yalnızca son komutun durumu
test edildi.

-f | -o noglob
Dosya adı kalıplarını genişletmeyin.

-h | -o izleme
Yürütülen tüm komutlar için izlenen takma adlar oluşturun (bkz. Takma adlar üstünde). Etkinleştirilmiş
etkileşimli olmayan mermiler için varsayılan olarak.

-i | -o interaktif
Kabuk, etkileşimli bir kabuktur. Bu seçenek yalnızca kabuk
çağrılır. Bunun ne anlama geldiğinin açıklaması için yukarıya bakın.

-k | -o Anahtar kelime
Parametre atamaları bir komutta herhangi bir yerde tanınır.

-l | -o giriş
Kabuk bir oturum açma kabuğudur. Bu seçenek yalnızca kabuk
çağrılır. Bunun ne anlama geldiğinin açıklaması için yukarıya bakın.

-m | -o izlemek
İş kontrolünü etkinleştir (etkileşimli kabuklar için varsayılan).

-n | -o noexec
Herhangi bir komutu çalıştırmayın. Komut dosyalarının sözdizimini kontrol etmek için kullanışlıdır (yoksayılan
etkileşimli ise).

-p | -o ayrıcalıklı
Kabuk ayrıcalıklı bir kabuktur. Kabuk olduğunda, otomatik olarak ayarlanır
başlar, gerçek UID veya GID, etkin UID (EUID) veya GID ile eşleşmiyor
(EGID), sırasıyla. Bunun ne anlama geldiğinin açıklaması için yukarıya bakın.

-r | -o kısıtlı
Kabuk kısıtlı bir kabuktur. Bu seçenek yalnızca kabuk
çağrılır. Bunun ne anlama geldiğinin açıklaması için yukarıya bakın.

-s | -o stdin
Kabuk çağrıldığında kullanılırsa, komutlar standart girdiden okunur. Ayarlamak
kabuk bağımsız değişken olmadan çağrılırsa otomatik olarak.

Ne zaman -s ile kullanılır set komut, belirtilen argümanların olmasına neden olur
onları konumsal parametrelere (veya diziye) atamadan önce sıralanır. isim, Eğer
-A kullanıldı).

-U | -o utf8 modu
UTF-8 desteğini şurada etkinleştirin: Emacs kurgu kip ve dahili dize işleme
fonksiyonlar. Bu bayrak varsayılan olarak devre dışıdır, ancak ayarlanarak etkinleştirilebilir.
kabuk komut satırında; etkileşimli mermiler için otomatik olarak etkinleştirilir
derleme zamanında istenir, sisteminiz destekler yerel ayar(LC_CTYPE, "") Ve
isteğe bağlı nl_langinfo(KOD SETİ) veya LC_ALL, LC_CTYPE veya LANG ortamı
değişkenler ve bunlardan en az biri "UTF-8" ile eşleşen bir şey döndürür veya
“utf8” büyük/küçük harfe duyarsız; bağlı olarak doğrudan yerleşik aramalar için
bahsi geçen ortam değişkenleri; veya giriş varsa, stdin veya komut dosyaları için
UTF-8 Bayt Sipariş İşareti ile başlar.

Yakın gelecekte, yerel izleme uygulanacaktır, bu da şu anlama gelir: set -+Ü is
POSIX yerel ayarıyla ilgili ortam değişkenlerinden biri değiştiğinde değiştirilir.

-u | -o isim kümesi
“$@” veya “$*” dışında ayarlanmamış bir parametrenin referansı, bir
'-', '+' veya '=' değiştiricilerinden biri kullanılmadığı sürece hata.

-v | -o gereksiz sözlerle dolu
Kabuk girdisini okunduğu gibi standart hataya yazın.

-X | -o işaretler
Dosya adı oluşturma sırasında dizinleri sonunda bir '/' ile işaretleyin.

-x | -o xtrace
Komut ağaçlarını, çalıştırıldıklarında, PS4'ün değerinin önüne geçerek yazdırın.

-o güzel
Arka plan işleri daha düşük öncelikli olarak çalıştırılır.

-o ayraçgenişlet
Ayraç genişletmeyi etkinleştirin (diğer adıyla alternatif). Bu, varsayılan olarak etkindir. Eğer
devre dışı, eşittir işaretinden sonra tilde genişletmesi bir yan etki olarak devre dışı bırakılır.

-o emacs
BRL emacs benzeri komut satırı düzenlemesini etkinleştirin (yalnızca etkileşimli kabuklar); görmek Emacs
kurgu kip.

-o gmac'ler
gmacs benzeri komut satırı düzenlemesini etkinleştirin (yalnızca etkileşimli kabuklar). Şu anda
transpose-chars (^T) biraz hareket etmesi dışında emacs düzenleme ile aynı
farklı.

-o görmezden gelmek
Dosya sonu okunduğunda kabuk (kolayca) çıkmayacaktır; çıkış kullanılmalıdır.
Sonsuz döngülerden kaçınmak için, EOF arka arkaya 13 kez okunursa kabuk çıkacaktır.

-o miras-xtrace
sıfırlama -o xtrace fonksiyonları girdikten sonra. Bu, varsayılan olarak etkindir.

-o hayır
Bir oturum açma kabuğu çıktığında bir SIGHUP sinyaliyle çalışan işleri sonlandırmayın.
Şu anda varsayılan olarak ayarlanmıştır, ancak bu gelecekte uyumlu olacak şekilde değişebilir
AT&T UNIX ile ksh, bu seçeneğe sahip olmayan, ancak SIGHUP'ı gönderen
sinyali.

-o hayır
Etkisi yok. Orijinal Korn kabuğunda bu, işlev tanımlarının
geçmiş dosyasında saklanıyor.

-o fiziksel
neden olur cd ve pwd “fiziksel” (yani dosya sisteminin) '..' kullanma komutları
“mantıksal” dizinler yerine dizinler (yani, kabuk '..'
kullanıcının dizinlere olan sembolik bağlantılardan habersiz olmasına izin verir). Şuna göre temizle
varsayılan. Bu seçeneğin ayarlanmasının mevcut değeri etkilemediğini unutmayın.
PWD parametresi; sadece cd komut PWD'yi değiştirir. Bkz. cd ve pwd komutlar
daha fazla ayrıntı için yukarıda.

-o boru arızası
Bir boru hattının çıkış durumunu (mantıksal olarak tamamlamadan önce)
en sağdaki sıfır olmayan hata düzeyi veya tüm komutlar sıfırla çıktıysa sıfır.

-o posix
Standartlara daha yakın davranın (bkz. POSIX kip detaylar için). Otomatik olarak
kabuk çağırmanın temel adı “sh” ile başlıyorsa ve bu
otomatik algılama özelliği derlenir (MirBSD'de değil). Bir yan etki olarak, ayar
bu bayrak kapanır ayraçgenişlet manuel olarak tekrar açılabilen mod ve
sh modu (her ikisi de aynı anda etkinleştirilmediği sürece).

-o sh
etkinleştirme / Bin / sh (çöp) modu (bkz. SH kip). Otomatik olarak etkinleştirilirse
kabuk çağırmanın temel adı “sh” ile başlar ve bu otomatik algılama özelliği
(MirBSD'de değil) içinde derlenir. Bir yan etki olarak, bu bayrağın ayarlanması kapanır
ayraçgenişlet manuel olarak tekrar açılabilen mod ve posix modu (eğer
her ikisi de aynı anda etkinleştirilir).

-o vi
etkinleştirme vi(1) benzeri komut satırı düzenleme (yalnızca etkileşimli kabuklar). Görmek Vi
kurgu kip belgeler ve sınırlamalar için.

-o vi-esccomplete
vi komut satırı düzenlemede, kaçış (^[) sırasında komut ve dosya adı tamamlama yapın
komut moduna girilir.

-o vi-sekme tamamlama
vi komut satırı düzenlemede, sekme (^I) olduğunda komut ve dosya adı tamamlama yapın
ekleme moduna girildi. Bu varsayılandır.

-o virüs
Etkisi yok. Orijinal Korn kabuğunda, virüs ayarlandı, vi komutu-
hat modu izin verir tty(4) sürücü işi ESC (^[) girilene kadar yapar.
mksh her zaman viraw modundadır.

Bu seçenekler, kabuğun çağrılması üzerine de kullanılabilir. Şu anki set
seçenekler (tek harfli isimlerle) '$-' parametresinde bulunabilir. set -o ile
hiçbir seçenek adı tüm seçenekleri ve her birinin açık mı yoksa kapalı mı olduğunu listelemez; set +o irade
o anda açık olan tüm seçeneklerin uzun adlarını yazdırın. Gelecekteki bir sürümde, set
+o POSIX uyumlu davranır ve mevcut seçenekleri geri yüklemek için komutları yazdırır
yerine.

Varsa, kalan argümanlar konumsal parametrelerdir ve sırasıyla aşağıdakilere atanır:
konumsal parametreler (yani $1, $2, vb.). Seçenekler '--' ile bitiyorsa ve orada
kalan argüman yok, tüm konumsal parametreler temizlendi. Seçenek yoksa veya
argümanlar verilir, tüm isimlerin değerleri yazdırılır. Bilinmeyen tarihi için
nedenlerle, yalnız bir '-' seçeneği özel olarak ele alınır - hem -v ve -x
seçenekleri.

çalışma [numara]
konumsal parametreler numara+ 1, numara+2, vb. '1', '2' vb. olarak yeniden adlandırılır.
numara varsayılan olarak 1'dir.

uyku saniye
Yürütmeyi en az süre boyunca askıya alır saniye pozitif ondalık değer olarak belirtildi
isteğe bağlı bir kesirli parça ile. Sinyal iletimi daha önce yürütmeye devam edebilir.

kaynak dosya [arg ...]
Facebok sayfasını beğenin : . (“nokta”), geçerli çalışma dizininin aramaya eklenmesi dışında
yol (GNU darbe eklenti).

askıya almak
Kabuğu, terminalden askıya alma karakterini almış gibi durdurur. Bu
ana süreç bir üye olmadığı sürece bir oturum açma kabuğunu askıya almak mümkün değildir.
aynı terminal oturumu ancak farklı bir süreç grubunun üyesidir. genel olarak
kural, kabuk başka bir kabuk tarafından veya aracılığıyla başlatıldıysa su(1), askıya alınabilir.

test ifade
[ ifade ]
test değerlendirir ifade ve doğruysa sıfır, yanlışsa 1 veya daha büyükse durum döndürür
bir hata varsa 1'den fazla. Normalde koşul komutu olarak kullanılır. if ve
süre ifadeler. Sembolik bağlantılar herkes için izlenir dosya dışında ifadeler -h ve
-L.

Aşağıdaki temel ifadeler mevcuttur:

-a dosya dosya bulunmaktadır.

-b dosya dosya blok özel bir cihazdır.

-c dosya dosya bir karakter özel cihazıdır.

-d dosya dosya bir dizindir.

-e dosya dosya bulunmaktadır.

-f dosya dosya normal bir dosyadır.

-G dosya dosya' grubu, kabuğun etkin grup kimliğidir.

-g dosya dosyakipi setgid bit setine sahiptir.

-H dosya dosya bağlama bağlı bir dizindir (yalnızca HP-UX'te kullanışlıdır).

-h dosya dosya sembolik bir bağdır.

-k dosya dosya' modu var yapışkan(8) bit seti.

-L dosya dosya sembolik bir bağdır.

-O dosya dosya'nin sahibi, kabuğun etkin kullanıcı kimliğidir.

-o seçenek Kabuk seçenek ayarlanır (bkz. set listesi için yukarıdaki komut
seçenekler). Standart olmayan bir uzantı olarak, seçenek şununla başlıyorsa:
bir '!', test reddedilir; test her zaman başarısız olursa seçenek
mevcut değil (bu nedenle [ -o foo -o -o !foo ] yalnızca ve sadece true değerini döndürür
eğer seçenek foo var). Aynısı [ -o ?foo ] ile de elde edilebilir.
AT&T UNIX'teki gibi ksh93. seçenek tarafından yönetilen kısa bayrak da olabilir
'-' veya '+' (mantıksal olumsuzlama yok), örneğin '-x' veya '+x'
'xtrace' yerine.

-p dosya dosya adlandırılmış bir kanaldır (FIFO).

-r dosya dosya var ve okunabilir durumda.

-S dosya dosya bir unix(4)-alan soketi.

-s dosya dosya boş değil.

-t fd Dosya tanımlayıcı fd bir tty(4) cihaz.

-u dosya dosya' modu setuid bit setine sahiptir.

-w dosya dosya var ve yazılabilir.

-x dosya dosya var ve yürütülebilir.

file1 -Nt file2 file1 daha yeni file2 or file1 var ve file2 değil.

file1 Ot file2 file1 daha yaşlı file2 or file2 var ve file1 değil.

file1 -eğer file2 file1 ile aynı dosyadır file2.

dizi dizi sıfır olmayan bir uzunluğa sahiptir.

-n dizi dizi boş değil.

-z dizi dizi boş.

dizi = dizi Dizeler eşittir.

dizi == dizi Dizeler eşittir.

dizi > dizi İlk dize işleneni, ikinci dize işleneninden daha büyük.

dizi < dizi İlk dize işleneni, ikinci dize işleneninden daha küçük.

dizi != dizi Dizeler eşit değildir.

numara -eşit numara Sayılar eşit olarak karşılaştırılır.

numara -ne numara Rakamlar eşit değil karşılaştırın.

numara -ge numara Sayılar, daha büyük veya eşit olarak karşılaştırılır.

numara -gt numara Rakamlar daha büyük karşılaştırır.

numara Onları numara Sayılar daha küçük veya eşit olarak karşılaştırılır.

numara -Bu numara Rakamlar daha az karşılaştırır.

Tekli operatörlerin ikiliye göre önceliğe sahip olduğu yukarıdaki temel ifadeler
operatörler, aşağıdaki operatörlerle birleştirilebilir (artan sırayla listelenmiştir)
öncelik):

ifade -o ifade Mantıksal VEYA.
ifade -a ifade Mantıksal VE.
! ifade Mantıksal DEĞİL.
( ifade ) Gruplama.

Bir sayının aslında matematiksel bir ifade gibi aritmetik bir ifade olabileceğini unutmayın.
bir tamsayı değişkeninin terimi veya adı:

x=1; [ "x" -eq 1 ] true olarak değerlendirilir

sayısı varsa bazı özel kuralların uygulandığını unutmayın (POSIX'in izniyle).
argümanlar test veya parantez içinde [ ... ] beşten az: eğer '!'
argümanlar, yalnızca bir ila üç argüman kalacak şekilde çıkarılabilir, sonra
alçaltılmış karşılaştırma yürütülür; (XSI sayesinde) parantezler \( ... \) alt dört ve
sırasıyla üç argümanlı formlardan iki ve bir argümanlı formlara; üç argüman
formlar nihayetinde ikili işlemleri tercih eder, ardından olumsuzlama ve parantez
düşürme; iki ve dört argümanlı formlar, olumsuzlamayı ve ardından parantezleri tercih eder; NS
tek argüman formu her zaman ima eder -n.

not: Yaygın bir hata, “foo” parametresi durumunda başarısız olan “if [ $foo = bar ]” kullanmaktır.
NULL veya ayarlanmamış, gömülü boşlukları varsa (yani IFS sekizlileri) veya tekli ise
operatör gibi '!' veya '-n'. Bunun yerine “if [ x"$foo" = x"bar" ]” gibi testler kullanın veya
çift ​​parantez operatörü “if [[ $foo = bar ]]” veya, desen eşleşmesini önlemek için (bkz. [[
yukarıda): “if [[ $foo = "$bar" ]]”

The [[ ... ]] yapı yalnızca kullanımı daha güvenli değil, aynı zamanda genellikle daha hızlıdır.

zaman [-p] [boru hattı]
Eğer bir boru hattı verildiğinde, boru hattını yürütmek için kullanılan zamanlar rapor edilir. Eğer hayırsa
ardışık düzen verilir, ardından kabuğun kendisi tarafından kullanılan kullanıcı ve sistem zamanı ve tümü
başlatıldığından beri çalıştırdığı komutlar raporlanır. Bildirilen zamanlar
gerçek zaman (baştan sona geçen süre), kullanıcı CPU zamanı (harcanan zaman)
kullanıcı modunda çalışma) ve sistem CPU zamanı (çekirdek modunda çalışma süresi).
Süreler standart hataya bildirilir; çıktının formatı:

0m0.00s gerçek 0m0.00s kullanıcı 0m0.00s sistemi

Eğer -p seçenek verildiğinde çıktı biraz daha uzundur:

gerçek 0.00
kullanıcı 0.00
sistem 0.00

belirtmek bir hatadır. -p seçenek olmadıkça boru hattı basit bir komuttur.

Standart hatanın basit yeniden yönlendirmeleri, çıktıyı etkilemez. zaman komut:

$ time uyku 1 2>afile
$ { zaman uyku 1; } 2>bir dosya

İlk komutun süreleri “afile” ye gitmez, ancak ikinci komutunkiler yapar.

zamanlar Hem kabuk hem de süreçler tarafından kullanılan birikmiş kullanıcı ve sistem sürelerini yazdırın
Çıkmış olan kabuğun başladığını. Çıktının formatı şudur:

0dk0.00s 0dk0.00s
0dk0.00s 0dk0.00s

tuzak n [işaret ...]
İlk işlenen ondalık işaretsiz bir tam sayıysa, bu, belirtilen tüm sinyalleri sıfırlar.
varsayılan eyleme, yani çağırmakla aynı tuzak eksi işareti ('-') ile
işleyicisi, ardından argümanlar (n [işaret ...]), tümü olarak kabul edilir
sinyalleri.

tuzak [işleyicisi işaret ...]
Belirtilenlerden herhangi biri gerçekleştiğinde yürütülecek bir tuzak işleyicisi ayarlar. işarets
Alınan. işleyicisi sinyallerin olacağını belirten boş bir dizedir
yoksayılır, bir eksi işareti ('-'), için varsayılan eylemin gerçekleştirileceğini gösterir.
sinyaller (bkz. işaret(3)) veya yürütülecek kabuk komutlarını içeren bir dize
ilk fırsat (yani, geçerli komut tamamlandığında veya yazdırmadan önce)
Bir sonraki PS1 istemi) sinyallerden birinin alınmasından sonra. işaret bir adı
sinyali (örn. BORU veya ALRM) veya sinyalin numarası (bkz. öldürmek -l komuta
ile elde edilmiş).

İki özel sinyal vardır: ÇIKIŞ (0 olarak da bilinir),
kabuk çıkmak üzere ve bir hata oluştuktan sonra yürütülen ERR; bir hata
eğer kabuğun çıkmasına neden olacak bir şey set -e or set -o hata seçenek
ayarlanmıştı. EXIT işleyicileri, son yürütülen ortamın ortamında yürütülür.
Komut.

Etkileşimli olmayan mermiler için tuzak işleyicinin sinyaller için değiştirilemeyeceğini unutmayın.
kabuk başladığında bunlar göz ardı edildi.

Argüman olmadan, kabuktan bu yana kurulan tuzakların mevcut durumu
başladı bir dizi olarak gösterilir tuzak komutlar. çıktısına dikkat edin tuzak yapamam
başka bir sürece faydalı bir şekilde yönlendirilebilir (tuzakların temizlendiği gerçeğinin bir eseridir)
alt süreçler oluşturulduğunda).

Orijinal Korn kabuğunun DEBUG tuzağı ve ERR ve EXIT tuzaklarının
fonksiyonlar henüz uygulanmadı.

gerçek Sıfır değeriyle çıkan bir komut.

global [[+-alpnrtUux] [-L[n]] [-R[n]] [-Z[n]] [-i[n]] | -f [-smokin]] [isim [=değer] ...]
dizgi [[+-alpnrtUux] [-LRZ[n]] [-i[n]] | -f [-smokin]] [isim [=değer] ...]
Parametre özelliklerini görüntüleyin veya ayarlayın. hayır ile isim argümanlar, parametre özellikleri
görüntülenir; hiçbir seçenek kullanılmazsa, tüm parametrelerin geçerli öznitelikleri
olarak basılmış dizgi komutlar; bir seçenek verilmişse (veya seçenek harfi olmadan '-'),
tüm parametreler ve belirtilen niteliklere sahip değerleri yazdırılır; eğer seçenekler
'+' ile tanıtılırsa, parametre değerleri yazdırılmaz.

If isim argümanlar verilir, adlandırılmış parametrelerin öznitelikleri ayarlanır (-) Veya
temizlendi (+). Parametre değerleri isteğe bağlı olarak belirtilebilir. İçin isim[*], NS
change tüm diziyi etkiler ve hiçbir değer belirtilemez.

If dizgi bir fonksiyon içinde kullanılırsa, belirtilen parametreler yerelleştirilir. Bu
aksi takdirde özdeş tarafından yapılmaz global. not: Bunun anlamı şudur ki mksh 's global
komut değil izin vermediğinden diğer programlama dillerine eşdeğerdir.
gerçekten global kapsamda bir parametreye erişmek için başka bir işlevden çağrılan işlev,
ancak yalnızca erişilen bir tanesinin yerel kapsama alınmasını engeller.

Ne zaman -f kullanıldı, dizgi fonksiyonların öznitelikleri üzerinde çalışır. olduğu gibi
parametreler, hayır ise isim argümanlar verilir, fonksiyonlar değerleri ile listelenir
(yani tanımlar) seçenekler '+' ile sunulmadıkça, bu durumda yalnızca
fonksiyon isimleri rapor edilir.

-a Dizine alınmış dizi özniteliği.

-f İşlev modu. yerine işlevleri ve niteliklerini görüntüleyin veya ayarlayın.
parametreleri.

-i[n] Tamsayı özniteliği. n tamsayıyı görüntülerken kullanılacak tabanı belirtir
(belirtilmemişse, ilk atamada verilen taban kullanılır).
Bu özelliğe sahip parametrelere aritmetik içeren değerler atanabilir.
ifade.

-L[n] Sola yaslama özelliği. n alan genişliğini belirtir. Eğer n belirtilmemiş,
bir parametrenin mevcut genişliği (veya ilk atanan değerinin genişliği)
kullanıldı. Baştaki boşluk (ve -Z seçenek)
soyulmuş. Gerekirse, değerler kesilir veya sığacak şekilde boşluk doldurulur
alan genişliği.

-l Küçük harf özelliği. Değerlerdeki tüm büyük harf karakterleri dönüştürülür
küçük harf. (Orijinal Korn kabuğunda bu parametre "uzun tamsayı" anlamına geliyordu.
ile kullanıldığında -i seçeneği.)

-n Bağlı bir değişken oluşturun (ad referansı): değişkene herhangi bir erişim isim
değişkene erişecek değer mevcut kapsamda (bu farklı
AT&T UNIX'i ksh93!) Bunun yerine. AT&T UNIX'ten de farklıdır ksh93 ki
değer o zaman tembelce değerlendirilir isim erişilir. Bu tarafından kullanılabilir
yerine adları parametre olarak geçirilen değişkenlere erişme işlevleri
kullanmanın değerlendirme.

-p Baskı tamamlandı dizgi nitelikleri yeniden oluşturmak için kullanılabilecek komutlar
ve parametre değerleri.

-R[n] Sağ yaslama niteliği. n alan genişliğini belirtir. Eğer n değil
belirtilen, bir parametrenin geçerli genişliği (veya ilk genişliğinin genişliği)
atanan değer) kullanılır. Sondaki boşluk kaldırılır. Eğer gerekliyse,
değerler ya baştaki karakterlerden çıkarılır ya da bunları yapmak için boşluk bırakılır
alan genişliğine sığdırın.

-r Salt okunur öznitelik. Bu özniteliğe sahip parametreler atanamaz
veya ayarlanmamış. Bu öznitelik ayarlandıktan sonra kapatılamaz.

-t Etiket özelliği. Kabuk için hiçbir anlamı yoktur; uygulama kullanımı için sağlanmıştır.

Fonksiyonlar için, -t iz özniteliğidir. izleme ile işlev gördüğünde
öznitelik yürütülür, xtrace (-x) kabuk seçeneği geçici olarak döndürüldü
üzerine.

-U İşaretsiz tamsayı özniteliği. Tamsayılar işaretsiz değerler olarak yazdırılır (birleştir
ile -i seçenek). Bu seçenek orijinal Korn kabuğunda yoktur.

-u Büyük harf özelliği. Değerlerdeki tüm küçük harf karakterleri dönüştürülür
büyük harf. (Orijinal Korn kabuğunda bu parametre "imzasız" anlamına geliyordu.
tamsayı” ile kullanıldığında -i büyük harf anlamına gelen seçenek
10'dan büyük bazlar için asla kullanılmamalıdır. -U seçeneği.)

Fonksiyonlar için, -u tanımsız özniteliktir. Görmek fonksiyonlar için yukarıda
bunun etkileri.

-x Özelliği dışa aktar. Parametreler (veya işlevler) ortamına yerleştirilir.
yürütülen herhangi bir komut. Dışa aktarılan işlevler henüz uygulanmadı.

-Z[n] Sıfır doldurma özelliği. ile birleştirilmezse -L, bu aynı -R, dışında
boşluk dolgusu yerine sıfır dolgu kullanılır. Tamsayılar için sayı
taban yerine yastıklı.

Eğer herhangi biri -i, -L, -l, -R, -U, -uya da -Z seçenekler değiştirilir, diğerleri bundan
set, aynı komut satırında verilmediği sürece temizlenir.

ulimit [-aBCcdefHilMmnOPpqrSsTtVvw] [değer]
İşlem limitlerini görüntüleyin veya ayarlayın. Hiçbir seçenek kullanılmazsa, dosya boyutu sınırı (-f) 'dir
varsayıldı. değer, belirtilmişse, aritmetik bir ifade veya kelime olabilir
"sınırsız". Sınırlar, kabuğu ve kabuk tarafından oluşturulan tüm işlemleri etkiler.
bir sınır koyulduktan sonra. Bazı sistemlerin sınırların belirlenmesine izin vermeyebileceğini unutmayın.
ayarlandıktan sonra artar. Ayrıca, mevcut limit türlerinin sistem olduğuna dikkat edin.
bağımlı – bazı sistemlerde yalnızca -f sınırı.

-a Tüm limitleri göster; Meğer ki -H kullanıldığında, yumuşak limitler görüntülenir.

-B n Soket arabellek boyutunu şuna ayarlayın: n kibibayt.

-C n Önbelleğe alınmış iş parçacığı sayısını şuna ayarlayın: n.

-c n Bir boyut sınırı uygulayın n çekirdek dökümlerinin boyutundaki bloklar.

-d n Bir boyut sınırı uygulayın n veri alanının boyutunda kibibayt.

-e n Maksimum nezaketi şuna ayarlayın: n.

-f n Bir boyut sınırı uygulayın n kabuk ve alt öğesi tarafından yazılan dosyalardaki bloklar
işlemler (her boyuttaki dosyalar okunabilir).

-H Yalnızca sabit sınırı ayarlayın (varsayılan, hem sabit hem de yumuşak sınırlar ayarlamaktır).

-i n Bekleyen sinyallerin sayısını şu şekilde ayarlayın: n.

-l n bir sınır koymak n kilitli (kablolu) fiziksel bellek miktarında kibibayt.

-M n AIO kilitli belleği şu şekilde ayarlayın: n kibibayt.

-m n bir sınır koymak n kullanılan fiziksel bellek miktarında kibibayt.

-n n bir sınır koymak n aynı anda açılabilen dosya tanımlayıcıları.

-O n AIO işlemlerinin sayısını şu şekilde ayarlayın: n.

-P n İşlem başına iş parçacığı sayısını sınırlayın n.

-p n bir sınır koymak n Kullanıcı tarafından herhangi bir zamanda çalıştırılabilen işlemler.

-q n POSIX mesaj kuyruklarının boyutunu şu şekilde sınırlayın: n bayt.

-r n Maksimum gerçek zamanlı önceliği şuna ayarlayın: n.

-S Yalnızca yumuşak limiti ayarlayın (varsayılan, hem sabit hem de yumuşak limitleri ayarlamaktır).

-s n Bir boyut sınırı uygulayın n yığın alanının boyutundaki kibibaytlar.

-T n için bir zaman sınırı koyun n her işlem tarafından kullanılacak gerçek saniye.

-t n için bir zaman sınırı koyun n Her biri tarafından kullanılmak üzere kullanıcı modunda harcanan CPU saniyesi
proses.

-V n Haiku'daki vnode monitörlerinin sayısını şu şekilde ayarlayın: n.

-v n bir sınır koymak n sanal bellek miktarındaki kibibaytlar (adres alanı)
Kullanılmış.

-w n bir sınır koymak n kullanılan takas alanı miktarında kibibayt.

Kadarıyla ulimit söz konusu olduğunda, bir blok 512 bayttır.

Umask [-S] [maske]
Dosya izni oluşturma maskesini veya umask'ı görüntüleyin veya ayarlayın (bkz. Umask(2)). Eğer -S
seçeneği kullanıldığında, görüntülenen veya ayarlanan maske semboliktir; aksi takdirde, bir sekizli
numarası.

Sembolik maskeler, kullanılanlar gibidir. chmod(1). Kullanıldığında, ne olduğunu açıklarlar.
izinler kullanılabilir hale getirilebilir (bir set bitin şu anlama geldiği sekizlik maskelerin aksine)
karşılık gelen bit temizlenecektir). Örneğin, "ug=rwx,o=", maskeyi şu şekilde ayarlar:
dosyalar "diğerleri" tarafından okunamaz, yazılamaz veya yürütülemez ve eşdeğerdir
(çoğu sistemde) "007" sekizli maskesine.

takma adlar [-adt] [isim ...]
Verilen adlar için takma adlar kaldırılır. Eğer -a seçenek kullanılır, tüm takma adlar
Kaldırıldı. Eğer -t or -d seçenekler kullanılır, belirtilen işlemler yapılır
sırasıyla izlenen veya dizin takma adlarında.

ayarlanmazsa [-fv] parametre ...
Adlandırılmış parametrelerin ayarını kaldırın (-v, varsayılan) veya işlevler (-f). İle parametre[*],
nitelikler korunur, yalnızca değerler ayarlanmaz.

Parametrelerden herhangi biri salt okunur özniteliğe sahipse çıkış durumu sıfır değildir
ayarlayın, aksi takdirde sıfır.

beklemek [ ...]
Belirtilen iş(ler)in bitmesini bekleyin. çıkış durumu beklemek sonuncusu mu
belirtilen iş; son iş bir sinyal tarafından öldürülürse, çıkış durumu 128 +
sinyal numarası (bkz. öldürmek -l çıkış durumu üstünde); son belirtilen iş yapamazsa
bulunması (çünkü hiç var olmadı veya zaten bitmedi), çıkış durumu beklemek
127. Bkz. İş kontrol formatı için aşağıda . beklemek bir sinyal olursa geri döner
tuzak kurulmuşsa veya bir SIGHUP, SIGINT veya SIGQUIT sinyali alınırsa
alındı.

Hiçbir iş belirtilmemişse, beklemek çalışmakta olan tüm işlerin (varsa) çalışmasını bekler.
bitirir ve sıfır durumuyla çıkar. İş izleme etkinleştirilirse, tamamlama
işlerin durumu yazdırılır (işler açıkça belirtildiğinde durum böyle değildir).

nereden [-pv] [isim ...]
Olmadan -v seçenek, aynı komuta -v, takma adların yazdırılmaması dışında
takma ad komutu olarak. İle -v seçenek, tam olarak aynı komuta -V. içinde
her iki durumda da -p seçenek farklıdır: arama yolu bundan etkilenmez nereden, fakat
arama yol ile sınırlıdır.

İş kontrol
İş kontrolü, kabuğun süreçler veya işler olan işleri izleme ve kontrol etme yeteneğini ifade eder.
komutlar veya işlem hatları için oluşturulan işlem grupları. En azından, kabuk takip eder
halihazırda var olan arka plandaki (yani asenkron) işlerin durumu; Bugün nasılsın
bilgileri kullanılarak görüntülenebilir. iş fırsatları komutlar. İş denetimi tamamen etkinleştirilmişse
(kullanarak set -m or set -o izlemek), etkileşimli kabuklar için olduğu gibi, bir işin süreçleri
kendi süreç grubuna yerleştirilir. Suspend yazılarak ön plan işleri durdurulabilir.
terminalden karakter (normalde ^Z), işler ön planda veya
kullanarak arka plan fg ve bg komutlar ve terminalin durumu kaydedilir veya geri yüklenir
bir ön plan işi sırasıyla durdurulduğunda veya yeniden başlatıldığında.

Yalnızca süreçleri oluşturan komutların (örneğin, eşzamansız komutlar, alt kabuk
komutlar ve yerleşik olmayan, işlevsiz komutlar) durdurulabilir; gibi komutlar okumak yapamam
olmak.

Bir iş oluşturulduğunda, ona bir iş numarası atanır. Etkileşimli mermiler için bu sayı
“[..]” içinde yazdırılır, ardından bir
asenkron komut çalıştırılır. Bir işe atıfta bulunulabilir bg, fg, iş fırsatları, öldürmek, ve beklemek
komut hattındaki son işlemin işlem kimliğine göre komutlar (içinde depolandığı gibi)
the $! parametre) veya iş numarasının önüne bir yüzde işareti ('%') koyarak. diğer yüzde
diziler ayrıca işlere atıfta bulunmak için de kullanılabilir:

%+ | %% | % En son durdurulan iş veya durdurulan iş yoksa, en eski
çalışan iş.

%- Olacak iş %+ ikincisi mevcut değilse iş.

%n İş numarası ile iş n.

%?dizi Dizeyi içeren komutuyla iş dizi (eğer bir hata oluşursa
birden fazla iş eşleştirilir).

%dizi Dize ile başlayan komutuyla iş dizi (eğer bir hata oluşursa
birden fazla iş eşleştirilir).

Bir iş durumu değiştirdiğinde (örneğin bir arka plan işi bittiğinde veya ön plan işi durdurulduğunda),
kabuk aşağıdaki durum bilgilerini yazdırır:

[numara] bayrak durum komuta

nerede ...

numara işin iş numarasıdır;

bayrak iş ise '+' veya '-' karakteridir. %+ or %- sırasıyla iş veya boşluk
ikisi de değilse;

durum işin mevcut durumunu gösterir ve şunlar olabilir:

Tamamlandı [numara]
İş çıktı. numara atlanan işin çıkış durumudur
durum sıfır ise.

Çalıştırılıyor İş ne durduruldu ne de çıkıldı (koşmanın
mutlaka CPU zamanını tüketmek anlamına gelir - süreç engellenebilir
bir olay için bekliyorum).

Durduruldu [işaret]
İş belirtilen tarafından durduruldu işaret (Sinyal verilmezse,
iş SIGTSTP tarafından durduruldu).

sinyal açıklaması [“çekirdek döküldü”]
İş bir sinyal tarafından sonlandırıldı (örn. bellek hatası, kapatma); kullanmak öldürmek -l
sinyal açıklamalarının bir listesi için. "Çekirdek boşaltıldı" mesajı şunu gösterir:
süreç bir çekirdek dosya oluşturdu.

komuta işlemi oluşturan komuttur. Birden fazla işlem varsa
iş, her işlemin kendi durumunu gösteren bir çizgisi olacaktır. komuta ve muhtemelen onun durum, Eğer
önceki işlemin durumundan farklıdır.

Durdurulmuş durumda işler varken kabuktan çıkmak için bir girişimde bulunulduğunda,
kabuk, kullanıcıyı durdurulan işler olduğu konusunda uyarır ve çıkış yapmaz. başka bir girişim ise
hemen kabuktan çıkmak için yapılır, durdurulan işler bir SIGHUP sinyali gönderilir ve kabuk
çıkışlar. Benzer şekilde, eğer hayır seçenek ayarlanmadı ve bir deneme yapıldığında çalışan işler var.
oturum açma kabuğundan çıkmak için yapılırsa, kabuk kullanıcıyı uyarır ve çıkmaz. eğer başka
hemen kabuktan çıkma girişiminde bulunulur, çalışan işler bir SIGHUP sinyali gönderilir ve
kabuk çıkar.

POSIX kip
Girme set -o posix mod neden olur mksh yerlerde daha da POSIX uyumlu davranmak
varsayılanların veya görüşlerin farklı olduğu yerlerde. Bunu not et mksh hala imzasız olarak çalışacak
32 bit aritmetik; kullanmak lksh ana bilgisayarda aritmetik varsa ve kazandırdı veri türü, ISO C ile tamamlandı
Tanımsız Davranış, gerekli; bakın lksh(1) ayrıntılar için kılavuz sayfası. Diğerlerinin çoğu
tarihi, AT&T UNIX ksh-uyumlu veya düşünülmüş farklılıklar bu kullanılarak devre dışı bırakılabilir.
mod; bunlar:

· GNU darbe G / Ç yönlendirmesi &>dosya artık desteklenmiyor.

· G/Ç yönlendirmeleri tarafından oluşturulan dosya tanımlayıcıları, alt süreçler tarafından devralınır.

· Başında sıfır olan sayılar sekizli olarak yorumlanır.

· The kaçırmak yerleşik ters eğik çizgileri yorumlamaz ve yalnızca tam seçeneğini destekler “-n anlayışının sonucu olarak, buzdolabında iki üç günden fazla durmayan küçük şişeler elinizin altında bulunur.

· ... (liste eksiktir ve R53 için değişebilir)

SH kip
Uyumluluk modu; kolayca düzeltilemeyen eski komut dosyalarıyla kullanılmak üzere tasarlanmıştır; NS
değişiklikler aşağıdaki gibidir:

· GNU darbe G / Ç yönlendirmesi &>dosya artık desteklenmiyor.

· G/Ç yönlendirmeleri tarafından oluşturulan dosya tanımlayıcıları, alt süreçler tarafından devralınır.

· The kaçırmak yerleşik ters eğik çizgileri yorumlamaz ve yalnızca tam seçeneğini destekler “-n anlayışının sonucu olarak, buzdolabında iki üç günden fazla durmayan küçük şişeler elinizin altında bulunur.

· ... (liste eksiktir ve R53 için değişebilir)

interaktif giriş hat kurgu
Kabuk, bir komut satırından üç okuma modunu destekler. tty(4) etkileşimli olarak
tarafından kontrol edilen oturum emacs, gmac'ler, ve vi seçenekler (bunlardan en fazla biri şurada ayarlanabilir:
bir Zamanlar). Varsayılan emacs. Düzenleme modları, kullanılarak açıkça ayarlanabilir. set built-in.
Bu seçeneklerden hiçbiri etkinleştirilmemişse, kabuk, normal komutları kullanarak satırları okur. tty(4)
sürücü. Eğer emacs or gmac'ler seçeneği ayarlandığında, kabuk emacs benzeri düzenlemeye izin verir.
emretmek; benzer şekilde, eğer vi seçeneği ayarlandığında, kabuk vi benzeri düzenlemeye izin verir.
emretmek. Bu modlar aşağıdaki bölümlerde ayrıntılı olarak açıklanmaktadır.

Bu düzenleme modlarında, bir çizgi ekran genişliğinden daha uzunsa (bkz.
parametresi), son sütunda şunu belirten bir '>', '+' veya '<' karakteri görüntülenir.
mevcut konumdan sonra, öncesinde ve sonrasında veya öncesinde daha fazla karakter var,
sırasıyla. Çizgi, gerektiğinde yatay olarak kaydırılır.

Tamamlanan satırlar, bir IFS sekizlisi veya IFS ile başlamadıkları sürece geçmişe itilir.
boşluk veya önceki satırla aynı.

Emacs kurgu kip
Zaman emacs seçeneği ayarlandığında, etkileşimli giriş satırı düzenlemesi etkinleştirilir. Uyarı: Bu mod
orijinal Korn kabuğundaki emacs modundan biraz farklıdır. Bu modda çeşitli
düzenleme komutları (genellikle bir veya daha fazla kontrol karakterine bağlıdır) anında eylemlere neden olur
yeni hat beklemeden. Birkaç düzenleme komutu belirli bir kontrole bağlıdır
kabuk çağrıldığında karakterler; bu bağlamalar kullanılarak değiştirilebilir bağlamak Komut.

Aşağıda, kullanılabilir düzenleme komutlarının bir listesi bulunmaktadır. Her açıklama ile başlar
iki nokta üst üste eklenmiş komutun adı; bir [n] (komuta bir ön ek eklenebiliyorsa
saymak); ve komutun varsayılan olarak bağlı olduğu herhangi bir anahtar, örneğin şapka gösterimi kullanılarak yazılır.
ASCII ESC karakteri ^[ şeklinde yazılır. Bu kontrol dizileri büyük/küçük harfe duyarlı değildir.
^[ dizisi kullanılarak bir komut için bir sayım öneki girilir.n, Burada n 1 dizisidir
veya daha fazla rakam. Aksi belirtilmedikçe, bir sayım atlanırsa varsayılan olarak 1 olur.

Düzenleme komut adlarının yalnızca bağlamak emretmek. Ayrıca, birçok
düzenleme komutları yalnızca görünür bir imleç bulunan terminallerde kullanışlıdır. Varsayılan bağlamalar
karşılık gelen Emacs anahtar bağlantılarına benzeyecek şekilde seçilmiştir. kullanıcının tty(4) karakter
(örn. ERASE) makul ikamelere bağlıdır ve varsayılan bağlamaları geçersiz kılar.

iptal: ^C, ^G
Geçerli komutu iptal edin, satır arabelleğini boşaltın ve çıkış durumunu
kesintiye uğradı.

otomatik ekleme: [n]
Basitçe karakterin değişmez girdi olarak görünmesine neden olur. En sıradan karakterler
buna bağlılar.

geriye doğru karakter: [n] ^B, ^XD, ANSI-CurLeft, PC-CurLeft
İmleci geriye doğru hareket ettirir n karakterler.

geriye doğru kelime: [n] ^[b, ANSI-Ctrl-CurLeft, ANSI-Alt-CurSol
İmleci kelimenin başına geri hareket ettirir; kelimeler oluşur
alfanümerik, alt çizgi ('_') ve dolar işareti ('$') karakterleri.

tarihin başlangıcı: ^[
Tarihin başlangıcına gider.

satır başı: ^A, ANSI-Home, PC-Home
İmleci düzenlenen giriş satırının başına taşır.

büyük harf-kelime: [n] ^[C, ^[c
Sonrakinde ilk karakteri büyük harf n kelimeler, imleci sonun ötesinde bırakarak
son sözden.

net ekran: ^[^L
Ekranı temizlemek ve imleci eve getirmek için derleme zamanında yapılandırılabilir bir dizi yazdırır,
tüm istemi ve o anda düzenlenen giriş satırını yeniden çizer. Varsayılan sıra
neredeyse tüm standart terminaller için çalışır.

yorum: ^[#
Geçerli satır bir yorum karakteriyle başlamazsa, sonuna bir yorum karakteri eklenir.
satırın başı ve satır girilir (dönüşe basılmış gibi);
aksi takdirde, mevcut yorum karakterleri kaldırılır ve imleç
satırın başlangıcı.

tamamlandı: ^[^[
Komut adının veya dosya adının benzersiz olduğu kadarını otomatik olarak tamamlar
imleci içeren. Kalan komut veya dosya adının tamamı benzersizse, bir
boşluk, tamamlandıktan sonra yazdırılır, bu durumda bir dizin adı olmadığı sürece
'/' eklenir. Geçerli kısmi kelimeyle birlikte herhangi bir komut veya dosya adı yoksa
öneki olarak, bir zil karakteri çıkar (genellikle bir bip sesinin çıkmasına neden olur).

tam komut: ^X^[
Kısmi komut adının benzersiz olduğu kadarını otomatik olarak tamamlar.
olduğu gibi, öneki olarak imlece kadar kelime tamamlamak yukarıdaki komut.

tam dosya: ^[^X
Kısmi dosya adının benzersiz olduğu kadarını otomatik olarak tamamlar.
olduğu gibi, öneki olarak imlece kadar kelime tamamlamak Yukarıda açıklanan komut.

tam liste: ^I, ^[=
Mevcut kelimenin mümkün olduğu kadarını tamamlayın ve olası kelimeleri listeleyin.
bunun için tamamlamalar. Yalnızca bir tamamlama mümkünse, aşağıdaki gibi eşleştirin. tamamlamak
yukarıdaki komut. ^I'nin genellikle SEKME (tablolayıcı) anahtarı tarafından oluşturulduğuna dikkat edin.

sil-char-backward: [n] SİL, ^?, ^H
Silinme n imleçten önceki karakterler.

sil-char-ileri: [n] ANSI-Del, PC-Del
Silinme n imleçten sonraki karakterler.

kelimeyi geri sil: [n] WERASE, ^[^?, ^[^H, ^[h
Silinme n imleçten önceki kelimeler.

silme-kelime-ileri: [n] ^[d
İmleçten sonraki karakterleri sonuna kadar siler. n kelime.

aşağı geçmiş: [n] ^N, ^XB, ANSI-CurDown, PC-CurDown
Geçmiş arabelleğini ileri kaydırır n satırlar (daha sonra). Her giriş satırı orijinal olarak
geçmiş arabelleğindeki son girişten hemen sonra başlar, bu nedenle aşağı tarih değil
ya kadar faydalı arama geçmişi, arama geçmişi or geçmişe dönük olmuş
seslendirdi.

küçük harf-kelime: [n] ^[Sl, ^[l
Sonrakini küçük harfler n kelime.

düzenleme satırı: [n] ^Xe
Satırı düzenle n veya belirtilmemişse, etkileşimli olarak geçerli satır. Gerçek
yürütülen komut fc -e ${GÖRSEL:-${EDİTÖR:-vi}} n.

tarihin sonu: ^[>
Tarihin sonuna gider.

satır sonu: ^E, ANSI-End, PC-End
İmleci giriş satırının sonuna taşır.

ek: ^_
Dosya sonu görevi görür; bu yararlıdır çünkü düzenleme modu girişi normali devre dışı bırakır
terminal girişi kurallılaştırma.

eot-veya-sil: [n] ^D
Gibi davranıyor EOT bir satırda yalnızsa; aksi halde davranır sil-char-ileri.

hata: (bağlı değil)
Hata (zili çalın).

değişim noktası ve işareti: ^X^X
İmleci işaretin olduğu yere yerleştirir ve işareti imlecin bulunduğu yere ayarlar.

genişletme dosyası: ^[*
Geçerli kelimeye bir '*' ekler ve kelimeyi sonucuyla değiştirir.
kelime üzerinde dosya globbing gerçekleştirme. Kalıpla eşleşen dosya yoksa, zil
basamak.

ileri karakter: [n] ^F, ^XC, ANSI-CurRight, PC-CurRight
İmleci ileri taşır n karakterler.

ileri sözcük: [n] ^[f, ANSI-Ctrl-CurRight, ANSI-Alt-CurRight
İmleci sonuna kadar ileriye doğru hareket ettirir. nkelime.

git-geçmiş: [n] ^[g
Geçmiş numarasına gider n.

öldürme hattı: KILL
Tüm giriş satırını siler.

öldürme bölgesi: ^W
İmleç ve işaret arasındaki girişi siler.

öldür-to-eol: [n] ^K
Aşağıdaki durumlarda imleçten satırın sonuna kadar olan girişi siler: n belirtilmemiş;
aksi takdirde imleç ve sütun arasındaki karakterleri siler n.

liste: ^[?
Komut adlarının veya dosya adlarının (varsa) sıralanmış, sütunlu bir listesini yazdırır.
imleci içeren kısmi sözcüğü tamamlayın. Dizin adlarına '/' eklendi
onlara.

liste komutu: ^X?
Tamamlayabilecek sıralı, sütunlu bir komut adları listesi (varsa) yazdırır.
imleci içeren kısmi kelime.

liste dosyası: ^X^Y
Tamamlayabilecek sıralı, sütunlu dosya adları (varsa) listesi yazdırır.
imleci içeren kısmi kelime. Dosya türü göstergeleri açıklandığı gibi eklenir
altında liste yukarıdaki.

yeni satır: ^J, ^M
Geçerli giriş satırının kabuk tarafından işlenmesine neden olur. Geçerli imleç
pozisyon çizginin herhangi bir yerinde olabilir.

yeni satır ve sonraki: ^O
Geçerli giriş satırının kabuk tarafından işlenmesine ve sonraki satırın kabuk tarafından işlenmesine neden olur.
tarih geçerli çizgi haline gelir. Bu, yalnızca bir geçmişe dönük,
arama geçmişi or arama geçmişi.

işlem yok: ÇIKIŞ
Bu hiçbir şey yapmaz.

önek-1: ^[
2 karakterli bir komut dizisi sunar.

önek-2: ^X, ^[[, ^[O
2 karakterli bir komut dizisi sunar.

önceki-geçmiş-kelime: [n] ^[., ^[_
Son söz, ya da verilirse, nönceki kelimenin (sıfır tabanlı) (tekrarlanan
yürütme, ikinci-sondan, üçüncü-sondan, vb.) komutu imlece eklenir. Kullanımı
bu düzenleme komutu işareti çöpe atar.

alıntı: ^^, ^V
Aşağıdaki karakter, bir düzenleme komutu yerine tam anlamıyla alınmıştır.

yeniden çiz: ^L
Bilgi istemi dizesinin son satırını ve geçerli giriş satırını yeni bir
hattı.

arama-karakter-geri: [n] ^[^]
için geçerli satırda geriye doğru arama yapın. nsonraki karakterin inci oluşumu
yazıldı.

arama-karakter-ileri: [n] ^]
için geçerli satırda ileriye doğru arama yapın. nsonraki karakterin inci oluşumu
yazıldı.

arama geçmişi: ^R
Artımlı arama moduna girin. Dahili geçmiş listesi geriye doğru aranır.
girişle eşleşen komutlar. Arama dizesindeki ilk '^'
arama. Kaçış tuşu arama modundan çıkar. Diziler dahil diğer komutlar
olarak kaçış önek-1 bir ardından önek-1 or önek-2 anahtar sonra yürütülecek
arama modundan çıkılıyor. NS iptal etmek (^G) komutu giriş satırını daha önce geri yükleyecektir.
arama başladı. ardışık arama geçmişi komutlar geriye doğru aramaya devam eder
desenin bir sonraki önceki oluşumu. Geçmiş arabelleği yalnızca bir
sonlu sayıda satır; en eskileri gerektiği gibi atılır.

arama geçmişi-up: ANSI-PgUp, PC-PgUp
Başlangıcıyla eşleşen komutlar için geçmiş arabelleğinde geriye doğru arama yapın.
giriş satırının imleçten önceki kısmı. Boş bir satırda kullanıldığında, bu
ile aynı etki geçmişe dönük.

arama geçmişi: ANSI-PgDn, PC-PgDn
Başlangıcıyla eşleşen komutlar için geçmiş arabelleğinde ileriye doğru arama yapın.
giriş satırının imleçten önceki kısmı. Boş bir satırda kullanıldığında, bu
ile aynı etki aşağı tarih. Bu, yalnızca bir geçmişe dönük,
arama geçmişi or arama geçmişi.

set-mark-komutu: ^[
İşareti imleç konumuna ayarlayın.

devrik karakterler: ^T
Satırın sonundaysa veya gmac'ler seçenek ayarlandığında, bu ikisini değiştirir
önceki karakterler; aksi takdirde önceki ve mevcut karakterleri değiştirir ve
imleci bir karakter sağa hareket ettirir.

yukarı geçmiş: [n] ^P, ^XA, ANSI-CurUp, PC-CurUp
Geçmiş arabelleğini geriye doğru kaydırır n satırlar (önceden).

büyük harfli kelime: [n] ^[U, ^[u
sonraki büyük harf n kelime.

sürüm: ^[^V
sürümünü göster mksh. Geçerli düzenleme arabelleği, bir tuşa basıldığında geri yüklenir
basılır. Boşluk olmadığı sürece, geri yüklenen tuşa basma işlenir.

çek: ^Y
Geçerli imleç konumuna en son öldürülen metin dizesini ekler.

Yank-pop: ^[y
Hemen sonra birden çekme, eklenen metin dizesini bir öncekiyle değiştirir
öldürülen metin dizesi.

Vi kurgu kip
Not: vi komut satırı düzenleme modu yetim kaldı, ancak yine de işlevsel. 8 bit temiz
ancak özellikle UTF-8 veya MBCS'yi desteklemez.

vi komut satırı düzenleyicisi mksh temelde aynı komutlara sahiptir vi(1) editör ile
aşağıdaki istisnalar:

· Ekleme modunda başlarsınız.

· Dosya adı ve komut tamamlama komutları vardır: =, \, *, ^X, ^E, ^F ve,
isteğe bağlı olarak, ve .

· The _ komut farklıdır (içinde mksh, son argüman komutudur; içinde vi(1) gider
geçerli satırın başına kadar).

· The / ve G komutlar aksi yönde hareket eder. j Komut.

· Tek satır düzenleyicide anlam ifade etmeyen komutlar kullanılamaz (örn. ekran
hareket komutları ve ex(1) tarzı iki nokta üst üste (:) komutları).

Facebok sayfasını beğenin : vi(1), iki mod vardır: "ekleme" modu ve "komut" modu. Ekleme modunda, çoğu
karakterler, yazıldıkları sırada geçerli imleç konumunda arabelleğe alınır;
ancak, bazı karakterler özel olarak ele alınır. Özellikle, aşağıdaki karakterler
akımdan alınan tty(4) ayarlar (bkz. arpacık(1)) ve her zamanki anlamlarına sahipler (normal değerler
parantez içindedir: öldür (^U), sil (^?), werase (^W), eof (^D), intr (^C) ve çık (^\).
Yukarıdakilere ek olarak, aşağıdaki karakterler de ekte özel olarak ele alınır.
modu:

^E Komut ve dosya adı numaralandırması (aşağıya bakın).

^F Komut ve dosya adı tamamlama (aşağıya bakın). Arka arkaya iki kez kullanılırsa, liste
olası tamamlamalar görüntülenir; üçüncü kez kullanılırsa, tamamlama geri alınır.

^H Önceki karakteri siler.

^J | ^M Satır sonu. Geçerli satır kabuk tarafından okunur, ayrıştırılır ve yürütülür.

^V Değişmez sonraki. Yazılan bir sonraki karakter özel olarak ele alınmaz (için kullanılabilir
burada açıklanan karakterleri girin).

^X Komut ve dosya adı genişletmesi (aşağıya bakın).

Düzenleyiciyi komut moduna geçirir (aşağıya bakın).

İsteğe bağlı dosya adı ve komut tamamlama (bkz. ^F yukarıda), ile etkinleştirildi set -o
vi-sekme tamamlama.

Komut modunda, her karakter bir komut olarak yorumlanır. olmayan karakterler
komutlara karşılık gelir, yasa dışı komut kombinasyonları veya uygulanamayan komutlardır.
yapıldığında, tümü bip sesine neden olur. Aşağıdaki komut açıklamalarında, bir [n] gösterir
komutun önüne bir sayı gelebilir (örn. 10l 10 karakter sağa hareket eder); numara yoksa
önek kullanılır, n Aksi belirtilmedikçe 1 olduğu varsayılır. “mevcut
konum”, imleç ile imleçten önceki karakter arasındaki konumu ifade eder.
Bir "kelime", bir harf, rakam ve alt çizgi karakter dizisi veya olmayan bir dizidir.
harf, rakam olmayan, alt çizgi olmayan ve boşluk olmayan karakterler (örn. “ab2*&^” iki karakter içerir)
sözcükler) ve bir "büyük sözcük", boşluk olmayan karakterlerin bir dizisidir.

Özel mksh vi komutları:

Aşağıdaki komutlar normal vi dosyası düzenleyicisinde değildir veya ondan farklıdır:

[n]_ Bir boşluk ve ardından ntarihteki son komuttan gelen büyük kelime
mevcut konumda ve ekleme moduna girin; Eğer n belirtilmemiş, son
kelime girilir.

# Geçerli satırın başına yorum karakterini ('#') ekleyin ve geri dönün
kabuğa giden çizgi (eşdeğer ben#^J).

[n]g Beğen G, eğer hariç n belirtilmez, en son hatırlanana gider
hattı.

[n]v Düzenleme satırı n ile vi(1) editör; Eğer n belirtilmemiş, geçerli satır
düzenlendi. Yürütülen gerçek komut fc -e ${GÖRSEL:-${EDİTÖR:-vi}} n.

* ve ^X Komut veya dosya adı genişletmesi, geçerli büyük sözcüğe uygulanır (bir
sözcük dosya globbing karakterleri içermiyorsa '*' eklenir) – büyük sözcük
çıkan kelimelerle değiştirilir. Şu anki büyük kelime listedeki ilk kelimeyse
';', '|', '&', '(' veya ')' karakterlerinden birini takip ediyor veya takip ediyor ve
eğik çizgi ('/') içerir, ardından komut genişletmesi yapılır; aksi halde dosya adı
genişletme yapılır. Komut genişletme, büyük kelimeyi herkese karşı eşleştirecek
takma adlar, işlevler ve yerleşik komutların yanı sıra bulunan tüm yürütülebilir dosyalar
PATH parametresindeki dizinleri arayarak. Dosya adı genişletme eşleşmeleri
geçerli dizindeki dosyalara karşı büyük kelime. Genişletme işleminden sonra,
imleç son sözcüğün hemen ilerisine yerleştirilir ve düzenleyici ekleme modundadır.

[n]\, [n]^F, [n] , ve [n]
Komut/dosya adı tamamlama. Mevcut büyük kelimeyi en uzun kelimeyle değiştirin
komut ve dosya adı genişletmesi gerçekleştirildikten sonra elde edilen benzersiz eşleşme.
yalnızca aşağıdaki durumlarda tanınır: vi-sekme tamamlama seçeneği belirlenirken sadece
tanınırsa vi-esccomplete seçeneği ayarlandı (bkz. set -o). eğer n belirtilir,
the nolası tamamlama seçilir (komut/dosya adıyla bildirildiği gibi
numaralandırma komutu).

= ve ^E Komut/dosya adı numaralandırma. Eşleşen tüm komutları veya dosyaları listeleyin.
mevcut büyük kelime.

^V sürümünü göster mksh. Geçerli düzenleme arabelleği, en kısa sürede geri yüklenir.
tuşuna basılır. Geri yüklenen tuşa basma yok sayılır.

@c Makro genişletme. Takma adda bulunan komutları yürütün c.

Hat içi hareket komutları:

[n]el [n]^S
Sola hareket et n karakterler.

[n]Kara [n]
Sağa hareket et n karakterler.

0 Sütun 0'a gidin.

^ İlk boşluk olmayan karaktere gidin.

[n]| Sütuna taşı n.

$ Son karaktere git.

[n]b Geri git n kelime.

[n]B Geri git n büyük sözler.

[n]e Sözcüğün sonuna ilerleyin, n kez.

[n]E Büyük kelimenin sonuna ilerleyin, n kez.

[n]w İleri git n kelime.

[n]W İleri git n büyük sözler.

% Maç bul. Düzenleyici en yakın parantez, parantez veya parantez için sabırsızlanıyor
ve ardından imleci eşleşen parantez, parantez veya parantez içine taşır.

[n]fc Şuna ilerleyin: nkarakterin oluşumu c.

[n]Fc Şuraya geri git: nkarakterin oluşumu c.

[n]tc hemen öncesine ilerleyin nkarakterin oluşumu c.

[n]Tc hemen öncesine geri git nkarakterin oluşumu c.

[n]; Sonuncuyu tekrarlar f, F, tya da T Komut.

[n], Sonuncuyu tekrarlar f, F, tya da T komut verir, ancak ters yönde hareket eder.

Hatlar arası hareket komutları:

[n]J, [n]+ ve [n]^N
Git ntarihteki bir sonraki satır.

[n] k, [n]-, ve [n]^P
Git ntarihteki önceki satır.

[n]G Satıra git n tarihte; Eğer n belirtilmemiş, ilk sayı
hatırlanan hat kullanılır.

[n]g Beğen G, eğer hariç n belirtilmezse, en son hatırlanan satıra gider.

[n]/dizi
için geçmişte geriye doğru arama yapın. ninci satır içeren dizi; Eğer dizi
'^' ile başlar, dizenin geri kalanı geçmişin başlangıcında görünmelidir
eşleşmesi için satır.

[n]?dizi
Aynısı /tarih boyunca ileriye doğru arama yapması dışında.

[n]n Ara nson arama dizisinin inci oluşumu; arama yönü
son arama ile aynıdır.

[n]N Ara nson arama dizisinin inci oluşumu; arama yönü
son aramanın tersidir.

ANSI-CurUp, PC-PgUp
Karakterleri satırın başından geçerli imleç konumuna şu şekilde alın:
arama dizesi ve bununla başlayan satırlar için geriye doğru bir geçmiş araması yapın
sicim; imleç konumunu koruyun. Bu, yalnızca ekleme modunda çalışır ve tutar
sağladı.

Komutları düzenle

[n]a Metin ekle n zamanlar; geçerli konumdan hemen sonra ekleme moduna geçer. NS
ekleme yalnızca komut modu yeniden girilirse çoğaltılır, yani kullanıldı.

[n]A Aynı a, satırın sonuna eklenmesi dışında.

[n]i Metin ekle n zamanlar; geçerli konumda ekleme moduna girer. ekleme
yalnızca komut moduna yeniden girilirse çoğaltılır, yani kullanıldı.

[n]Ben aynı i, ancak ekleme, boş olmayan ilk karakterden hemen önce yapılır.

[n]s Sonrakini değiştirin n karakterler (yani karakterleri silin ve eklemeye gidin
modu).

S Tüm satırı değiştirin. İlk boş olmayan karakterden sonuna kadar tüm karakterler
satırı silinir ve ekleme moduna girilir.

[n]chareket-cmd
Mevcut konumdan kaynaklanan konuma değişiklik n hareket-cmds (yani
belirtilen bölgeyi silin ve ekleme moduna geçin); Eğer hareket-cmd is c, Hat
ilk boş olmayan karakterden başlayarak değiştirilir.

C Geçerli konumdan satırın sonuna kadar değiştirin (yani satırın sonuna kadar silin
satırına gidin ve ekleme moduna geçin).

[n]x Sonrakini sil n karakterler.

[n]X Öncekini sil n karakterler.

D Satırın sonuna kadar sil.

[n]dhareket-cmd
Mevcut konumdan kaynaklanan konuma silme n hareket-cmds;
hareket-cmd bir hareket komutudur (yukarıya bakın) veya d, bu durumda geçerli satır
silindi.

[n]rc Sonrakini değiştir n karakterli karakterler c.

[n]R Değiştirin. Ekleme moduna girin, ancak eklemek yerine mevcut karakterlerin üzerine yazın
mevcut karakterlerden önce. Değiştirme tekrarlanır n kez.

[n]~ Sonrakinin büyük/küçük harf durumunu değiştirin n karakterler.

[n]yhareket-cmd
Mevcut konumdan kaynaklanan konuma yank n hareket-cmds içine
yank tamponu; Eğer hareket-cmd is y, tüm hat çekilir.

Y Geçerli konumdan satırın sonuna kadar yank.

[n]p Yank arabelleğinin içeriğini geçerli konumdan hemen sonra yapıştırın, n kez.

[n]P ile aynı p, arabelleğin geçerli konuma yapıştırılması dışında.

Çeşitli vi komutları

^J ve ^M
Geçerli satır kabuk tarafından okunur, ayrıştırılır ve yürütülür.

^L ve ^R
Geçerli çizgiyi yeniden çizin.

[n]. Son düzenleme komutunu yeniden yap n kez.

u Son düzenleme komutunu geri alın.

U Geçerli satırda yapılan tüm değişiklikleri geri alın.

PC Home, End, Del ve imleç tuşları
Hem ekleme hem de komut modunda beklendiği gibi hareket ederler.

geçişsiz ve çıkmak
Kesinti ve çıkış terminal karakterleri, mevcut satırın silinmesine ve
yazdırılacak yeni bir istem.

onworks.net hizmetlerini kullanarak çevrimiçi mksh kullanın


Ücretsiz Sunucular ve İş İstasyonları

Windows ve Linux uygulamalarını indirin

  • 1
    Alt-F
    Alt-F
    Alt-F, ücretsiz ve açık bir kaynak sağlar
    DLINK için alternatif üretici yazılımı
    DNS-320/320L/321/323/325/327L and
    DNR-322L. Alt-F, Samba ve NFS'ye sahiptir;
    ext2/3/4'ü destekler...
    Alt-F'yi indirin
  • 2
    USM
    USM
    Usm, birleşik bir slackware paketidir
    otomatik işleyen yönetici
    bağımlılık çözünürlüğü birleştirir
    dahil olmak üzere çeşitli paket depoları
    gevşek yazılım, gevşek, p...
    usm'yi indir
  • 3
    Chart.js
    Chart.js
    Chart.js, bir Javascript kitaplığıdır.
    tasarımcıların ve geliştiricilerin çizim yapmasına izin verir
    HTML5 kullanan her türlü grafik
    tuval öğesi. Chart js harika bir teklif sunuyor
    dizi ...
    Chart.js'yi indirin
  • 4
    JasperReports için iReport-Designer
    JasperReports için iReport-Designer
    NOT: iReport/Jaspersoft Studio Desteği
    Duyuru: 5.5.0 sürümünden itibaren,
    Jaspersoft Studio resmi olacak
    JasperReports için tasarım istemcisi. bildiriyorum
    niyet...
    JasperReports için iReport-Designer'ı indirin
  • 5
    YükleyiciF
    YükleyiciF
    PostInstallerF tüm
    Fedora Linux ve diğerlerinin kullandığı yazılım
    varsayılan olarak içermez, sonra
    Fedora'yı ilk kez çalıştırıyor. Onun
    için kolay...
    PostInstallerF'i indirin
  • 6
    iz
    iz
    strace projesi şuraya taşındı:
    https://strace.io. strace is a
    teşhis, hata ayıklama ve eğitim
    Linux için kullanıcı alanı izleyicisi. kullanılır
    izlemek için...
    strace'i indir
  • Daha fazla »

Linux komutları

Ad