EnglishFrenchSpanyol

Ad


Favicon OnWorks

mksh-static - Dalam talian dalam Awan

Jalankan mksh-static dalam penyedia pengehosan percuma OnWorks melalui Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS

Ini ialah arahan mksh-statik yang boleh dijalankan dalam penyedia pengehosan percuma OnWorks menggunakan salah satu daripada berbilang stesen kerja dalam talian percuma kami seperti Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS.

JADUAL:

NAMA


mksh, sh — Tempurung MirBSD Korn

SINOPSIS


mksh [-+abCefhiklmnprUuvXx] [-T [!]tty | -] [-+o pilihan] [-c rentetan | -s | fail
[hujah ...]]
nama terbina [hujah ...]

DESCRIPTION


mksh ialah penterjemah arahan yang bertujuan untuk penggunaan skrip interaktif dan shell. Ianya
bahasa arahan ialah superset bahasa shell sh(C) dan sebahagian besarnya serasi dengan
kulit Korn asli. Kadangkala, halaman manual ini mungkin memberikan nasihat skrip; semasa itu
kadangkala mengambil kira semua skrip shell mudah alih atau pelbagai piawaian
maklumat pertama sekali dibentangkan mksh dalam fikiran dan harus diambil seperti itu.

Saya an Android Pengguna, so apa mksh?
mksh ialah shell UNIX / jurubahasa arahan, serupa dengan COMMAND.COM or CMD.EXE, yang telah
telah disertakan dengan Projek Sumber Terbuka Android buat sementara waktu sekarang. Pada asasnya, ia adalah satu program
yang berjalan dalam terminal (tetingkap konsol), mengambil input pengguna dan menjalankan arahan atau skrip,
yang juga boleh diminta untuk dilakukan oleh program lain, walaupun di latar belakang. Apa-apa keistimewaan
pop timbul yang mungkin anda hadapi tidak demikian mksh isu tetapi soalan oleh orang lain
program menggunakannya.

Penyerahan
Kebanyakan binaan boleh dipanggil terus, contohnya jika pautan menghala dari namanya ke
cangkerang; tidak semua masuk akal, telah diuji atau berfungsi sama sekali.

Pilihannya adalah seperti berikut:

-c rentetan mksh akan melaksanakan perintah(s) yang terkandung dalam rentetan.

-i Cangkang interaktif. Cangkang yang membaca arahan daripada input standard ialah
"interaktif" jika pilihan ini digunakan atau jika kedua-dua input standard dan ralat standard
dilampirkan pada a tty(4). Cangkang interaktif mempunyai kawalan kerja didayakan, abaikan
isyarat SIGINT, SIGQUIT, dan SIGTERM, dan mencetak gesaan sebelum membaca input
(lihat parameter PS1 dan PS2). Ia juga memproses parameter ENV atau
mkshrc fail (lihat di bawah). Untuk cengkerang bukan interaktif, the trackall pilihan dihidupkan
secara lalai (lihat menetapkan perintah di bawah).

-l Log masuk shell. Jika nama asas shell dipanggil dengan (iaitu argv[0]) bermula dengan
'-' atau jika pilihan ini digunakan, shell diandaikan sebagai shell log masuk; lihat
Permulaan fail di bawah.

-p Cangkang istimewa. Cangkerang adalah "keistimewaan" jika ID pengguna atau ID kumpulan sebenar melakukannya
tidak sepadan dengan ID pengguna atau ID kumpulan yang berkesan (lihat getuid(2) dan getgid(2)).
Mengosongkan pilihan istimewa menyebabkan shell menetapkan ID pengguna yang berkesan
(ID kumpulan) kepada ID pengguna sebenar (ID kumpulan). Untuk implikasi lanjut, lihat Permulaan
fail. Jika cangkerang diberi keistimewaan dan bendera ini tidak ditetapkan secara eksplisit, the
Pilihan "keistimewaan" dikosongkan secara automatik selepas memproses fail permulaan.

-r Cangkang terhad. Cangkerang "terhad" jika pilihan ini digunakan. Yang berikut
sekatan berkuat kuasa selepas shell memproses sebarang profil dan ENV
fail:

· . cd (Dan chdir) arahan dilumpuhkan.
· Parameter SHELL, ENV dan PATH tidak boleh diubah.
· Nama perintah tidak boleh ditentukan dengan laluan mutlak atau relatif.
· . -p pilihan arahan terbina dalam arahan tidak boleh digunakan.
· Ubah hala yang mencipta fail tidak boleh digunakan (iaitu '>', '>|', '>>', '<>').

-s Shell membaca arahan daripada input standard; semua hujah bukan pilihan adalah
parameter kedudukan.

-T nama Spawn mksh pada tty(4) peranti diberikan. Laluan nama, /dev/ttyCname and
/dev/ttyname dicuba mengikut urutan. Melainkan nama bermula dengan tanda seru
('!'), ini dilakukan dalam subkulit dan kembali serta-merta. Jika nama adalah sengkang
('-'), alihkan daripada terminal kawalan (daemonise).

Sebagai tambahan kepada perkara di atas, pilihan yang diterangkan dalam menetapkan arahan terbina dalam juga boleh digunakan
pada baris arahan: kedua-duanya [-+abCefhkmnuvXx] Dan [-+o pilihan] boleh digunakan untuk satu huruf
atau pilihan panjang, masing-masing.

Jika kedua-duanya tidak -c tidak juga -s pilihan ditentukan, hujah bukan pilihan pertama ditentukan
nama fail shell membaca arahan daripada. Jika tiada hujah bukan pilihan, the
shell membaca arahan daripada input standard. Nama cangkerang (iaitu kandungan
$0) ditentukan seperti berikut: jika -c pilihan digunakan dan terdapat hujah bukan pilihan,
ia digunakan sebagai nama; jika arahan sedang dibaca daripada fail, fail itu digunakan sebagai
nama; jika tidak, nama asas shell dipanggil dengan (iaitu argv[0]) digunakan.

Status keluar shell ialah 127 jika fail arahan yang dinyatakan pada baris arahan boleh
tidak dibuka, atau bukan sifar jika ralat sintaks yang membawa maut berlaku semasa pelaksanaan a
skrip. Sekiranya tiada ralat yang membawa maut, status keluar adalah pada perintah terakhir
dilaksanakan, atau sifar, jika tiada arahan dilaksanakan.

Permulaan fail
Untuk lokasi sebenar fail ini, lihat FILES. Cangkang log masuk memproses sistem
profil dahulu. Cangkang istimewa kemudian memproses profil suid. Log masuk bukan istimewa
shell memproses profil pengguna seterusnya. Cangkang interaktif tanpa keistimewaan menyemak nilai
daripada parameter ENV selepas tertakluk kepada parameter, arahan, aritmetik dan tilde ('~')
penggantian; jika tidak ditetapkan atau kosong, profil mkshrc pengguna diproses; sebaliknya, jika fail
yang namanya adalah hasil penggantian wujud, ia diproses; ketiadaan adalah senyap
diabaikan. Cangkang keistimewaan kemudiannya menggugurkan keistimewaan jika kedua-duanya tidak -p pilihan yang diberikan pada
baris arahan atau ditetapkan semasa pelaksanaan fail permulaan.

Perintah sintaks
Cangkerang mula menghuraikan inputnya dengan mengalih keluar sebarang kombinasi garisan baru segaris ke belakang, kemudian
memecahkannya ke dalam perkataan. Perkataan (yang merupakan urutan aksara) dihadkan dengan tidak disebut
aksara ruang putih (ruang, tab dan baris baharu) atau aksara meta ('<', '>', '|', ';', '(',
')', dan '&'). Selain daripada mengehadkan perkataan, ruang dan tab diabaikan, manakala baris baharu
biasanya menghadkan arahan. Aksara meta digunakan dalam membina perkara berikut token:
'<', '<&', '<<', '<<<<', '>', '>&', '>>', '&>', dsb. digunakan untuk menentukan ubah hala (lihat
Input / output penghalaan semula di bawah); '|' digunakan untuk membuat saluran paip; '|&' digunakan untuk mencipta bersama-
proses (lihat Proses bersama di bawah); ';' digunakan untuk memisahkan arahan; '&' digunakan untuk mencipta
saluran paip tak segerak; '&&' dan '||' digunakan untuk menentukan pelaksanaan bersyarat; ';;', ';&'
dan ';|' digunakan dalam kes kenyataan; '(( .. ))' digunakan dalam ungkapan aritmetik; dan
akhir sekali, '( .. )' digunakan untuk mencipta subkulit.

Ruang putih dan aksara meta boleh dipetik secara individu menggunakan garis serong ke belakang ('\'), atau dalam
kumpulan menggunakan petikan berganda ('"') atau tunggal (“'”). Ambil perhatian bahawa aksara berikut ialah
juga diperlakukan secara khusus oleh cangkerang dan mesti dipetik jika mereka ingin mewakili diri mereka sendiri:
'\', '"', ''', '#', '$', '`', '~', '{', '}', '*', '?' dan '['. tiga yang pertama ini
adalah watak-watak yang disebut di atas (lihat Memetik di bawah); '#', jika digunakan pada
permulaan perkataan, memperkenalkan ulasan – semuanya selepas '#' hingga yang terdekat
baris baharu diabaikan; '$' digunakan untuk memperkenalkan parameter, arahan dan aritmetik
penggantian (lihat Penggantian di bawah); ''' memperkenalkan penggantian arahan gaya lama
(Lihat Penggantian di bawah); '~' memulakan pengembangan direktori (lihat Tilde pengembangan di bawah); '{'
dan had '}' csh(1) selang-seli gaya (lihat Brace pengembangan di bawah); dan akhirnya, '*',
'?', dan '[' digunakan dalam penjanaan nama fail (lihat File nama corak di bawah).

Apabila perkataan dan token dihuraikan, shell membina arahan, yang mana terdapat dua asas
jenis: mudah-perintah, biasanya program yang dilaksanakan, dan kompaun-perintah, seperti itu
as Untuk and if penyataan, binaan kumpulan, dan definisi fungsi.

Arahan ringkas terdiri daripada beberapa gabungan penetapan parameter (lihat Parameter
di bawah), ubah hala input/output (lihat Input / output pelencongan di bawah), dan kata perintah;
satu-satunya sekatan ialah penetapan parameter didahulukan sebelum mana-mana perkataan perintah. The
kata perintah, jika ada, tentukan perintah yang akan dilaksanakan dan hujahnya. The
arahan mungkin perintah terbina dalam shell, fungsi, atau arahan luaran (iaitu perintah berasingan
fail boleh laku yang terletak menggunakan parameter PATH; lihat Perintah pelaksanaan di bawah).
Ambil perhatian bahawa semua binaan arahan mempunyai status keluar: untuk arahan luaran, ini berkaitan
kepada status yang dikembalikan oleh tunggu(2) (jika arahan tidak dapat ditemui, status keluar adalah
127; jika ia tidak dapat dilaksanakan, status keluar ialah 126); status keluar arahan lain
binaan (arahan terbina dalam, fungsi, arahan kompaun, saluran paip, senarai, dll.) semuanya
ditakrifkan dengan baik dan diterangkan di mana konstruk diterangkan. Status keluar a
perintah yang hanya terdiri daripada penetapan parameter ialah arahan penggantian terakhir
dilakukan semasa penetapan parameter atau 0 jika tiada penggantian arahan.

Perintah boleh dirantai bersama menggunakan '|' token untuk membentuk saluran paip, di mana
output standard bagi setiap arahan tetapi yang terakhir disalurkan (lihat paip(2)) kepada input standard bagi
perintah berikut. Status keluar saluran paip ialah perintah terakhirnya, melainkan
yang paip gagal pilihan ditetapkan (lihat di sana). Semua arahan saluran paip dilaksanakan secara berasingan
subkulit; ini dibenarkan oleh POSIX tetapi berbeza daripada kedua-dua varian AT&T UNIX ksh, Di mana
semua kecuali perintah terakhir telah dilaksanakan dalam subkulit; lihat membaca penerangan builtin untuk
implikasi dan penyelesaiannya. Saluran paip mungkin diawali dengan '!' perkataan terpelihara yang
menyebabkan status keluar saluran paip dilengkapkan secara logik: jika status asal
ialah 0, status yang dilengkapkan ialah 1; jika status asal bukan 0, yang dilengkapkan
status akan menjadi 0.

senarai daripada arahan boleh dibuat dengan memisahkan saluran paip dengan mana-mana token berikut:
'&&', '||', '&', '|&' dan ';'. Dua yang pertama adalah untuk pelaksanaan bersyarat: “cmd1 && cmd2"
dilaksanakan cmd2 hanya jika status keluar daripada cmd1 ialah sifar; '||' adalah sebaliknya - cmd2 is
dilaksanakan hanya jika status keluar daripada cmd1 bukan sifar. '&&' dan '||' mempunyai keutamaan yang sama
yang lebih tinggi daripada '&', '|&', dan ';', yang juga mempunyai keutamaan yang sama. Nota
bahawa '&&' dan '||' pengendali adalah "bersekutu kiri". Sebagai contoh, kedua-duanya
arahan hanya akan mencetak "bar":

$ false && echo foo || bar gema
$ benar || echo foo && bar gema

Token '&' menyebabkan arahan sebelumnya dilaksanakan secara tidak segerak; iaitu cangkerang
memulakan arahan tetapi tidak menunggu sehingga ia selesai (shell memang menjejaki
status arahan tak segerak; lihat Kerja kawalan di bawah). Apabila arahan tak segerak adalah
dimulakan apabila kawalan kerja dilumpuhkan (iaitu dalam kebanyakan skrip), arahan dimulakan dengan
isyarat SIGINT dan SIGQUIT diabaikan dan dengan input diubah hala daripada / dev / null (walau bagaimanapun,
ubah hala yang dinyatakan dalam arahan tak segerak mempunyai keutamaan). Pengendali '|&'
memulakan proses bersama yang merupakan sejenis proses tak segerak khas (lihat Proses bersama
di bawah). Ambil perhatian bahawa arahan mesti mengikut '&&' dan '||' pengendali, sementara ia tidak perlu
ikut '&', '|&', atau ';'. Status keluar senarai ialah perintah terakhir yang dilaksanakan,
dengan pengecualian senarai tak segerak, yang mana status keluar ialah 0.

Perintah majmuk dibuat menggunakan perkataan terpelihara berikut. Kata-kata ini sahaja
diiktiraf jika ia tidak disebut dan jika ia digunakan sebagai perkataan pertama perintah (cth
ia tidak boleh didahului oleh penetapan parameter atau ubah hala):

kes lain berfungsi kemudian! (
lakukan esac jika masa [[ ((
selesai fi in sehingga {
elif untuk pilih sementara }

Dalam huraian arahan kompaun berikut, senarai arahan (ditandakan sebagai senarai) yang
diikuti dengan perkataan terpelihara mesti diakhiri dengan koma bernoktah, baris baharu atau a (secara sintaksis
betul) perkataan terpelihara. Sebagai contoh, yang berikut semuanya sah:

$ { echo foo; bar gema; }
$ { echo foo; bar gema }
$ { { echo foo; bar gema; } }

Ini tidak sah:

$ { echo foo; bar gema }

(senarai)
Melaksanakan senarai dalam subkulit. Tiada cara tersirat untuk lulus perubahan persekitaran daripada
subkulit kembali kepada induknya.

{ senarai; }
Binaan kompaun; senarai dilaksanakan, tetapi bukan dalam subkulit. Ambil perhatian bahawa '{' dan '}'
adalah perkataan terpelihara, bukan aksara meta.

kes perkataan dalam [[(] pola [| pola] ...) senarai terminator] ... esac
. kes kenyataan cuba dipadankan perkataan terhadap yang ditentukan pola; yang senarai
dikaitkan dengan corak pertama yang berjaya dipadankan dilaksanakan. Corak yang digunakan dalam
kes pernyataan adalah sama seperti yang digunakan untuk corak nama fail kecuali bahawa
sekatan mengenai '.' dan '/' digugurkan. Ambil perhatian bahawa mana-mana ruang yang tidak disebut sebelumnya
dan selepas corak dilucutkan; mana-mana ruang dalam corak mesti dipetik. Kedua-dua
perkataan dan corak tertakluk kepada parameter, perintah, dan penggantian aritmetik,
serta penggantian tilde.

Atas sebab sejarah, pendakap buka dan tutup boleh digunakan sebagai ganti in and bahawa C contohnya
kes $foo { *) echo bar ;; }.

Senarai terminators adalah:

';;' Tamatkan selepas senarai.

';&' Masuk ke dalam senarai seterusnya.

';|' Nilaikan tuple senarai corak yang tinggal.

Status keluar a kes pernyataan ialah pernyataan yang dilaksanakan senarai; jika tidak senarai is
dilaksanakan, status keluar adalah sifar.

Untuk nama [dalam perkataan ...]; buat senarai; selesai
Bagi setiap perkataan dalam senarai perkataan yang ditentukan, parameter nama ditetapkan kepada perkataan dan
senarai dilaksanakan. Jika in tidak digunakan untuk menentukan senarai perkataan, parameter kedudukan
($1, $2, dsb.) digunakan sebaliknya. Atas sebab sejarah, pendakap buka dan tutup mungkin
digunakan sebagai ganti do and dilakukan contohnya Untuk i; { echo $i; }. Status keluar a Untuk
penyata ialah status keluar terakhir bagi senarai; sekiranya senarai tidak pernah dilaksanakan, status keluar
adalah sifar.

if senarai; kemudian senarai; [elif senarai; kemudian senarai;] ... [lain senarai;] fi
Jika status keluar yang pertama senarai ialah sifar, yang kedua senarai dilaksanakan; jika tidak,
yang senarai berikutan elif, jika ada, dilaksanakan dengan akibat yang serupa. Saya jatuh
senarai berikut if and elifs gagal (iaitu keluar dengan status bukan sifar), the senarai
berikutan lagi dilaksanakan. Status keluar daripada an if pernyataan adalah bahawa bukan
bersyarat senarai yang dilaksanakan; jika tiada tanpa syarat senarai dilaksanakan, jalan keluar
status adalah sifar.

pilih nama [dalam perkataan ...]; buat senarai; selesai
. pilih pernyataan menyediakan kaedah automatik untuk mempersembahkan menu kepada pengguna
dan memilih daripadanya. Senarai terhitung yang ditentukan perkataan(s) dicetak pada
ralat standard, diikuti dengan gesaan (PS3: biasanya '#? '). Nombor yang sepadan dengan
satu daripada perkataan yang disenaraikan kemudian dibaca daripada input standard, nama ditetapkan kepada
perkataan yang dipilih (atau tidak ditetapkan jika pilihan tidak sah), REPLY ditetapkan kepada apa yang dibaca
(ruang hadapan/belakang dilucutkan), dan senarai dilaksanakan. Jika baris kosong (cth
sifar atau lebih oktet IFS) dimasukkan, menu dicetak semula tanpa dilaksanakan senarai.

Bila senarai selesai, senarai terhitung akan dicetak jika REPLY adalah NULL, gesaan adalah
dicetak, dan sebagainya. Proses ini berterusan sehingga akhir fail dibaca, gangguan
diterima, atau a memecahkan pernyataan dilaksanakan di dalam gelung. Jika "dalam perkataan ..." ialah
diabaikan, parameter kedudukan digunakan (iaitu $1, $2, dsb.). Untuk sejarah
sebab, pendakap buka dan tutup boleh digunakan sebagai ganti do and dilakukan contohnya pilih i; {
echo $i; }. Status keluar a pilih pernyataan adalah sifar jika a memecahkan kenyataan ialah
digunakan untuk keluar dari gelung, bukan sifar sebaliknya.

sehingga senarai; buat senarai; selesai
Ini berfungsi seperti manakala, kecuali badan itu dilaksanakan hanya semasa status keluar daripada
yang pertama senarai bukan sifar.

manakala senarai; buat senarai; selesai
A manakala ialah gelung pra-semak. Badannya dilaksanakan sekerap status keluar
yang pertama senarai ialah sifar. Status keluar a manakala penyata ialah status keluar terakhir
daripada senarai dalam badan gelung; jika badan tidak dilaksanakan, status keluar adalah
sifar.

fungsi nama { senarai; }
Mentakrifkan fungsi nama (Lihat Fungsi di bawah). Ambil perhatian bahawa ubah hala ditentukan
selepas definisi fungsi dilakukan apabila fungsi itu dilaksanakan, bukan apabila
definisi fungsi dilaksanakan.

nama() arahan
Kebanyakannya sama dengan fungsi (Lihat Fungsi di bawah). Ruang putih (ruang atau tab) selepas
nama akan diabaikan pada kebanyakan masa.

fungsi nama() { senarai; }
Sama seperti nama() (menamparisme). The fungsi kata kunci diabaikan.

masa [-p] [saluran paip]
. Perintah pelaksanaan bahagian menerangkan masa perkataan terpelihara.

(( ungkapan ))
Ungkapan aritmetik ungkapan dinilai; bersamaan dengan "biar ekspresi" (lihat
Aritmetik ungkapan dan juga biarkan arahan, di bawah) dalam binaan kompaun.

[[ ungkapan ]]
Sama seperti ujian and [ ... ] arahan (diterangkan kemudian), dengan yang berikut
pengecualian:

· Pemisahan medan dan penjanaan nama fail tidak dilakukan pada hujah.

· . -a (DAN) dan -o (OR) operator digantikan dengan '&&' dan '||', masing-masing.

· Operator (cth. '-f', '=', '!') mestilah tidak dipetik.

· Parameter, perintah, dan penggantian aritmetik dilakukan sebagai ungkapan
penilaian ungkapan yang dinilai dan malas digunakan untuk '&&' dan '||' pengendali.
Ini bermakna dalam pernyataan berikut, $( dinilai jika dan hanya jika
fail foo wujud dan boleh dibaca:

$ [[ -r foo && $(

· Operan kedua bagi ungkapan '!=' dan '=' ialah subset corak (cth
perbandingan itu [[ foobar = f*r ]] berjaya). Ini juga berfungsi secara tidak langsung:

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

Mungkin menghairankan, perbandingan pertama berjaya, manakala yang kedua tidak.
Ini tidak terpakai kepada semua metakarakter extglob, pada masa ini.

Memetik
Petikan digunakan untuk menghalang shell daripada merawat watak atau perkataan secara khusus. Disana ada
tiga kaedah petikan. Mula-mula, '\' memetik aksara berikut, melainkan ia berada di
penghujung baris, dalam hal ini kedua-dua '\' dan baris baharu dilucutkan. Kedua, single
petikan (“'”) memetik segala-galanya sehingga petikan tunggal seterusnya (ini mungkin menjangkau baris). Ketiga, a
petikan berganda ('"') memetik semua aksara, kecuali '$', '`' dan '\', sehingga unescaped seterusnya
petikan berganda. '$' dan ''' di dalam petikan berganda mempunyai makna biasa (iaitu parameter,
aritmetik, atau penggantian arahan) kecuali tiada pemisahan medan dijalankan pada keputusan
penggantian dua petikan, dan bentuk penggantian arahan gaya lama mempunyai
petikan selekoh belakang untuk petikan berganda didayakan. Jika '\' di dalam rentetan petikan dua ialah
diikuti dengan '\', '$', '`', atau '"', ia digantikan dengan aksara kedua; jika ia diikuti
oleh baris baharu, kedua-dua '\' dan baris baharu dilucutkan; jika tidak, kedua-dua '\' dan
watak berikut tidak berubah.

Jika rentetan petikan tunggal didahului oleh '$' yang tidak disebut, pengembangan garis sengkang terbalik gaya C (lihat
di bawah) digunakan (walaupun aksara petikan tunggal di dalam boleh dilepaskan dan tidak ditamatkan
rentetan kemudian); hasil yang dikembangkan dianggap sebagai mana-mana rentetan petikan tunggal yang lain. Sekiranya
rentetan petikan dua didahului oleh '$' yang tidak disebut, '$' diabaikan begitu sahaja.

Tanda Belakang pengembangan
Di tempat di mana garis miring ke belakang dikembangkan, C dan AT&T UNIX tertentu ksh atau GNU menampar gaya
melarikan diri diterjemahkan. Ini termasuk '\a', '\b', '\f', '\n', '\r', '\t', '\U########',
'\u####' dan '\v'. Untuk '\U########' dan '\u####', “#” bermaksud digit heksadesimal, tebal
mungkin tidak ada sehingga empat atau lapan; pelarian ini menterjemah titik kod Unikod kepada UTF-8.
Tambahan pula, '\E' dan '\e' berkembang kepada watak melarikan diri.

Dalam cetak mod terbina, '\"', '\'' dan '\?' dikecualikan secara eksplisit; jujukan oktal
mesti mempunyai tiada sehingga tiga digit perlapanan “#” yang diawali dengan digit sifar ('\0###');
jujukan heksadesimal '\x##' adalah terhad kepada tiada sehingga dua digit perenambelasan “#”; kedua-duanya
jujukan oktal dan heksadesimal bertukar kepada oktet mentah; '\#', di mana # tiada di atas,
diterjemahkan kepada \# (garis miring ke belakang dikekalkan).

Pengembangan garis miring belakang dalam mod gaya C sedikit berbeza: jujukan oktal '\###' mesti ada
tiada digit sifar memberi awalan satu hingga tiga digit perlapanan “#” dan menghasilkan oktet mentah;
jujukan heksadesimal '\x#*' dengan rakus memakan seberapa banyak digit perenambelasan “#” yang boleh dan
tamatkan dengan digit bukan perenambelasan pertama; ini menterjemah titik kod Unikod kepada
UTF-8. Urutan '\c#', dengan "#" ialah sebarang oktet, diterjemahkan kepada Ctrl-# (yang pada asasnya
bermaksud, '\c?' menjadi DEL, semua yang lain adalah bitwise ANDed dengan 0x1F). Akhirnya, '\#', di mana
# bukan satu pun di atas, diterjemahkan kepada # (telah dipangkas garis sengkang ke belakang), walaupun ia adalah
baris baru.

alias
Terdapat dua jenis alias: alias perintah biasa dan alias yang dijejaki. Alias ​​perintah
biasanya digunakan sebagai tangan pendek untuk arahan yang panjang atau sering digunakan. Cangkangnya mengembang
alias perintah (iaitu menggantikan nama alias untuk nilainya) apabila ia membaca perkataan pertama
daripada perintah. Alias ​​yang dikembangkan diproses semula untuk menyemak lebih banyak alias. Jika perintah
alias berakhir dalam ruang atau tab, perkataan berikut juga disemak untuk pengembangan alias. The
proses pengembangan alias berhenti apabila perkataan yang bukan alias ditemui, apabila perkataan yang dipetik
ditemui, atau apabila perkataan alias yang sedang dikembangkan ditemui. Alias ​​ialah
khususnya ciri interaktif: sementara ia berlaku untuk berfungsi dalam skrip dan pada
baris arahan dalam sesetengah kes, alias dikembangkan semasa lexing, jadi penggunaannya mestilah dalam a
pepohon arahan berasingan daripada takrifan mereka; jika tidak, alias tidak akan ditemui.
Yang ketara, senarai arahan (dipisahkan dengan koma bertitik, dalam penggantian arahan juga dengan baris baharu)
mungkin satu pokok parse yang sama.

Alias ​​arahan berikut ditakrifkan secara automatik oleh shell:

autoload='\typeset -fu'
functions='\typeset -f'
hash='\builtin alias -t'
sejarah='\dibina fc -l'
integer='\typeset -i'
local='\typeset'
login='\log masuk exec'
nameref='\typeset -n'
nohup='nohup'
r='\dibina fc -e -'
type='\builtin where -v'

Alias ​​yang dijejaki membolehkan shell mengingati tempat ia menemui arahan tertentu. Yang pertama
masa shell melakukan carian laluan untuk arahan yang ditandakan sebagai alias yang dijejaki, ia menjimatkan
laluan penuh arahan. Kali seterusnya arahan itu dilaksanakan, shell menyemak fail
laluan disimpan untuk melihat bahawa ia masih sah, dan jika ya, elakkan mengulangi carian laluan.
Alias ​​yang dijejaki boleh disenaraikan dan dibuat menggunakan alias -t. Perhatikan bahawa menukar PATH
parameter mengosongkan laluan yang disimpan untuk semua alias yang dijejaki. Sekiranya trackall pilihan ditetapkan
(iaitu menetapkan -o trackall or menetapkan -h), shell menjejaki semua arahan. Pilihan ini ditetapkan
secara automatik untuk cengkerang bukan interaktif. Untuk cengkerang interaktif, hanya yang berikut
arahan dijejaki secara automatik: kucing(1), cc(1), Chmod(1), cp(1), tarikh(1), ed(1),
emacs(1), grep(1), ls(1), membuat(1), mv(1), pr(1), rm(1), sed(1), sh(1), vi(1), dan yang(1).

Penggantian
Langkah pertama yang diambil oleh shell dalam melaksanakan perintah mudah ialah melakukan penggantian pada
kata-kata perintah itu. Terdapat tiga jenis penggantian: parameter, arahan, dan
aritmetik. Penggantian parameter, yang diterangkan secara terperinci dalam bahagian seterusnya,
ambil borang $nama atau ${...}; penggantian arahan mengambil bentuk $(arahan) Atau
(tidak digunakan lagi) `arahan` atau (dilaksanakan dalam persekitaran semasa) ${ arahan;} dan jalur
mengekori barisan baharu; dan penggantian aritmetik dalam bentuk $((ungkapan)). Menghuraikan
penggantian arahan persekitaran semasa memerlukan ruang, tab atau baris baharu selepas pembukaan
pendakap dan pendakap penutup diiktiraf sebagai kata kunci (iaitu didahului oleh baris baharu
atau titik bertitik). Mereka juga dipanggil funsubs (penggantian fungsi) dan berkelakuan seperti
fungsi dalam itu tempatan and pulangan kerja, dan dalam itu keluar menamatkan shell induk; cangkerang
pilihan dikongsi.

Satu lagi varian penggantian ialah valsubs (penggantian nilai) ${|arahan;} yang mana
juga dilaksanakan dalam persekitaran semasa, seperti funsubs, tetapi berkongsi I/O mereka dengan ibu bapa;
sebaliknya, mereka menilai kepada apa sahaja, pada mulanya kosong, ungkapan-balasan pembolehubah setempat
ditetapkan ke dalam arahans.

Jika penggantian muncul di luar petikan berganda, keputusan penggantian adalah
secara amnya tertakluk kepada pemisahan perkataan atau medan mengikut nilai semasa IFS
parameter. Parameter IFS menentukan senarai oktet yang digunakan untuk memecahkan rentetan
kepada beberapa perkataan; sebarang oktet daripada ruang set, tab dan baris baharu yang muncul dalam IFS
oktet dipanggil "ruang putih IFS". Urutan satu atau lebih oktet ruang putih IFS, dalam
gabungan dengan sifar atau satu oktet ruang putih bukan IFS, hadkan medan. Sebagai kes khas,
Ruang putih IFS mendahului dan mengekori dilucutkan (iaitu tiada medan kosong di hadapan atau di belakang
dicipta olehnya); mendahului atau mengekori ruang putih bukan IFS memang mencipta medan kosong.

Contoh: Jika IFS ditetapkan kepada “ :”, dan VAR ditetapkan kepada
“ A : B::D”, penggantian $VAR menghasilkan empat medan: 'A',
'B', '' (medan kosong) dan 'D'. Ambil perhatian bahawa jika parameter IFS ditetapkan kepada kosong
rentetan, tiada pemisahan medan dilakukan; jika ia tidak ditetapkan, nilai lalai ruang, tab dan
baris baharu digunakan.

Juga, ambil perhatian bahawa pemisahan medan hanya terpakai pada hasil serta-merta
penggantian. Menggunakan contoh sebelumnya, penggantian untuk $VAR:E menghasilkan
medan: 'A', 'B', '', dan 'D:E', bukan 'A', 'B', '', 'D' dan 'E'. Tingkah laku ini adalah POSIX
patuh, tetapi tidak serasi dengan beberapa pelaksanaan shell lain yang melakukan pemisahan medan
pada perkataan yang mengandungi penggantian atau menggunakan IFS sebagai pembatas ruang putih am.

Keputusan penggantian adalah, melainkan dinyatakan sebaliknya, juga tertakluk kepada pengembangan pendakap
dan pengembangan nama fail (lihat bahagian yang berkaitan di bawah).

Penggantian arahan digantikan dengan output yang dihasilkan oleh arahan yang ditentukan iaitu
dijalankan dalam subkulit. Untuk $(arahan) dan ${|arahan;} dan ${ arahan;} penggantian, normal
peraturan memetik digunakan apabila arahan dihuraikan; walau bagaimanapun, untuk ` yang tidak digunakan lagiarahan` bentuk, a
'\' diikuti dengan mana-mana '$', '`' atau '\' dilucutkan (seperti '"' apabila penggantian adalah sebahagian
daripada rentetan petikan dua kali); garis miring ke belakang '\' diikuti oleh mana-mana aksara lain tidak berubah.
Sebagai kes khas dalam penggantian arahan, arahan borangfail ditafsirkan kepada
bermakna menggantikan kandungan fail. Perhatikan bahawa $( mempunyai kesan yang sama seperti $(kucing foo).

Ambil perhatian bahawa sesetengah cengkerang tidak menggunakan penghurai rekursif untuk penggantian arahan, yang membawa kepada
kegagalan untuk pembinaan tertentu; untuk menjadi mudah alih, gunakan sebagai penyelesaian 'x=$(cat) <<"EOF"' (atau the
pelanjutan 'x="EOF"'-penyimpanan baharu) sebaliknya untuk hanya menyedut rentetan. IEEE Std 1003.1
(“POSIX.1”) mengesyorkan untuk menggunakan pernyataan kes dalam bentuk 'x=$(case $foo in (bar) echo $bar
;; (*) echo $baz ;; esac)' sebaliknya, yang akan berfungsi tetapi tidak berfungsi sebagai contoh untuk ini
isu mudah alih.

x=$(huruf $foo dalam bar) echo $bar ;; *) echo $baz ;; esac)
# di atas gagal menghuraikan pada cangkerang lama; di bawah ialah penyelesaiannya
x=$(eval $(cat)) <<"EOF"
kes $foo dalam bar) echo $bar ;; *) echo $baz ;; esac
EOF

Penggantian aritmetik digantikan dengan nilai ungkapan yang ditentukan. Untuk
contoh, perintah cetak $((2+3*4)) memaparkan 14. Lihat Aritmetik ungkapan bagi
penerangan sesuatu ungkapan.

Parameter
Parameter ialah pembolehubah shell; mereka boleh diberikan nilai dan nilainya boleh diakses
menggunakan penggantian parameter. Nama parameter ialah salah satu daripada single khas
tanda baca atau parameter aksara digit yang diterangkan di bawah, atau huruf diikuti dengan sifar atau
lebih banyak huruf atau digit ('_' dikira sebagai huruf). Bentuk terakhir boleh dianggap sebagai tatasusunan
dengan menambahkan indeks tatasusunan borang [expr] di mana expr ialah ungkapan aritmetik.
Indeks tatasusunan masuk mksh terhad kepada julat 0 hingga 4294967295, termasuk. Itu dia,
ia adalah integer tidak bertanda 32-bit.

Penggantian parameter mengambil bentuk $nama, ${nama}, atau ${nama[expr]} di mana nama ialah
nama parameter. Penggantian semua elemen tatasusunan dengan ${nama[*]} dan ${nama[@]} berfungsi
bersamaan dengan $* dan $@ untuk parameter kedudukan. Jika penggantian dilakukan pada a
parameter (atau elemen parameter tatasusunan) yang tidak ditetapkan, rentetan nol digantikan
melainkan nounset pilihan (menetapkan -o nounset or menetapkan -u) ditetapkan, dalam hal ini ralat berlaku.

Parameter boleh diberikan nilai dalam beberapa cara. Pertama, shell secara tersirat ditetapkan
beberapa parameter seperti '#', 'PWD' dan '$'; ini adalah satu-satunya cara watak tunggal khas
parameter ditetapkan. Kedua, parameter diimport dari persekitaran shell di
memulakan. Ketiga, parameter boleh diberikan nilai pada baris arahan: sebagai contoh, FOO=bar
menetapkan parameter "FOO" kepada "bar"; tugasan parameter berbilang boleh diberikan pada satu
baris arahan dan ia boleh diikuti oleh perintah mudah, dalam hal ini tugasan adalah
berkuat kuasa hanya untuk tempoh arahan (tugasan sedemikian juga dieksport; lihat
di bawah untuk implikasi ini). Ambil perhatian bahawa kedua-dua nama parameter dan '=' mestilah
tidak dipetik untuk shell mengenali tugasan parameter. Konstruk FOO+=baz juga
dikenali; nilai lama dan baru digabungkan dengan serta-merta. Cara penetapan yang keempat
parameter adalah dengan mengeksport, global, baca sahaja, dan set taip arahan; melihat mereka
penerangan dalam Perintah pelaksanaan bahagian. Kelima, Untuk and pilih gelung menetapkan parameter
serta getopts, membaca, dan menetapkan -A arahan. Akhir sekali, parameter boleh diberikan
nilai menggunakan operator tugasan di dalam ungkapan aritmetik (lihat Aritmetik ungkapan
di bawah) atau menggunakan ${nama=nilai} bentuk penggantian parameter (lihat di bawah).

Parameter dengan atribut eksport (ditetapkan menggunakan mengeksport or set taip -x perintah, atau oleh
penetapan parameter diikuti dengan arahan mudah) diletakkan dalam persekitaran (lihat
kira-kira(7)) arahan yang dijalankan oleh shell sebagai nama=nilai berpasangan. Susunan di mana parameter
muncul dalam persekitaran arahan tidak ditentukan. Apabila cangkerang bermula, ia
mengekstrak parameter dan nilainya daripada persekitarannya dan secara automatik menetapkan eksport
atribut untuk parameter tersebut.

Pengubah suai boleh digunakan pada ${nama} bentuk penggantian parameter:

${nama:-perkataan}
If nama ditetapkan dan bukan NULL, ia digantikan; jika tidak, perkataan diganti.

${nama:+perkataan}
If nama ditetapkan dan bukan NULL, perkataan digantikan; jika tidak, tiada apa yang digantikan.

${nama:=perkataan}
If nama ditetapkan dan bukan NULL, ia digantikan; jika tidak, ia ditugaskan perkataan and
nilai yang terhasil daripada nama diganti.

${nama:?perkataan}
If nama ditetapkan dan bukan NULL, ia digantikan; jika tidak, perkataan dicetak pada
ralat piawai (didahului oleh nama:) dan ralat berlaku (biasanya menyebabkan penamatan
skrip shell, fungsi atau skrip yang diperoleh menggunakan '.' terbina dalam). Jika perkataan is
ditinggalkan, rentetan "parameter nol atau tidak ditetapkan" digunakan sebaliknya. Pada masa ini pepijat,
if perkataan ialah pembolehubah yang berkembang kepada rentetan nol, mesej ralat juga
dicetak.

Ambil perhatian bahawa, untuk semua perkara di atas, perkataan sebenarnya dianggap dipetik, dan penghuraian khas
peraturan berlaku. Peraturan penghuraian juga berbeza sama ada ungkapan itu disebut dua kali: perkataan
kemudian menggunakan peraturan petikan berganda, kecuali petikan berganda itu sendiri ('"') dan penutup
pendakap, yang, jika garis miring ke belakang terlepas, akan dikenakan penyingkiran sebut harga.

Dalam pengubah suai di atas, ':' boleh diketepikan, dalam hal ini syarat hanya bergantung pada
nama sedang ditetapkan (berbanding set dan bukan NULL). Jika perkataan diperlukan, parameter, arahan,
aritmetik, dan penggantian tilde dilakukan padanya; jika perkataan tidak diperlukan, tidak
dinilai.

Bentuk penggantian parameter berikut juga boleh digunakan (jika nama ialah tatasusunan, iaitu
elemen dengan kunci "0" akan digantikan dalam konteks skalar):

${#nama}
Bilangan parameter kedudukan jika nama adalah '*', '@', atau tidak dinyatakan; sebaliknya
panjang (dalam aksara) nilai rentetan parameter nama.

${#nama[*]}
${#nama[@]}
Bilangan elemen dalam tatasusunan nama.

${%nama}
Lebar (dalam lajur skrin) nilai rentetan parameter nama, atau -1 jika
${nama} mengandungi aksara kawalan.

${!nama}
Nama pembolehubah yang dirujuk oleh nama. Ini akan menjadi nama kecuali bila nama is
rujukan nama (pembolehubah terikat), dicipta oleh nameref arahan (iaitu alias
Untuk set taip -n).

${!nama[*]}
${!nama[@]}
Nama indeks (kunci) dalam tatasusunan nama.

${nama#pola}
${nama##pola}
If pola sepadan dengan permulaan nilai parameter nama, teks yang dipadankan ialah
dipadam daripada hasil penggantian. Satu '#' menghasilkan yang terpendek
perlawanan, dan dua daripadanya menghasilkan perlawanan terpanjang. Tidak boleh digunakan pada vektor
(${*} atau ${@} atau ${array[*]} atau ${array[@]}).

${nama%pola}
${nama%%pola}
Seperti ${..#..} penggantian, tetapi ia memadamkan dari hujung nilai. Tidak boleh
digunakan pada vektor.

${nama/corak/rentetan}
${nama/#corak/rentetan}
${nama/%corak/rentetan}
${nama//corak/rentetan}
Perlawanan paling lama pola dalam nilai parameter nama digantikan dengan rentetan
(dipadamkan jika rentetan kosong; garis miring mengekor ('/') boleh ditinggalkan dalam kes itu).
Tanda miring utama diikuti dengan '#' atau '%' menyebabkan corak berlabuh pada
permulaan atau akhir nilai, masing-masing; kosong tidak bersauh polas sebab no
penggantian; garis miring tunggal atau penggunaan a pola yang sepadan dengan kosong
rentetan menyebabkan penggantian berlaku sekali sahaja; dua garis miring utama menyebabkan semua
kejadian padanan dalam nilai yang akan diganti. Tidak boleh digunakan pada vektor.
Tidak cekap dilaksanakan, mungkin lambat.

${nama:hantar:len}
Yang pertama len watak-watak daripada nama, bermula pada kedudukan hantar, digantikan. Kedua-duanya
hantar dan:len adalah pilihan. Jika hantar adalah negatif, pengiraan bermula pada penghujung
tali; jika ia ditinggalkan, ia lalai kepada 0. Jika len ditinggalkan atau lebih besar daripada
panjang rentetan yang tinggal, semuanya diganti. Kedua-duanya hantar and len adalah
dinilai sebagai ungkapan aritmetik. Pada masa ini, hantar mesti bermula dengan ruang,
kurungan atau digit pembukaan untuk dikenali. Tidak boleh digunakan pada vektor.

${nama@#}
Hash (menggunakan algoritma BAFH) bagi pengembangan nama. Ini juga digunakan
secara dalaman untuk jadual hash shell.

${nama@Q}
Ungkapan petikan selamat untuk kemasukan semula, yang nilainya ialah nilai nama
parameter, digantikan.

Perhatikan bahawa pola mungkin memerlukan corak globbing lanjutan (@(...)), tunggal ('...') atau berganda
("...") petikan melarikan diri melainkan -o sh ditetapkan.

Parameter khas berikut ditetapkan secara tersirat oleh shell dan tidak boleh ditetapkan secara langsung
menggunakan tugasan:

! ID proses proses latar belakang terakhir dimulakan. Jika tiada proses latar belakang mempunyai
telah dimulakan, parameter tidak ditetapkan.

# Bilangan parameter kedudukan ($1, $2, dsb.).

$ PID kulit, atau PID kulit asal jika ia subkulit. buat TIDAK
gunakan mekanisme ini untuk menjana nama fail sementara; lihat mktemp(1) sebaliknya.

- Gabungan pilihan huruf tunggal semasa (lihat menetapkan perintah di bawah
untuk senarai pilihan).

? Status keluar perintah bukan tak segerak yang terakhir dilaksanakan. Jika perintah terakhir
dibunuh oleh isyarat, $? ditetapkan kepada 128 campur nombor isyarat, tetapi paling banyak 255.

0 Nama cangkerang, ditentukan seperti berikut: hujah pertama kepada mksh jika ia berlaku
dipanggil dengan -c pilihan dan hujah telah diberikan; sebaliknya fail hujah, jika
ia telah dibekalkan; atau nama asas shell digunakan dengan (iaitu argv[0]). $0
juga ditetapkan kepada nama skrip semasa atau nama fungsi semasa,
jika ia ditakrifkan dengan fungsi kata kunci (iaitu fungsi gaya cangkerang Korn).

1 .. 9 Sembilan parameter kedudukan pertama yang dibekalkan kepada cangkerang, fungsi atau
skrip bersumberkan menggunakan '.' terbina dalam. Parameter kedudukan selanjutnya mungkin
diakses menggunakan ${nombor}.

* Semua parameter kedudukan (kecuali 0), iaitu $1, $2, $3, ...
Jika digunakan di luar petikan berganda, parameter ialah perkataan berasingan (yang tertakluk
kepada pemisahan perkataan); jika digunakan dalam petikan berganda, parameter dipisahkan oleh
aksara pertama parameter IFS (atau rentetan kosong jika IFS ialah NULL).

@ Sama seperti $*, melainkan ia digunakan dalam petikan berganda, dalam hal ini perkataan yang berasingan ialah
dihasilkan untuk setiap parameter kedudukan. Jika tiada parameter kedudukan, tidak
perkataan dihasilkan. $@ boleh digunakan untuk mengakses hujah, verbatim, tanpa kalah
NULL argumen atau membelah argumen dengan ruang.

Parameter berikut ditetapkan dan/atau digunakan oleh shell:

_ (garis bawah) Apabila arahan luaran dilaksanakan oleh shell, parameter ini
ditetapkan dalam persekitaran proses baharu ke laluan yang dilaksanakan
perintah. Dalam penggunaan interaktif, parameter ini juga ditetapkan dalam shell induk kepada
perkataan terakhir perintah sebelumnya.

BASHPID PID cangkerang atau subkulit.

CDPATH Seperti PATH, tetapi digunakan untuk menyelesaikan hujah ke cd arahan terbina dalam. Nota
bahawa jika CDPATH ditetapkan dan tidak mengandungi '.' atau elemen rentetan kosong, the
direktori semasa tidak dicari. Juga, yang cd arahan terbina dalam akan dipaparkan
direktori yang terhasil apabila padanan ditemui dalam mana-mana laluan carian selain daripada
jalan kosong.

LAjur Ditetapkan kepada bilangan lajur pada terminal atau tetingkap. Sentiasa ditetapkan, lalai
hingga 80, melainkan nilai seperti yang dilaporkan oleh stty(1) bukan sifar dan cukup waras
(minimum ialah 12x3); serupa untuk LINES. Parameter ini digunakan oleh
mod penyuntingan baris interaktif, dan oleh pilih, menetapkan -o, dan membunuh -l arahan
untuk memformat lajur maklumat. Mengimport dari alam sekitar atau unsetting
parameter ini membuang pengikatan kepada saiz terminal sebenar yang memihak kepada
nilai yang disediakan.

ENV Jika parameter ini didapati ditetapkan selepas sebarang fail profil dilaksanakan, fail
nilai diperluas digunakan sebagai fail permulaan shell. Ia biasanya mengandungi fungsi
dan definisi alias.

Nilai Integer ERRNO bagi shell salah pembolehubah. Ia menunjukkan sebab yang terakhir
panggilan sistem gagal. Belum dilaksanakan.

EXECSHELL Jika ditetapkan, parameter ini diandaikan mengandungi shell yang akan digunakan
melaksanakan perintah itu melaksanakan(2) gagal untuk melaksanakan dan yang tidak bermula dengan a
“#!shell” urutan.

FCEDIT Editor yang digunakan oleh fc arahan (lihat di bawah).

FPATH Seperti PATH, tetapi digunakan apabila fungsi yang tidak ditentukan dilaksanakan untuk mencari fail
mentakrifkan fungsi. Ia juga dicari apabila arahan tidak ditemui menggunakan
JALAN. Lihat Fungsi di bawah untuk maklumat lebih lanjut.

HISTFILE Nama fail yang digunakan untuk menyimpan sejarah arahan. Apabila ditetapkan atau tidak ditetapkan,
fail dibuka, sejarah dipotong kemudian dimuatkan daripada fail; seterusnya
arahan baru (mungkin terdiri daripada beberapa baris) dilampirkan sebaik sahaja ia
berjaya disusun. Juga, beberapa seruan shell akan dikongsi
sejarah jika parameter HISTFILE mereka semua menghala ke fail yang sama.

Nota: Jika HISTFILE tidak ditetapkan atau kosong, tiada fail sejarah digunakan. Ini adalah
berbeza daripada AT&T UNIX ksh.

HISTSIZE Bilangan arahan yang biasanya disimpan untuk sejarah. Lalai ialah 2047. Lakukan
tidak menetapkan nilai ini kepada nilai yang sangat tinggi seperti 1000000000 kerana mksh boleh
maka tidak memperuntukkan memori yang mencukupi untuk sejarah dan tidak akan bermula.

HOME Direktori lalai untuk cd perintah dan nilai yang digantikan dengan an
tidak berkelayakan ~ (Lihat Tilde pengembangan di bawah).

IFS Pemisah medan dalaman, digunakan semasa penggantian dan oleh membaca perintah, kepada
pecahkan nilai kepada hujah yang berbeza; biasanya ditetapkan kepada ruang, tab dan baris baharu.
Lihat Penggantian di atas untuk keterangan.

Nota: Parameter ini tidak diimport dari persekitaran apabila shell berada
bermula.

KSHEGID Id kumpulan berkesan bagi shell.

KSHGID Id kumpulan sebenar shell.

KSHUID Id pengguna sebenar shell.

KSH_VERSION Nama dan versi cangkerang (baca sahaja). Lihat juga arahan versi
in Emacs menyunting mod and Vi menyunting mod bahagian, di bawah.

LINENO Nombor baris fungsi atau skrip shell yang sedang dibuat
dilaksanakan.

LINES Tetapkan kepada bilangan baris pada terminal atau tetingkap. Sentiasa ditetapkan, lalai kepada
24. Lihat LAjur.

EPOCHREALTIME
Masa sejak zaman itu, seperti yang dikembalikan oleh gettimeofday(2), diformatkan sebagai perpuluhan
tv_sec diikuti dengan titik ('.') dan tv_usec berlapik tepat enam perpuluhan
digit.

OLDPWD Direktori kerja sebelumnya. Nyahtetapkan jika cd belum berjaya berubah
direktori sejak shell bermula, atau jika shell tidak tahu di mana ia berada.

OPTARG Apabila menggunakan getopts, ia mengandungi hujah untuk pilihan yang dihuraikan, jika ia
memerlukan satu.

OPTIND Indeks hujah seterusnya untuk diproses apabila menggunakan getopts. Menetapkan 1
kepada parameter ini menyebabkan getopts untuk memproses hujah dari awal
lain kali ia dipanggil.

PATH A bertindih (titik koma pada OS/2) memisahkan senarai direktori yang dicari
apabila mencari arahan dan fail bersumber menggunakan '.' arahan (lihat di bawah).
Rentetan kosong yang terhasil daripada kolon di hadapan atau di belakang, atau dua bersebelahan
titik bertindih, dianggap sebagai '.' (direktori semasa).

PGRP ID proses ketua kumpulan proses shell.

PIPESTATUS Tatasusunan yang mengandungi kod peringkat ralat (status keluar), satu demi satu, yang terakhir
saluran paip berjalan di latar depan.

PPID ID proses induk shell.

PS1 Gesaan utama untuk cengkerang interaktif. Parameter, perintah dan aritmetik
penggantian dilakukan, dan '!' digantikan dengan arahan semasa
nombor (lihat fc perintah di bawah). '!' literal boleh dimasukkan ke dalam gesaan oleh
meletakkan '!!' dalam PS1.

Gesaan lalai ialah '$ ' untuk pengguna bukan root, '# ' untuk root. Jika mksh is
dipanggil oleh akar dan PS1 tidak mengandungi aksara '#', nilai lalai
akan digunakan walaupun PS1 sudah wujud dalam persekitaran.

. mksh pengedaran disertakan dengan sampel dot.mkshrc mengandungi yang canggih
contoh, tetapi anda mungkin menyukai yang berikut (perhatikan bahawa
${HOSTNAME:=$(hostname)} dan klausa yang membezakan root-vs-user ialah (dalam
contoh ini) dilaksanakan pada masa tugasan PS1, manakala $USER dan $PWD adalah
melarikan diri dan dengan itu akan dinilai setiap kali gesaan dipaparkan):

PS1='${USER:=$(id -un)}'"@${HOSTNAME:=$(hostname)}:\$PWD $(
jika (( USER_ID )); kemudian cetak \$; lain cetak \#; fi)"

Ambil perhatian bahawa sejak editor baris arahan cuba memikirkan berapa lama gesaan
adalah (supaya mereka tahu sejauh mana ia adalah ke tepi skrin), kod melarikan diri dalam
cepat cenderung untuk mengacaukan keadaan. Anda boleh memberitahu shell untuk tidak mengira tertentu
jujukan (seperti kod melarikan diri) dengan memberi awalan gesaan anda dengan aksara
(seperti Ctrl-A) diikuti dengan pemulangan gerabak dan kemudian mengehadkan pelarian
kod dengan watak ini. Sebarang kejadian watak itu dalam gesaan adalah
tidak dicetak. Dengan cara ini, jangan salahkan saya untuk hack ini; ia berasal daripada
asal ksh88(1), yang mencetak aksara pembatas supaya anda tidak dapat melakukannya
bertuah jika anda tidak mempunyai sebarang aksara bukan cetakan.

Memandangkan Sebatan Terbalik dan aksara khas lain boleh ditafsirkan oleh cangkerang,
untuk menetapkan PS1 sama ada melarikan diri daripada garis miring terbalik itu sendiri, atau gunakan petikan berganda. The
yang terakhir lebih praktikal. Ini adalah contoh yang lebih kompleks, mengelak daripada terus
masukkan aksara khas (contohnya dengan ^V dalam mod penyuntingan emacs), yang
membenamkan direktori kerja semasa, dalam video terbalik (warna akan berfungsi,
juga), dalam rentetan gesaan:

x=$(cetak \\001)
PS1="$x$(cetak \\r)$x$(tput jadi)$x\$PWD$x$(tput se)$x> "

Disebabkan cadangan kuat daripada David G. Korn, mksh kini turut menyokong
borang berikut:

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

Rentetan gesaan Sekunder PS2, secara lalai '> ', digunakan apabila lebih banyak input diperlukan untuk
melengkapkan arahan.

PS3 Prompt yang digunakan oleh pilih kenyataan semasa membaca pilihan menu. lalai
adakah '#? '.

PS4 Digunakan untuk awalan arahan yang dicetak semasa penjejakan pelaksanaan (lihat bahagian menetapkan
-x perintah di bawah). Parameter, perintah, dan penggantian aritmetik ialah
dilakukan sebelum ia dicetak. Lalai ialah '+ '. Anda mungkin mahu menetapkannya
kepada '[$EPOCHREALTIME] ' sebaliknya, untuk memasukkan cap masa.

JKR Direktori kerja semasa. Mungkin tidak ditetapkan atau NULL jika shell tidak tahu
di mana ia berada.

RANDOM Setiap kali RANDOM dirujuk, ia diberikan nombor antara 0 dan 32767
daripada PRNG Kongruen Linear dahulu.

REPLY Parameter lalai untuk membaca arahan jika tiada nama diberikan. Juga digunakan dalam
pilih gelung untuk menyimpan nilai yang dibaca daripada input standard.

SECONDS Bilangan saat sejak shell bermula atau, jika parameter telah
memberikan nilai integer, bilangan saat sejak tugasan ditambah dengan
nilai yang telah diberikan.

TMOUT Jika ditetapkan kepada integer positif dalam cangkerang interaktif, ia menentukan maksimum
bilangan saat shell akan menunggu input selepas mencetak primer
segera (PS1). Jika masa melebihi masa, shell akan keluar.

TMPDIR Fail cengkerang sementara direktori dicipta. Jika parameter ini tidak
ditetapkan, atau tidak mengandungi laluan mutlak bagi direktori boleh tulis, sementara
fail dicipta dalam / tmp.

USER_ID Id pengguna berkesan bagi shell.

Tilde pengembangan
Pengembangan tilde yang dilakukan selari dengan penggantian parameter, dilakukan pada perkataan
bermula dengan '~' yang tidak disebut. Aksara yang mengikuti tilde, sehingga '/' pertama, jika
mana-mana, diandaikan sebagai nama log masuk. Jika nama log masuk kosong, '+' atau '-', nilai bagi
parameter HOME, PWD atau OLDPWD diganti, masing-masing. Jika tidak, kata laluan
fail dicari untuk nama log masuk, dan ungkapan tilde digantikan dengan nama pengguna
direktori rumah. Jika nama log masuk tidak ditemui dalam fail kata laluan atau jika ada petikan atau
penggantian parameter berlaku dalam nama log masuk, tiada penggantian dilakukan.

Dalam penetapan parameter (seperti yang mendahului perintah mudah atau yang berlaku dalam
hujah daripada alias, mengeksport, global, baca sahaja, dan set taip), pengembangan tilde dilakukan selepas
sebarang tugasan (iaitu selepas tanda sama) atau selepas titik bertindih yang tidak disebut (':'); nama log masuk
juga dihadkan oleh titik bertindih.

Direktori rumah nama log masuk yang dikembangkan sebelum ini dicache dan digunakan semula. The alias -d
arahan boleh digunakan untuk menyenaraikan, menukar dan menambah pada cache ini (cth alias -d
fac=/usr/local/facilities; cd ~fac/bin).

Brace pengembangan (bergantian)
Ekspresi pendakap mengambil bentuk berikut:

awalan{str1,...,strN}akhiran

Ungkapan diperluaskan kepada N perkataan, yang setiap satunya adalah gabungan awalan, stri,
and akhiran (cth “a{c,b{X,Y},d}e” berkembang kepada empat perkataan: “ace”, “abXe”, “abYe” dan “ade”).
Seperti yang dinyatakan dalam contoh, ungkapan pendakap boleh bersarang dan perkataan yang terhasil tidak
disusun. Ungkapan pendakap mesti mengandungi koma yang tidak disebut (',') untuk pengembangan berlaku (cth
{} and {foo} tidak diperluaskan). Pengembangan pendakap dijalankan selepas penggantian parameter
dan sebelum penjanaan nama fail.

File nama corak
Corak nama fail ialah perkataan yang mengandungi satu atau lebih tidak disebut '?', '*', '+', '@' atau '!'
aksara atau urutan “[..]”. Setelah pengembangan pendakap telah dilakukan, cangkerang akan diganti
corak nama fail dengan nama diisih semua fail yang sepadan dengan corak (jika tidak
fail sepadan, perkataan dibiarkan tidak berubah). Unsur-unsur corak mempunyai makna berikut:

? Padan dengan mana-mana watak tunggal.

* Memadankan sebarang jujukan oktet.

[..] Memadankan mana-mana oktet di dalam kurungan. Julat oktet boleh ditentukan oleh
memisahkan dua oktet dengan '-' (cth “[a0-9]” sepadan dengan huruf 'a' atau mana-mana digit).
Untuk mewakili dirinya sendiri, '-' mesti sama ada dipetik atau oktet pertama atau terakhir
dalam senarai oktet. Begitu juga, ']' mesti dipetik atau oktet pertama dalam senarai
jika ia adalah untuk mewakili dirinya dan bukannya penghujung senarai. Juga, '!' muncul
pada permulaan senarai mempunyai makna istimewa (lihat di bawah), jadi untuk mewakili dirinya sendiri
mesti dipetik atau muncul kemudian dalam senarai.

[!..] Seperti [..], kecuali ia sepadan dengan mana-mana oktet yang tidak berada di dalam kurungan.

*(pola|...|pola)
Memadankan mana-mana rentetan oktet yang sepadan dengan sifar atau lebih kejadian yang ditentukan
corak. Contoh: Corak *(foo|bar) sepadan dengan rentetan "", "foo", "bar",
"foobarfoo", dsb.

+(pola|...|pola)
Memadankan mana-mana rentetan oktet yang sepadan dengan satu atau lebih kejadian yang ditentukan
corak. Contoh: Corak +(foo|bar) sepadan dengan rentetan "foo", "bar",
"foobar", dsb.

?(pola|...|pola)
Padan dengan rentetan kosong atau rentetan yang sepadan dengan salah satu corak yang ditentukan.
Contoh: Corak ?(foo|bar) hanya sepadan dengan rentetan "", "foo", dan "bar".

@(pola|...|pola)
Memadankan rentetan yang sepadan dengan salah satu corak yang ditentukan. Contoh: Corak
@(foo|bar) hanya sepadan dengan rentetan "foo" dan "bar".

!(pola|...|pola)
Memadankan mana-mana rentetan yang tidak sepadan dengan salah satu corak yang ditentukan. Contoh: The
pola !(foo|bar) sepadan dengan semua rentetan kecuali "foo" dan "bar"; corak itu !(*)
tidak sepadan; corak itu !(?)* sepadan dengan semua rentetan (fikirkanlah).

Ambil perhatian bahawa globbing yang rumit, terutamanya dengan alternatif, adalah perlahan; menggunakan berasingan
perbandingan mungkin (atau mungkin tidak) lebih pantas.

Perhatikan bahawa mksh (Dan pdksh) tidak pernah sepadan dengan '.' dan '..', tetapi AT&T UNIX ksh, Bourne sh, dan GNU
menampar lakukan.

Ambil perhatian bahawa tiada unsur corak di atas sepadan dengan sama ada titik ('.') pada permulaan a
nama fail atau garis miring ('/'), walaupun ia digunakan secara eksplisit dalam urutan [..]; juga, yang
nama '.' dan '..' tidak pernah dipadankan, walaupun dengan corak '.*'.

Jika markdirs pilihan ditetapkan, mana-mana direktori yang terhasil daripada penjanaan nama fail ialah
ditandakan dengan '/' di belakang.

Input / output penghalaan semula
Apabila arahan dilaksanakan, input standard, output standard, dan ralat standard (file
deskriptor 0, 1, dan 2, masing-masing) biasanya diwarisi daripada cangkerang. tiga
pengecualian untuk ini adalah arahan dalam saluran paip, yang mana input standard dan/atau standard
output ialah yang ditetapkan oleh saluran paip, arahan tak segerak yang dicipta apabila kawalan kerja
dilumpuhkan, yang mana input standard pada mulanya ditetapkan sebagai daripadanya / dev / null, dan perintah untuk
yang mana mana-mana ubah hala berikut telah ditentukan:

>fail Output standard diubah hala ke fail. Jika fail tidak wujud, ia dicipta;
jika ia wujud, adalah fail biasa, dan noclobber pilihan ditetapkan, ralat
berlaku; jika tidak, fail dipotong. Perhatikan bahawa ini bermaksud arahan cmd
<foo > foo akan buka foo untuk membaca dan kemudian memotongnya apabila ia membukanya untuk
menulis, sebelum cmd mendapat peluang untuk membaca sebenarnya foo.

>|fail Sama seperti >, kecuali fail dipotong, walaupun jika fail noclobber pilihan ditetapkan.

>>fail Sama seperti >, kecuali jika fail wujud ia dilampirkan dan bukannya dipotong.
Selain itu, fail dibuka dalam mod tambah, jadi penulisan sentiasa pergi ke penghujung fail
fail (lihat membuka(2)).

<fail Input standard diubah hala daripada fail, yang dibuka untuk bacaan.

<>fail Sama seperti <, kecuali fail dibuka untuk membaca dan menulis.

<<penanda Selepas membaca baris arahan yang mengandungi pengalihan jenis ini (dipanggil a
"di sini dokumen"), shell menyalin baris daripada sumber arahan ke dalam a
fail sementara sehingga padanan baris penanda dibaca. Apabila perintah itu
dilaksanakan, input standard dialihkan daripada fail sementara. Jika penanda
tidak mengandungi aksara yang disebut, kandungan fail sementara diproses
seolah-olah disertakan dalam petikan berganda setiap kali arahan itu dilaksanakan, jadi parameter,
perintah, dan penggantian aritmetik dilakukan, bersama-sama dengan garis miring ke belakang ('\')
melarikan diri untuk '$', '`', '\' dan '\newline', tetapi bukan untuk '"'. Jika berbilang di sini
dokumen digunakan pada baris arahan yang sama, ia disimpan mengikut urutan.

Jika tidak penanda diberikan, dokumen di sini berakhir pada seterusnya << dan penggantian
akan dilaksanakan. Jika penanda hanya satu set sama ada "''" tunggal atau berganda '""'
petikan tanpa apa-apa di antaranya, dokumen di sini berakhir pada baris kosong seterusnya
dan penggantian tidak akan dilakukan.

<<-penanda Sama seperti <<, kecuali tab terkemuka dilucutkan daripada baris dalam dokumen di sini.

<<perkataan Sama seperti <<, kecuali itu perkataan is dokumen di sini. Ini dipanggil di sini
tali.

<&fd Input standard diduplikasi daripada deskriptor fail fd. fd boleh jadi nombor,
menunjukkan bilangan deskriptor fail sedia ada; huruf 'p', menunjukkan
deskriptor fail yang dikaitkan dengan output proses bersama semasa; atau
aksara '-', menunjukkan input standard akan ditutup. Perhatikan bahawa fd is
terhad kepada satu digit dalam kebanyakan pelaksanaan shell.

>&fd Sama seperti <&, kecuali operasi dilakukan pada output standard.

&>fail Sama seperti >fail 2> & 1. Ini ialah GNU (warisan) yang tidak digunakan lagi menampar sambungan disokong
by mksh yang turut menyokong nombor fd eksplisit sebelumnya, contohnya,
3&>fail adalah sama seperti 3>fail 2> & 3 in mksh tetapi ralat sintaks dalam GNU menampar.

&>|fail, &>>fail, &>&fd
Sama seperti >|fail, >>fail, Atau >&fd, diikuti oleh 2> & 1, seperti di atas. Ini adalah mksh
sambungan.

Dalam mana-mana ubah hala di atas, deskriptor fail yang diubah hala (iaitu standard
input atau output standard) boleh diberikan secara eksplisit dengan mendahului pengalihan dengan nombor
(mudah alih, hanya satu digit). Parameter, perintah dan penggantian aritmetik, tilde
penggantian, dan (jika shell interaktif) penjanaan nama fail semuanya dilakukan pada
yang fail, penanda, dan fd hujah ubah hala. Perhatikan, bagaimanapun, bahawa keputusan mana-mana
penjanaan nama fail hanya digunakan jika satu fail dipadankan; jika berbilang fail sepadan, fail
perkataan dengan aksara penjanaan nama fail yang dikembangkan digunakan. Perhatikan bahawa dalam terhad
shell, ubah hala yang boleh mencipta fail tidak boleh digunakan.

Untuk arahan mudah, ubah hala mungkin muncul di mana-mana dalam arahan; untuk kompaun-perintah
(if penyata, dsb.), sebarang ubah hala mesti dipaparkan pada penghujungnya. Ubah hala diproses
selepas saluran paip dibuat dan mengikut susunan ia diberikan, jadi yang berikut akan mencetak a
ralat dengan nombor baris disertakan kepadanya:

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

Deskriptor fail yang dibuat oleh ubah hala I/O adalah peribadi kepada shell.

Aritmetik ungkapan
Ungkapan aritmetik integer boleh digunakan dengan biarkan perintah, di dalam ungkapan $((..)),
rujukan tatasusunan dalam (cth nama[expr]), sebagai hujah berangka kepada ujian perintah, dan sebagai
nilai tugasan kepada parameter integer. Amaran: Ini juga mempengaruhi tersirat
penukaran kepada integer, contohnya seperti yang dilakukan oleh biarkan perintah. Jangan sekali-kali gunakan pengguna yang tidak ditanda
input, cth dari persekitaran, dalam aritmetik!

Ungkapan dikira menggunakan aritmetik bertanda dan mksh_ari_t jenis (ditandatangani 32-bit
integer), melainkan mereka bermula dengan satu-satunya aksara '#', dalam hal ini mereka gunakan mksh_uari_t (a
32-bit integer tidak bertanda).

Ungkapan mungkin mengandungi pengecam parameter alfa-numerik, rujukan tatasusunan dan integer
pemalar dan boleh digabungkan dengan pengendali C berikut (disenaraikan dan dikumpulkan dalam
meningkatkan susunan keutamaan):

Operator unary:

+ - ! ~ ++ --

Pengendali binari:

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

Pengendali ternary:

?: (keutamaan segera lebih tinggi daripada tugasan)

Pengendali pengelompokan:

()

Pemalar dan ungkapan integer dikira menggunakan lebar tepat 32-bit, ditandatangani atau
tidak ditandatangani, taip dengan lilitan senyap pada limpahan integer. Pemalar integer mungkin
ditentukan dengan asas sewenang-wenang menggunakan tatatanda asas#nombor, Di mana asas ialah perpuluhan
integer yang menentukan asas, dan nombor ialah nombor dalam pangkalan yang ditentukan. Selain itu,
integer asas-16 boleh ditentukan dengan meletakkan awalannya dengan '0x' (tidak peka huruf besar-kecil) dalam semua
bentuk ungkapan aritmetik, kecuali sebagai argumen berangka kepada ujian arahan terbina dalam.
Awalan nombor dengan digit tunggal sifar ('0') tidak menyebabkan tafsiran sebagai perlapanan, kerana
itu tidak selamat untuk dilakukan.

Sebagai istimewa mksh sambungan, nombor ke pangkal satu dianggap sama ada (8-bit
lutsinar) titik kod ASCII atau Unicode, bergantung pada cangkerang mod utf8 bendera (semasa
tetapan). AT&T UNIX ksh93 sintaks "'x'" dan bukannya "1#x" juga disokong. Nota
bahawa bait NUL (nilai integral sifar) tidak boleh digunakan. Parameter yang tidak ditetapkan atau kosong
menilai kepada 0 dalam konteks integer. Dalam mod Unicode, oktet mentah dipetakan ke dalam julat
EF80..EFFF seperti dalam OPTU-8, yang ada dalam PUA dan telah ditetapkan oleh CSUR untuk kegunaan ini. Jika
lebih daripada satu oktet dalam mod ASCII, atau urutan lebih daripada satu oktet tidak membentuk sah
dan urutan CESU-8 minimum diluluskan, tingkah laku tidak ditentukan (biasanya, cangkerang membatalkan
dengan ralat penghuraian, tetapi jarang sekali, ia berjaya, cth pada urutan C2 20). sebab tu awak
hendaklah sentiasa menggunakan mod ASCII melainkan anda tahu bahawa input adalah UTF-8 yang dibentuk dengan baik dalam
julat 0000..FFFD jika anda menggunakan ciri ini, berbanding dengan membaca -a.

Pengendali dinilai seperti berikut:

unary +
Hasilnya ialah hujah (termasuk untuk kesempurnaan).

unary -
Penafian.

! Logik BUKAN; hasilnya ialah 1 jika hujah adalah sifar, 0 jika tidak.

~ Aritmetik (bit-wise) BUKAN.

++ Kenaikan; mesti digunakan pada parameter (bukan ungkapan literal atau lain-lain).
Parameter ditambah sebanyak 1. Apabila digunakan sebagai operator awalan, hasilnya
ialah nilai pertambahan parameter; apabila digunakan sebagai operator postfix,
hasilnya ialah nilai asal parameter.

-- Sama seperti ++, kecuali parameter dikurangkan dengan 1.

, Mengasingkan dua ungkapan aritmetik; sebelah kiri dinilai dahulu,
kemudian kanan. Hasilnya ialah nilai ungkapan di sebelah kanan
sebelah.

= Tugasan; pembolehubah di sebelah kiri ditetapkan kepada nilai di sebelah kanan.

+= -= *= /= %= <<<= >>>= <<= >>= &= ^= |=
Pengendali tugasan.var><op>=expr> adalah sama denganvar>=var><op><expr>,
dengan mana-mana operator keutamaan dalamexpr> dipelihara. Contohnya, “var1 *= 5 +
3” adalah sama seperti menyatakan “var1 = var1 * (5 + 3)”.

|| Logik ATAU; hasilnya ialah 1 jika mana-mana hujah bukan sifar, 0 jika tidak. The
hujah kanan dinilai hanya jika hujah kiri adalah sifar.

&& Logik DAN; hasilnya ialah 1 jika kedua-dua hujah bukan sifar, 0 jika tidak. The
hujah kanan dinilai hanya jika hujah kiri bukan sifar.

| Aritmetik (bijak sedikit) ATAU.

^ Aritmetik (sedikit-bijak) XOR (eksklusif-ATAU).

& Aritmetik (bijak sedikit) DAN.

== Sama; hasilnya ialah 1 jika kedua-dua hujah adalah sama, 0 jika tidak.

!= Tidak sama; hasilnya ialah 0 jika kedua-dua hujah adalah sama, 1 jika tidak.

< Kurang daripada; hasilnya ialah 1 jika hujah kiri kurang daripada kanan, 0 jika
tidak.

<= > >=
Kurang daripada atau sama, lebih besar daripada, lebih besar daripada atau sama. Lihat <.

<<< >>>
Putar ke kiri (kanan); hasilnya serupa dengan anjakan (lihat <<) kecuali bahawa
bit yang dialih keluar pada satu hujung dianjak masuk di hujung yang lain, bukannya sifar
atau bit tanda.

<< >> Beralih ke kiri (kanan); hasilnya ialah hujah kiri dengan bitnya dialih ke kiri
(kanan) dengan jumlah yang diberikan dalam hujah yang betul.

+ - * /
Penambahan, penolakan, pendaraban, dan pembahagian.

% Baki; hasilnya ialah baki simetri pembahagian kiri
hujah oleh pihak kanan. Untuk mendapatkan modulus matematik “a mod b”, gunakan
formula “(a % b + b) % b”.

<arg1>?arg2>:arg3>
Sekiranyaarg1> bukan sifar, hasilnyaarg2>; sebaliknya hasilnyaarg3>.
Hujah bukan hasil tidak dinilai.

Proses bersama
Proses bersama (iaitu saluran paip yang dibuat dengan operator '|&') ialah proses tak segerak
bahawa shell boleh menulis kedua-duanya (menggunakan cetak -p) dan baca daripada (menggunakan membaca -p). Input
dan output proses bersama juga boleh dimanipulasi menggunakan >&p and <&p ubah hala,
masing-masing. Apabila proses bersama telah dimulakan, proses lain tidak boleh dimulakan sehingga proses bersama-
proses keluar, atau sehingga input proses bersama telah diubah hala menggunakan a exec n>&p
pengalihan semula. Jika input proses bersama diubah hala dengan cara ini, proses bersama seterusnya adalah
dimulakan akan berkongsi output dengan proses bersama pertama, melainkan output permulaan
proses bersama telah diubah hala menggunakan exec n<&p pengalihan semula.

Beberapa nota mengenai proses bersama:

· Satu-satunya cara untuk menutup input proses bersama (jadi proses bersama membaca fail akhir) ialah
untuk mengubah hala input kepada deskriptor fail bernombor dan kemudian tutup deskriptor fail itu:
exec 3>&p; exec 3>&-

· Untuk proses bersama berkongsi output yang sama, shell mesti menyimpan tulisan
bahagian paip keluaran terbuka. Ini bermakna bahawa akhir fail tidak akan dikesan sehingga
semua proses bersama yang berkongsi output proses bersama telah keluar (apabila mereka semua keluar,
shell menutup salinan paipnya). Ini boleh dielakkan dengan mengalihkan output ke a
deskriptor fail bernombor (kerana ini juga menyebabkan shell menutup salinannya). Perhatikan bahawa
tingkah laku ini berbeza sedikit daripada cangkerang Korn asal yang menutup salinannya
daripada bahagian tulis keluaran proses bersama apabila proses bersama yang paling baru dimulakan
(bukannya apabila semua proses perkongsian bersama) keluar.

· cetak -p akan mengabaikan isyarat SIGPIPE semasa menulis jika isyarat tidak terperangkap atau
diabaikan; perkara yang sama berlaku jika input proses bersama telah diduplikasi ke fail lain
deskriptor dan cetak -un digunakan.

Fungsi
Fungsi ditakrifkan menggunakan sama ada shell Korn fungsi nama fungsi sintaks atau
Cangkang Bourne/POSIX nama fungsi() sintaks (lihat di bawah untuk perbezaan antara keduanya
borang). Fungsi adalah seperti .‐skrip (iaitu skrip bersumber menggunakan '.' terbina dalam) di dalamnya
ia dilaksanakan dalam persekitaran semasa. Walau bagaimanapun, tidak seperti .‐skrip, hujah shell
(iaitu parameter kedudukan $1, $2, dsb.) tidak pernah kelihatan di dalamnya. Apabila cangkerang adalah
menentukan lokasi arahan, fungsi dicari selepas terbina dalam khas
arahan, sebelum terbina dan PATH dicari.

Fungsi sedia ada boleh dipadam menggunakan tidak tenteram -f nama fungsi. Senarai fungsi boleh
diperoleh menggunakan set taip +f dan definisi fungsi boleh disenaraikan menggunakan set taip -f.
. autoload perintah (yang merupakan alias untuk set taip -fu) boleh digunakan untuk mencipta undefined
fungsi: apabila fungsi yang tidak ditentukan dilaksanakan, shell mencari laluan yang dinyatakan dalam
parameter FPATH untuk fail dengan nama yang sama dengan fungsi yang, jika ditemui, dibaca
dan dilaksanakan. Jika selepas melaksanakan fail, fungsi yang dinamakan didapati ditakrifkan, the
fungsi dilaksanakan; jika tidak, carian arahan biasa diteruskan (iaitu shell
mencari jadual arahan terbina dalam biasa dan PATH). Ambil perhatian bahawa jika arahan tidak dijumpai
menggunakan PATH, percubaan dibuat untuk memuatkan secara automatik fungsi menggunakan FPATH (ini adalah fail yang tidak didokumenkan
ciri kulit Korn asal).

Fungsi boleh mempunyai dua atribut, "jejak" dan "eksport", yang boleh ditetapkan dengan set taip -kos
and set taip -fx, masing-masing. Apabila fungsi yang dikesan dilaksanakan, shell's xtrace
pilihan dihidupkan untuk tempoh fungsi. Atribut "eksport" fungsi ialah
pada masa ini tidak digunakan. Dalam shell Korn asal, fungsi yang dieksport kelihatan kepada shell
skrip yang dilaksanakan.

Memandangkan fungsi dilaksanakan dalam persekitaran shell semasa, penetapan parameter dibuat
fungsi dalam kelihatan selepas fungsi selesai. Jika ini bukan yang diingini
kesan, yang set taip arahan boleh digunakan di dalam fungsi untuk mencipta parameter tempatan. Nota
bahawa AT&T UNIX ksh93 menggunakan skop statik (satu skop global, satu skop tempatan setiap fungsi)
dan membenarkan pembolehubah tempatan hanya pada fungsi gaya Korn, sedangkan mksh menggunakan skop dinamik
(skop bersarang dari pelbagai lokaliti). Ambil perhatian bahawa parameter khas (cth $$, $!) tidak boleh
berskop dengan cara ini.

Status keluar sesuatu fungsi ialah perintah terakhir yang dilaksanakan dalam fungsi tersebut. A
fungsi boleh dibuat untuk selesai serta-merta menggunakan pulangan perintah; ini juga boleh digunakan
untuk menyatakan secara eksplisit status keluar.

Fungsi yang ditakrifkan dengan fungsi perkataan terpelihara dilayan secara berbeza dalam perkara berikut
cara daripada fungsi yang ditakrifkan dengan () tatatanda:

· Parameter $0 ditetapkan kepada nama fungsi (Fungsi gaya Bourne meninggalkan $0
tidak disentuh).

· Penetapan parameter sebelum panggilan fungsi tidak disimpan dalam persekitaran shell
(melaksanakan fungsi gaya Bourne akan menyimpan tugasan).

· OPTIND disimpan/set semula dan dipulihkan semasa masuk dan keluar daripada fungsi jadi getopts boleh
digunakan dengan betul di dalam dan di luar fungsi (Fungsi gaya Bourne meninggalkan OPTIND
tidak disentuh, jadi menggunakan getopts di dalam fungsi mengganggu penggunaan getopts di luar
fungsi).

· Pilihan cangkerang (menetapkan -o) mempunyai skop setempat, iaitu perubahan di dalam fungsi ditetapkan semula
jalan keluarnya.

Pada masa hadapan, perbezaan berikut juga boleh ditambah:

· Persekitaran perangkap/isyarat yang berasingan akan digunakan semasa pelaksanaan fungsi. ini
bermakna perangkap yang ditetapkan di dalam fungsi tidak akan menjejaskan perangkap dan isyarat cangkerang
yang tidak diabaikan dalam cangkerang (tetapi mungkin terperangkap) akan mempunyai kesan lalai dalam
sesuatu fungsi.

· Perangkap EXIT, jika ditetapkan dalam fungsi, akan dilaksanakan selepas fungsi kembali.

Perintah pelaksanaan
Selepas penilaian argumen baris arahan, ubah hala, dan penetapan parameter, the
jenis arahan ditentukan: arahan terbina dalam khas, fungsi, terbina biasa, atau
nama fail untuk dilaksanakan ditemui menggunakan parameter PATH. Semakan dibuat dalam
tertib di atas. Arahan terbina dalam khas berbeza daripada arahan lain kerana PATH
parameter tidak digunakan untuk mencarinya, ralat semasa pelaksanaannya boleh menyebabkan
shell interaktif untuk keluar, dan penetapan parameter yang ditentukan sebelum arahan
disimpan selepas arahan selesai. Perintah terbina dalam biasa adalah berbeza hanya dalam hal itu
parameter PATH tidak digunakan untuk mencarinya.

Asal ksh dan POSIX agak berbeza di mana arahan dianggap istimewa atau
biasa.

Utiliti terbina dalam khas POSIX:

., :, memecahkan, terus, menipu, exec, keluar, mengeksport, baca sahaja, pulangan, menetapkan, peralihan, kali, perangkap,
tidak tenteram

Tambahan mksh arahan menyimpan tugasan:

dibina, global, sumber, set taip, tunggu

Binaan yang tidak istimewa:

[, alias, bg, mengikat, kucing, cd, arahan, echo, palsu, fc, fg, getopts, pekerjaan, membunuh, biarkan, cetak,
jentera, membaca, jalan sebenar, menamakan semula, tidur, Menggantung, ujian, benar, had, umask, Unalias, dari mana

Setelah jenis arahan telah ditentukan, sebarang penetapan parameter baris perintah adalah
dilakukan dan dieksport untuk tempoh arahan.

Yang berikut menerangkan perintah terbina dalam khas dan biasa dan terpelihara seperti terbina
perkataan:

. fail [berhujah ...]
Ini dipanggil arahan "titik". Laksanakan arahan dalam fail dalam arus
persekitaran. Fail dicari dalam direktori PATH. Jika hujah adalah
diberikan, parameter kedudukan boleh digunakan untuk mengaksesnya sementara fail sedang
dilaksanakan. Jika tiada hujah diberikan, parameter kedudukan adalah parameter
persekitaran arahan digunakan.

: [...]
Perintah nol. Status keluar ditetapkan kepada sifar.

[ ungkapan ]
Lihat ujian.

alias [-d | -t [-r] | +-x] [-p] [+] [nama [=nilai] ...]
Tanpa hujah, alias menyenaraikan semua alias. Untuk sebarang nama tanpa nilai, the
alias sedia ada disenaraikan. Mana-mana nama dengan nilai mentakrifkan alias (lihat alias
di atas).

Apabila menyenaraikan alias, satu daripada dua format digunakan. Biasanya, alias disenaraikan sebagai
nama=nilai, Di mana nilai dipetik. Jika pilihan didahului dengan '+', atau '+' tunggal
diberikan pada baris arahan sahaja nama dicetak.

. -d pilihan menyebabkan alias direktori yang digunakan dalam pengembangan tilde disenaraikan
atau set (lihat Tilde pengembangan di atas).

Jika -p pilihan digunakan, setiap alias diawali dengan rentetan "alias".

. -t pilihan menunjukkan bahawa alias yang dijejaki akan disenaraikan/ditetapkan (nilai ditentukan
pada baris arahan diabaikan untuk alias yang dijejaki). The -r pilihan menunjukkan bahawa
semua alias yang dijejaki hendaklah ditetapkan semula.

. -x set pilihan (+x mengosongkan) atribut eksport alias, atau, jika tiada nama
diberikan, menyenaraikan alias dengan atribut eksport (mengeksport alias mempunyai no
kesan).

bg [kerja ...]
Sambung semula kerja yang dihentikan yang ditentukan di latar belakang. Jika tiada pekerjaan dinyatakan, %+
diandaikan. Lihat Kerja kawalan di bawah untuk maklumat lebih lanjut.

mengikat [-l]
Pengikatan semasa disenaraikan. Sekiranya -l bendera diberikan, mengikat sebaliknya menyenaraikan
nama fungsi yang mana kekunci mungkin terikat. Lihat Emacs menyunting mod selama lebih
maklumat.

mengikat [-m] rentetan=[pengganti] ...
mengikat rentetan=[arahan-suntingan] ...
Perintah pengeditan yang ditentukan terikat pada yang diberikan rentetan, yang sepatutnya terdiri daripada a
aksara kawalan secara pilihan didahului oleh salah satu daripada dua aksara awalan dan
pilihan digantikan oleh watak tilde. Input masa depan daripada rentetan akan menyebabkan
arahan penyuntingan untuk segera digunakan. Sekiranya -m bendera diberikan, yang ditentukan
input rentetan selepas itu akan segera digantikan dengan yang diberikan pengganti rentetan
yang mungkin mengandungi arahan pengeditan tetapi bukan makro lain. Jika postfix tilde ialah
diberikan, tilde mengekori satu atau dua prefiks dan watak kawalan diabaikan,
sebarang watak tertinggal lain akan diproses selepas itu.

Aksara kawalan boleh ditulis menggunakan tatatanda karet iaitu ^X mewakili Ctrl-X.
Ambil perhatian bahawa walaupun hanya dua aksara awalan (biasanya ESC dan ^X) disokong,
beberapa jujukan berbilang aksara boleh disokong.

Pengikatan lalai berikut menunjukkan cara kekunci anak panah, kekunci rumah, tamat dan padam
pada BSD wsvt25, terminal skrin xterm-xfree86 atau GNU terikat (sudah tentu beberapa
urutan melarikan diri tidak akan berfungsi dengan baik):

ikat '^X'=prefix-2
ikat '^[['=prefix-2
ikat '^XA'=up-sejarah
ikat '^XB'=down-history
ikat '^XC'=forward-char
bind '^XD'=backward-char
ikat '^X1~'=permulaan-baris
ikat '^X7~'=permulaan-baris
ikat '^XH'=permulaan-baris
ikat '^X4~'=hujung-baris
ikat '^X8~'=hujung-baris
ikat '^XF'=hujung-baris
bind '^X3~'=delete-char-forward

memecahkan [tahap]
Keluar dari tahapke dalam-paling Untuk, pilih, sehingga, Atau manakala gelung. tahap lalai kepada 1.

dibina [--] arahan [berhujah ...]
Laksanakan arahan terbina dalam arahan.

kucing [-u] [fail ...]
Baca fail secara berurutan, dalam susunan baris arahan, dan tuliskannya ke output standard.
Jika fail ialah satu sempang ('-') atau tiada, dibaca daripada input standard. Untuk terus
panggilan terbina, POSIX -u pilihan disokong sebagai no-op. Untuk panggilan daripada shell, jika
sebarang pilihan diberikan, luaran kucing(1) utiliti diutamakan berbanding builtin.

cd [-L] [dir]
cd -P [-e] [dir]
chdir [-eLP] [dir]
Tetapkan direktori kerja kepada dir. Jika parameter CDPATH ditetapkan, ia menyenaraikan
laluan carian untuk direktori yang mengandungi dir. Laluan NULL bermaksud arus
direktori. Jika dir ditemui dalam mana-mana komponen laluan carian CDPATH selain daripada
Laluan NULL, nama direktori kerja baharu akan ditulis kepada output standard.
If dir tiada, direktori rumah HOME digunakan. Jika dir ialah '-', yang sebelumnya
direktori kerja digunakan (lihat parameter OLDPWD).

Jika -L pilihan (laluan logik) digunakan atau jika fizikal pilihan tidak ditetapkan (lihat
menetapkan arahan di bawah), rujukan kepada '..' dalam dir adalah relatif kepada laluan yang digunakan untuk pergi
direktori tersebut. Sekiranya -P pilihan (laluan fizikal) digunakan atau jika fizikal pilihan adalah
set, '..' adalah relatif kepada pepohon direktori sistem fail. JKR dan OLDPWD
parameter dikemas kini untuk mencerminkan direktori kerja semasa dan lama,
masing-masing. Sekiranya -e pilihan ditetapkan untuk traversal sistem fail fizikal dan PWD
tidak dapat ditetapkan, kod keluar ialah 1; lebih besar daripada 1 jika ralat berlaku, 0
sebaliknya.

cd [-eLP] lama baru
chdir [-eLP] lama baru
Tali itu baru digantikan lama dalam direktori semasa, dan shell
cuba menukar ke direktori baharu.

arahan [-pVv] cmd [berhujah ...]
Jika kedua-duanya tidak -v tidak -V pilihan diberi, cmd dilaksanakan betul-betul seolah-olah arahan mempunyai
tidak dinyatakan, dengan dua pengecualian: pertama, cmd tidak boleh menjadi fungsi shell; dan
kedua, arahan terbina dalam khas kehilangan keistimewaannya (iaitu pengalihan dan
ralat utiliti tidak menyebabkan shell terkeluar, dan tugasan arahan tidak
kekal).

Jika -p pilihan diberikan, laluan carian lalai digunakan dan bukannya nilai semasa
PATH, nilai sebenar yang bergantung kepada sistem.

Jika -v pilihan diberikan, bukannya melaksanakan cmd, maklumat tentang perkara yang akan berlaku
dilaksanakan diberikan (dan perkara yang sama dilakukan untuk berhujah ...). Untuk binaan, fungsi dan
kata kunci, nama mereka hanya dicetak; untuk alias, arahan yang mentakrifkannya ialah
dicetak; untuk utiliti yang ditemui dengan mencari parameter PATH, laluan penuh
arahan dicetak. Jika tiada arahan ditemui (iaitu carian laluan gagal), tiada apa-apa
dicetak dan arahan keluar dengan status bukan sifar. The -V pilihan adalah seperti -v
pilihan, kecuali ia lebih bertele-tele.

terus [tahap]
Melompat ke permulaan tahapke dalam-paling Untuk, pilih, sehingga, Atau manakala gelung.
tahap lalai kepada 1.

echo [-A] [berhujah ...]
Amaran: utiliti ini tidak mudah alih; gunakan corn shell builtin cetak sebaliknya.

Mencetak hujahnya (dipisahkan oleh ruang) diikuti dengan baris baharu, mengikut standard
pengeluaran. Baris baharu ditindas jika mana-mana hujah mengandungi garis miring ke belakang
urutan '\c'. Lihat cetak arahan di bawah untuk senarai jujukan garis miring terbalik yang lain
yang diiktiraf.

Pilihan disediakan untuk keserasian dengan skrip shell BSD. The -n pilihan
menekan baris baharu yang mengekori, -e mendayakan tafsiran garis miring terbalik (tidak boleh, kerana
ini biasanya dilakukan), dan -E menyekat tafsiran garisan terbalik.

Jika posix or sh pilihan ditetapkan atau ini adalah panggilan terbina langsung, hanya yang pertama
hujah dianggap sebagai pilihan, dan hanya jika ia betul-betul "-n”. Sebak ke belakang
tafsiran dilumpuhkan.

menipu arahan ...
Argumen digabungkan (dengan ruang di antara mereka) untuk membentuk satu rentetan
yang shell kemudian menghuraikan dan melaksanakan dalam persekitaran semasa.

exec [-a argv0] [-c] [arahan [berhujah ...]]
Perintah itu dilaksanakan tanpa forking, menggantikan proses shell. Ini adalah
pada masa ini mutlak, iaitu exec tidak pernah kembali, walaupun arahan tidak dijumpai. The
-a pilihan membenarkan menetapkan nilai argv[0] yang berbeza, dan -c membersihkan persekitaran
sebelum melaksanakan proses anak, kecuali pembolehubah _ dan tugasan langsung.

Jika tiada arahan diberikan kecuali untuk pengalihan I/O, pengalihan I/O adalah kekal
dan cangkerang tidak diganti. Mana-mana deskriptor fail yang lebih besar daripada 2 yang dibuka
or dup(2)'d dengan cara ini tidak disediakan untuk arahan lain yang dilaksanakan (cth
arahan yang tidak terbina dalam shell). Perhatikan bahawa cangkang Bourne berbeza
di sini; ia meneruskan deskriptor fail ini.

keluar [terkini]
Cangkang keluar dengan status keluar yang ditentukan. Jika terkini tidak dinyatakan, jalan keluar
status ialah nilai semasa bagi $? parameter.

mengeksport [-p] [parameter[=nilai]]
Menetapkan atribut eksport parameter yang dinamakan. Parameter yang dieksport dihantar masuk
persekitaran untuk melaksanakan arahan. Jika nilai ditentukan, parameter dinamakan
juga ditugaskan.

Jika tiada parameter dinyatakan, semua parameter dengan set atribut eksport adalah
dicetak satu setiap baris; sama ada nama mereka, atau, jika '-' tanpa huruf pilihan
ditentukan, nama=pasangan nilai, atau, dengan -p, mengeksport arahan yang sesuai untuk kemasukan semula.

palsu Perintah yang keluar dengan status bukan sifar.

fc [-e editor | -l [-n]] [-r] [pertama [lepas]]
pertama and lepas pilih arahan daripada sejarah. Perintah boleh dipilih mengikut sejarah
nombor (nombor negatif pergi ke belakang daripada baris semasa, terkini) atau a
rentetan yang menyatakan perintah terbaharu bermula dengan rentetan itu. The -l pilihan
menyenaraikan arahan pada output standard, dan -n menghalang nombor arahan lalai.
. -r pilihan membalikkan susunan senarai. Tanpa -l, arahan yang dipilih ialah
disunting oleh editor yang ditentukan dengan -e pilihan, atau jika tidak -e dinyatakan, iaitu
editor yang ditentukan oleh parameter FCEDIT (jika parameter ini tidak ditetapkan, /bin/ed is
digunakan), dan kemudian dilaksanakan oleh shell.

fc -e - | -s [-g] [lama=baru] [awalan]
Laksanakan semula arahan yang dipilih (arahan sebelumnya secara lalai) selepas melaksanakan
penggantian pilihan bagi lama bersama baru. Jika -g ditentukan, semua kejadian
lama diganti dengan baru. Maksud -e - and -s adalah sama: laksana semula
arahan yang dipilih tanpa menggunakan editor. Perintah ini biasanya diakses dengan
yang telah ditetapkan: alias r='fc -e -'

fg [kerja ...]
Sambung semula kerja yang ditentukan di latar depan. Jika tiada pekerjaan dinyatakan, %+ is
diandaikan. Lihat Kerja kawalan di bawah untuk maklumat lebih lanjut.

getopts optstring nama [berhujah ...]
Digunakan oleh prosedur shell untuk menghuraikan argumen yang ditentukan (atau parameter kedudukan,
jika tiada hujah diberikan) dan untuk menyemak pilihan undang-undang. optstring mengandungi
surat pilihan yang getopts adalah untuk mengenali. Jika satu huruf diikuti dengan titik bertindih, maka
pilihan dijangka mempunyai hujah. Pilihan yang tidak mengambil hujah mungkin
dikumpulkan dalam satu hujah. Jika pilihan mengambil hujah dan pilihan
watak bukanlah watak terakhir hujah yang terdapat di dalamnya, baki daripada
hujah itu diambil sebagai hujah pilihan; jika tidak, hujah seterusnya ialah
hujah pilihan.

Setiap masa getopts dipanggil, ia meletakkan pilihan seterusnya dalam parameter shell nama
dan indeks hujah yang akan diproses oleh panggilan seterusnya ke getopts dalam
parameter shell OPTIND. Jika pilihan telah diperkenalkan dengan '+', pilihan diletakkan
in nama diawali dengan '+'. Apabila pilihan memerlukan hujah, getopts tempat
ia dalam parameter shell OPTARG.

Apabila pilihan yang menyalahi undang-undang atau hujah pilihan yang hilang ditemui, tanda soal
atau kolon diletakkan nama (menunjukkan pilihan yang menyalahi undang-undang atau hujah yang hilang,
masing-masing) dan OPTARG ditetapkan kepada aksara pilihan yang menyebabkan masalah.
Tambahan pula, jika optstring tidak bermula dengan titik bertindih, tanda soal diletakkan
nama, OPTARG tidak ditetapkan dan mesej ralat dicetak kepada ralat standard.

Apabila penghujung pilihan ditemui, getopts keluar dengan keluar bukan sifar
status. Pilihan berakhir pada hujah pertama (hujah bukan pilihan) yang tidak bermula
dengan '-', atau apabila hujah '--' ditemui.

Penghuraian pilihan boleh ditetapkan semula dengan menetapkan OPTIND kepada 1 (ini dilakukan secara automatik
bila-bila masa shell atau prosedur shell dipanggil).

Amaran: Menukar nilai parameter shell OPTIND kepada nilai selain 1, atau
menghuraikan set argumen yang berbeza tanpa menetapkan semula OPTIND, boleh membawa kepada yang tidak dijangka
keputusan.

global ...
Lihat set taip.

hash [-r] [nama ...]
Tanpa hujah, sebarang nama laluan perintah boleh laku yang dicincang disenaraikan. The -r pilihan
menyebabkan semua arahan cincang dialih keluar daripada jadual cincang. setiap satu nama sedang dicari
seolah-olah ia adalah nama arahan dan ditambah pada jadual hash jika ia boleh laku
perintah.

pekerjaan [-lnp] [kerja ...]
Paparkan maklumat tentang pekerjaan yang ditentukan; jika tiada kerja dinyatakan, semua kerja
dipaparkan. The -n pilihan menyebabkan maklumat dipaparkan hanya untuk pekerjaan yang
telah bertukar keadaan sejak pemberitahuan terakhir. Sekiranya -l pilihan digunakan, iaitu
ID proses setiap proses dalam kerja juga disenaraikan. The -p pilihan menyebabkan hanya
kumpulan proses setiap kerja yang akan dicetak. Lihat Kerja kawalan di bawah untuk format kerja
dan kerja yang dipaparkan.

membunuh [-s tanda tangan | -tanda tangan | -tanda tangan] { kerja | pid | pgrp } ...
Hantar isyarat yang ditentukan ke tugas tertentu, ID proses atau kumpulan proses. Jika
tiada isyarat dinyatakan, isyarat TERM dihantar. Jika kerja ditentukan, isyarat
dihantar ke kumpulan proses kerja. Lihat Kerja kawalan di bawah untuk format kerja.

membunuh -l [status keluar ...]
Cetak nama isyarat yang sepadan dengan status keluar. Jika tiada hujah dinyatakan, a
senarai semua isyarat, nombornya, dan penerangan ringkas mengenainya dicetak.

biarkan [ungkapan ...]
Setiap ungkapan dinilai (lihat Aritmetik ungkapan atas). Jika semua ungkapan
berjaya dinilai, status keluar ialah 0 (1) jika ungkapan terakhir dinilai
kepada bukan sifar (sifar). Jika ralat berlaku semasa penghuraian atau penilaian sesuatu
ungkapan, status keluar adalah lebih besar daripada 1. Oleh kerana ungkapan mungkin perlu
dipetik, (( expr )) ialah gula sintaksis untuk { let 'expr'; }.

biarkan] Alias ​​yang digunakan secara dalaman untuk biarkan.

mknod [-m mod] nama b|c utama kecil
mknod [-m mod] nama p
Buat fail khas peranti. Jenis fail mungkin b (peranti jenis blok), c
(peranti jenis aksara), atau p (paip bernama, FIFO). Fail yang dibuat mungkin diubah suai
mengikutnya mod (melalui -m pilihan), utama (nombor peranti utama), dan kecil
(nombor peranti kecil). Ini biasanya bukan sebahagian daripada mksh; bagaimanapun, pengedar boleh
telah menambah ini sebagai terbina sebagai penggodaman kelajuan.

cetak [-nprsu[n] | -R [-paling]] [hujah ...]
cetak mencetak hujahnya pada output standard, dipisahkan oleh ruang dan ditamatkan
dengan baris baharu. The -n pilihan menyekat baris baharu. Secara lalai, C tertentu terlepas
diterjemahkan. Ini termasuk yang disebutkan dalam Tanda Belakang pengembangan di atas, juga
sebagai '\c', yang bersamaan dengan menggunakan -n pilihan. Pengembangan garis miring ke belakang mungkin
dihalang dengan -r pilihan. The -s pilihan mencetak ke fail sejarah dan bukannya
keluaran standard; yang -u pilihan mencetak ke deskriptor fail n (n lalai kepada 1 jika
ditinggalkan); dan juga -p pilihan dicetak ke proses bersama (lihat Proses bersama di atas).

. -R pilihan digunakan untuk meniru, pada tahap tertentu, BSD echo(1) perintah yang tidak
tidak memproses urutan '\' melainkan jika -e pilihan diberi. Seperti di atas, yang -n pilihan
menekan baris baharu yang mengekori.

Printf format [hujah ...]
Output berformat. Lebih kurang sama dengan Printf(1), utiliti, kecuali ia menggunakan
yang sama Tanda Belakang pengembangan dan kod I/O dan tidak mengendalikan titik terapung sebagai
selebihnya mksh. Utiliti luaran lebih disukai daripada yang terbina. Ini bukan
biasanya sebahagian daripada mksh; bagaimanapun, pengedar mungkin telah menambah ini sebagai terbina sebagai a
godam laju. Jangan gunakan dalam kod baharu.

jentera [-LP]
Cetak direktori kerja sekarang. Sekiranya -L pilihan digunakan atau jika fizikal
pilihan tidak ditetapkan (lihat menetapkan arahan di bawah), laluan logik dicetak (iaitu
jalan biasa cd ke direktori semasa). Sekiranya -P pilihan (laluan fizikal) digunakan
atau sekiranya fizikal pilihan ditetapkan, laluan ditentukan daripada sistem fail (oleh
mengikuti direktori '..' ke direktori akar) dicetak.

membaca [-A | -a] [-d x] [-N z | -n z] [-p | -u[n]] [-t n] [-rs] [p ...]
Membaca baris input, memisahkan input ke dalam medan menggunakan parameter IFS (lihat
Penggantian di atas), dan memberikan setiap medan kepada parameter yang ditentukan p. Jika tidak
parameter ditentukan, parameter REPLY digunakan untuk menyimpan hasilnya. Dengan
-A and -a pilihan, hanya tiada atau satu parameter diterima. Jika ada lagi
parameter daripada medan, parameter tambahan ditetapkan kepada rentetan kosong atau 0; jika
terdapat lebih banyak medan daripada parameter, parameter terakhir diberikan bakinya
medan (termasuk perkataan pemisah).

Pilihannya adalah seperti berikut:

-A Simpan hasilnya ke dalam parameter p (atau REPLY) sebagai susunan perkataan.

-a Simpan hasil tanpa pemisahan perkataan ke dalam parameter p (atau REPLY) sebagai
tatasusunan aksara (aksara luas jika mod utf8 pilihan digubal,
oktet sebaliknya); titik kod dikodkan sebagai nombor perpuluhan secara lalai.

-d x Gunakan bait pertama daripada x, NUL jika kosong, bukannya aksara baris baharu ASCII
sebagai pembatas baris input.

-N z Daripada membaca sehingga akhir baris, baca betul-betul z bait. Jika EOF atau a
tamat masa berlaku, bacaan separa dikembalikan dengan status keluar 1.

-n z Daripada membaca sehingga akhir baris, baca sehingga z bait tetapi kembali sebaik sahaja
sebarang bait dibaca, contohnya dari peranti terminal perlahan, atau jika EOF atau tamat masa
berlaku.

-p Baca daripada proses bersama yang sedang aktif, lihat Proses bersama di atas untuk butiran
mengenai ini.

-u[n] Baca daripada deskriptor fail n (lalai kepada 0, iaitu input standard). The
hujah mesti segera mengikut watak pilihan.

-t n Sampuk bacaan selepas itu n saat (dinyatakan sebagai nilai perpuluhan positif dengan an
bahagian pecahan pilihan). Status keluar daripada membaca ialah 1 jika tamat masa
berlaku, tetapi bacaan separa mungkin masih dikembalikan.

-r Kebiasaannya, aksara sengkang terbalik ASCII terlepas daripada maksud istimewa bagi
aksara berikut dan dilucutkan daripada input; membaca tidak berhenti apabila
menghadapi jujukan garisan baru segaris ke belakang dan tidak menyimpan baris baharu itu
keputusan. Pilihan ini mendayakan mod mentah, di mana garis miring ke belakang tidak
telah di proses.

-s Baris input disimpan ke sejarah.

Jika input adalah terminal, kedua-dua -N and -n pilihan menetapkannya ke dalam mod mentah; mereka
baca keseluruhan fail jika -1 diluluskan sebagai z hujah.

Parameter pertama mungkin mempunyai tanda soal dan rentetan yang dilampirkan padanya, di mana
kes rentetan digunakan sebagai gesaan (dicetak kepada ralat standard sebelum sebarang input adalah
baca) jika input ialah a tty(4) (cth membaca nfoo?'nombor of foos: ').

Jika tiada input dibaca atau tamat masa berlaku, membaca keluar dengan status bukan sifar.

Satu lagi set helah yang berguna: Jika membaca dijalankan dalam gelung seperti manakala membaca foo; do ...;
dilakukan maka ruang putih terkemuka akan dialih keluar (IFS) dan garis miring ke belakang diproses. awak
mungkin nak guna manakala IFS= membaca -r foo; do ...; dilakukan untuk I/O murni. Begitu juga,
semasa menggunakan -a pilihan, penggunaan -r pilihan mungkin berhemat; perkara yang sama berlaku
untuk:

cari . -jenis f -print0 |& \
manakala IFS= baca -d '' -pr nama fail; buat
print -r -- "ditemui <${nama fail#./}>"
dilakukan

Gelung dalam akan dilaksanakan dalam subkulit dan perubahan berubah tidak boleh
disebarkan jika dilaksanakan dalam saluran paip:

bar | baz | semasa membaca foo; lakukan ...; selesai

Gunakan proses bersama sebaliknya:

bar | baz |&
semasa membaca -p foo; lakukan ...; selesai
eksekutif 3>&p; eksekutif 3>&-

baca sahaja [-p] [parameter [=nilai] ...]
Menetapkan atribut baca sahaja bagi parameter yang dinamakan. Jika nilai diberikan,
parameter ditetapkan kepada mereka sebelum menetapkan atribut. Sebaik sahaja parameter dibuat
baca sahaja, ia tidak boleh dinyahtetapkan dan nilainya tidak boleh diubah.

Jika tiada parameter dinyatakan, nama semua parameter dengan baca-sahaja
atribut dicetak satu setiap baris, melainkan jika -p pilihan digunakan, dalam hal ini
baca sahaja arahan yang mentakrifkan semua parameter baca sahaja, termasuk nilainya, adalah
dicetak.

jalan sebenar [--] nama
Mencetak nama laluan mutlak yang diselesaikan sepadan dengan nama. Jika nama berakhir dengan a
slash ('/'), ia juga disemak untuk kewujudan dan sama ada ia adalah direktori;
jika tidak, jalan sebenar mengembalikan 0 jika nama laluan sama ada wujud atau boleh dibuat
serta-merta, iaitu semua kecuali komponen terakhir wujud dan merupakan direktori.

menamakan semula [--] dari kepada
Menamakan semula fail dari kepada kepada. Kedua-duanya mestilah nama laluan yang lengkap dan pada peranti yang sama.
Binaan ini bertujuan untuk situasi kecemasan di mana /bin/mv menjadi tidak boleh digunakan, dan
secara langsung memanggil menamakan semula(2).

pulangan [terkini]
Pulangan daripada fungsi atau . skrip, dengan status keluar terkini. Jika tidak terkini diberikan,
status keluar perintah terakhir yang dilaksanakan digunakan. Jika digunakan di luar fungsi
or . skrip, ia mempunyai kesan yang sama seperti keluar. Perhatikan bahawa mksh merawat kedua-dua profil dan
fail ENV sebagai . skrip, manakala shell Korn asal hanya menganggap profil sebagai .
skrip.

menetapkan [+-abCefhiklmnprsUuvXx] [+-o pilihan] [+-A nama] [--] [berhujah ...]
. menetapkan arahan boleh digunakan untuk menetapkan (-) atau jelas (+) pilihan shell, tetapkan positional
parameter, atau tetapkan parameter tatasusunan. Pilihan boleh ditukar menggunakan +-o pilihan
sintaks, di mana pilihan ialah nama panjang pilihan, atau menggunakan +-surat sintaks,
di mana surat ialah nama huruf tunggal pilihan (tidak semua pilihan mempunyai satu huruf
nama). Jadual berikut menyenaraikan kedua-dua huruf pilihan (jika wujud) dan nama panjang
bersama-sama dengan penerangan tentang perkara yang dilakukan oleh pilihan:

-A nama
Menetapkan elemen parameter tatasusunan nama kepada berhujah ... If -A digunakan, yang
tatasusunan ditetapkan semula (iaitu dikosongkan) dahulu; jika +A digunakan, elemen N pertama ditetapkan
(di mana N ialah bilangan hujah); selebihnya dibiarkan tanpa disentuh.

Sintaks alternatif untuk arahan menetapkan -A foo -- a b c yang serasi dengan
GNU menampar dan juga disokong oleh AT&T UNIX ksh93 ialah: foo=(a b c); foo+=(d e)

-a | -o allexport
Semua parameter baharu dibuat dengan atribut eksport.

-b | -o memberitahu
Cetak mesej pemberitahuan kerja secara tidak segerak, bukannya sejurus sebelum
segera. Hanya digunakan jika kawalan kerja didayakan (-m).

-C | -o noclobber
Cegah > ubah hala daripada menulis ganti fail sedia ada. Sebaliknya, >| mesti digunakan
untuk memaksa menulis ganti. Ambil perhatian bahawa ini tidak selamat untuk digunakan untuk penciptaan
fail sementara atau fail kunci kerana TOCTOU dalam semakan yang membolehkan seseorang mengubah hala
output kepada / dev / null atau fail peranti lain walaupun dalam noclobber mod.

-e | -o errexit
Keluar (selepas melaksanakan perangkap ERR) sebaik sahaja ralat berlaku atau arahan
gagal (iaitu keluar dengan status bukan sifar). Ini tidak terpakai kepada arahan
yang status keluarnya diuji secara eksplisit oleh binaan shell seperti if, sehingga,
manakala, Atau ! kenyataan. Untuk && atau ||, hanya status perintah terakhir ialah
diuji.

-f | -o noglob
Jangan kembangkan corak nama fail.

-h | -o trackall
Buat alias yang dijejaki untuk semua arahan yang dilaksanakan (lihat alias atas). Didayakan
secara lalai untuk cengkerang bukan interaktif.

-i | -o interaktif
Cangkang ialah cangkerang interaktif. Pilihan ini hanya boleh digunakan apabila shell
diseru. Lihat di atas untuk penerangan tentang maksud ini.

-k | -o kata kunci
Tugasan parameter diiktiraf di mana-mana sahaja dalam arahan.

-l | -o log masuk
Shell ialah shell log masuk. Pilihan ini hanya boleh digunakan apabila shell berada
diseru. Lihat di atas untuk penerangan tentang maksud ini.

-m | -o memantau
Dayakan kawalan kerja (lalai untuk cengkerang interaktif).

-n | -o noexec
Jangan laksanakan sebarang arahan. Berguna untuk menyemak sintaks skrip (diabaikan
jika interaktif).

-p | -o istimewa
Cangkang adalah cangkang istimewa. Ia ditetapkan secara automatik jika, apabila shell
bermula, UID atau GID sebenar tidak sepadan dengan UID (EUID) atau GID yang berkesan
(EGID), masing-masing. Lihat di atas untuk penerangan tentang maksud ini.

-r | -o terhad
Cangkang adalah cangkerang terhad. Pilihan ini hanya boleh digunakan apabila shell berada
diseru. Lihat di atas untuk penerangan tentang maksud ini.

-s | -o stdin
Jika digunakan apabila shell dipanggil, arahan dibaca daripada input standard. Set
secara automatik jika shell dipanggil tanpa hujah.

Bila -s digunakan dengan menetapkan perintah ia menyebabkan hujah yang dinyatakan menjadi
diisih sebelum memberikannya kepada parameter kedudukan (atau ke array nama, Jika
-A digunakan).

-U | -o mod utf8
Dayakan sokongan UTF-8 dalam Emacs menyunting mod dan pengendalian rentetan dalaman
fungsi. Bendera ini dilumpuhkan secara lalai, tetapi boleh didayakan dengan menetapkannya
pada baris arahan shell; didayakan secara automatik untuk cengkerang interaktif jika
diminta pada masa penyusunan, sistem anda menyokong setlocale(LC_CTYPE, "") dan
pilihan nl_langinfo(CODESET), atau persekitaran LC_ALL, LC_CTYPE atau LANG
pembolehubah, dan sekurang-kurangnya satu daripada ini mengembalikan sesuatu yang sepadan dengan "UTF-8" atau
“utf8” secara tidak sensitif huruf besar-besaran; untuk panggilan terbina terus bergantung pada
pembolehubah persekitaran yang dinyatakan di atas; atau untuk stdin atau skrip, jika input
bermula dengan Tanda Pesanan Bait UTF-8.

Dalam masa terdekat, penjejakan setempat akan dilaksanakan, yang bermaksud itu menetapkan -+U is
berubah apabila salah satu pembolehubah persekitaran berkaitan setempat POSIX berubah.

-u | -o nounset
Rujukan parameter yang tidak ditetapkan, selain daripada "$@" atau "$*", dianggap sebagai
ralat, melainkan salah satu pengubah '-', '+' atau '=' digunakan.

-v | -o kata kerja
Tulis input shell kepada ralat standard semasa ia dibaca.

-X | -o markdirs
Tandai direktori dengan tanda '/' semasa penjanaan nama fail.

-x | -o xtrace
Cetak pepohon arahan apabila ia dilaksanakan, didahului oleh nilai PS4.

-o bgnice
Pekerjaan latar belakang dijalankan dengan keutamaan yang lebih rendah.

-o braceexpand
Dayakan pengembangan pendakap (aka selang-seli). Ini didayakan secara lalai. Jika
dilumpuhkan, pengembangan tilde selepas tanda sama dilumpuhkan sebagai kesan sampingan.

-o emacs
Dayakan pengeditan baris arahan seperti emacs BRL (cengkerang interaktif sahaja); lihat Emacs
menyunting mod.

-o gmacs
Dayakan pengeditan baris arahan seperti gmacs (cengkerang interaktif sahaja). Pada masa ini
sama dengan penyuntingan emacs kecuali transpose-chars (^T) bertindak sedikit
berbeza.

-o abaikan
Cangkang tidak akan (dengan mudah) keluar apabila akhir fail dibaca; keluar mesti digunakan.
Untuk mengelakkan gelung tak terhingga, cangkerang akan keluar jika EOF dibaca 13 kali berturut-turut.

-o inherit-xtrace
Jangan set semula -o xtrace apabila memasuki fungsi. Ini didayakan secara lalai.

-o nohup
Jangan bunuh kerja yang sedang dijalankan dengan isyarat SIGHUP apabila shell log masuk keluar.
Pada masa ini ditetapkan secara lalai, tetapi ini mungkin berubah pada masa hadapan untuk menjadi serasi
dengan AT&T UNIX ksh, yang tidak mempunyai pilihan ini, tetapi menghantar SIGHUP
isyarat.

-o nolog
Tiada kesan. Dalam cangkerang asal Korn, ini menghalang definisi fungsi daripada
disimpan dalam fail sejarah.

-o fizikal
Menyebabkan cd and jentera arahan untuk menggunakan "fizikal" (iaitu sistem fail) '..'
direktori dan bukannya direktori "logik" (iaitu shell mengendalikan '..', yang
membolehkan pengguna tidak menyedari pautan simbolik ke direktori). Kosongkan oleh
lalai. Ambil perhatian bahawa menetapkan pilihan ini tidak menjejaskan nilai semasa
Parameter PWD; hanya yang cd perintah menukar PWD. Lihat cd and jentera arahan
di atas untuk butiran lanjut.

-o paip gagal
Jadikan status keluar saluran paip (sebelum melengkapkan secara logik)
peringkat ralat bukan sifar paling kanan, atau sifar jika semua arahan keluar dengan sifar.

-o posix
Berkelakuan lebih dekat dengan piawaian (lihat POSIX mod untuk butiran). Secara automatik
didayakan jika nama dasar seruan shell bermula dengan "sh" dan ini
ciri pengesanan automatik disusun dalam (bukan dalam MirBSD). Sebagai kesan sampingan, penetapan
bendera ini padam braceexpand mod, yang boleh dihidupkan semula secara manual, dan
sh mod (melainkan kedua-duanya didayakan pada masa yang sama).

-o sh
enable / Bin / sh mod (kludge) (lihat SH mod). Didayakan secara automatik jika
nama asas seruan shell bermula dengan "sh" dan ciri pengesanan automatik ini
disusun dalam (bukan dalam MirBSD). Sebagai kesan sampingan, tetapan bendera ini dimatikan
braceexpand mod, yang boleh dihidupkan semula secara manual, dan posix mod (kecuali
kedua-duanya didayakan pada masa yang sama).

-o vi
enable vi(1) seperti penyuntingan baris arahan (cengkerang interaktif sahaja). Lihat Vi
menyunting mod untuk dokumentasi dan had.

-o vi-selesai
Dalam penyuntingan baris arahan vi, lakukan arahan dan penyiapan nama fail apabila melarikan diri (^[)
dimasukkan dalam mod arahan.

-o vi-tab lengkap
Dalam penyuntingan baris arahan vi, lakukan arahan dan penyiapan nama fail apabila tab (^I).
dimasukkan dalam mod sisip. Ini adalah lalai.

-o viraw
Tiada kesan. Dalam kulit Korn asal, melainkan viraw telah ditetapkan, arahan vi-
mod baris akan membiarkan tty(4) pemandu melakukan kerja sehingga ESC (^[) dimasukkan.
mksh sentiasa dalam mod viraw.

Pilihan ini juga boleh digunakan apabila menggunakan shell. Set semasa bagi
pilihan (dengan nama huruf tunggal) boleh didapati dalam parameter '$-'. menetapkan -o bersama
tiada nama pilihan akan menyenaraikan semua pilihan dan sama ada setiap satu dihidupkan atau dimatikan; menetapkan +o akan
cetak nama panjang semua pilihan yang sedang dihidupkan. Dalam versi masa hadapan, menetapkan
+o akan berkelakuan mematuhi POSIX dan mencetak arahan untuk memulihkan pilihan semasa
sebaliknya.

Argumen yang tinggal, jika ada, adalah parameter kedudukan dan diberikan, mengikut urutan, kepada
parameter kedudukan (iaitu $1, $2, dsb.). Jika pilihan berakhir dengan '--' dan di sana
tiada hujah yang tinggal, semua parameter kedudukan dikosongkan. Jika tiada pilihan atau
hujah diberikan, nilai semua nama dicetak. Untuk sejarah yang tidak diketahui
sebab, pilihan '-' tunggal dilayan secara khusus – ia membersihkan kedua-dua -v and -x
pilihan.

peralihan [nombor]
Parameter kedudukan nombor+ 1, nombor+2, dsb. dinamakan semula kepada '1', '2' dsb.
nombor lalai kepada 1.

tidur saat
Menggantung pelaksanaan untuk sekurang-kurangnya saat dinyatakan sebagai nilai perpuluhan positif
dengan bahagian pecahan pilihan. Penghantaran isyarat mungkin meneruskan pelaksanaan lebih awal.

sumber fail [berhujah ...]
suka . (“titik”), kecuali direktori kerja semasa dilampirkan pada carian
laluan (GNU menampar sambungan).

Menggantung
Menghentikan cangkerang seolah-olah ia telah menerima aksara gantung daripada terminal. Ia adalah
tidak mungkin untuk menggantung shell log masuk melainkan proses induk adalah ahli
sesi terminal yang sama tetapi merupakan ahli kumpulan proses yang berbeza. Sebagai seorang jeneral
peraturan, jika shell dimulakan oleh shell lain atau melalui su(1), ia boleh digantung.

ujian ungkapan
[ ungkapan ]
ujian menilai ungkapan dan mengembalikan status sifar jika benar, 1 jika palsu, atau lebih besar
daripada 1 jika terdapat ralat. Ia biasanya digunakan sebagai arahan keadaan if and
manakala kenyataan. Pautan simbolik diikuti untuk semua fail ungkapan kecuali -h and
-L.

Ungkapan asas berikut tersedia:

-a fail fail wujud.

-b fail fail ialah peranti khas blok.

-c fail fail ialah peranti khas watak.

-d fail fail ialah sebuah direktori.

-e fail fail wujud.

-f fail fail ialah fail biasa.

-G fail failKumpulan ialah ID kumpulan berkesan shell.

-g fail failMod 's mempunyai setgid bit set.

-H fail fail ialah direktori bergantung konteks (hanya berguna pada HP-UX).

-h fail fail ialah pautan simbolik.

-k fail failMod 's mempunyai melekit(8) set bit.

-L fail fail ialah pautan simbolik.

-O fail failPemilik adalah ID pengguna berkesan shell.

-o pilihan Shell pilihan ditetapkan (lihat menetapkan arahan di atas untuk senarai
pilihan). Sebagai sambungan bukan standard, jika pilihan bermula dengan
a '!', ujian dinafikan; ujian sentiasa gagal jika pilihan
tidak wujud (jadi [ -o foo -o -o !foo ] mengembalikan benar jika dan sahaja
jika pilihan foo wujud). Perkara yang sama boleh dicapai dengan [ -o ?foo ]
seperti dalam AT&T UNIX ksh93. pilihan juga boleh menjadi bendera pendek yang diketuai oleh
sama ada '-' atau '+' (tiada penafian logik), contohnya '-x' atau '+x'
bukannya 'xtrace'.

-p fail fail ialah paip bernama (FIFO).

-r fail fail wujud dan boleh dibaca.

-S fail fail ialah unix(4)-soket domain.

-s fail fail tidak kosong.

-t fd Deskriptor fail fd ialah tty(4) peranti.

-u fail failMod 's mempunyai set bit setuid.

-w fail fail wujud dan boleh ditulis.

-x fail fail wujud dan boleh dilaksanakan.

file1 -nt file2 file1 adalah lebih baru daripada file2 or file1 wujud dan file2 tidak.

file1 -tidak file2 file1 lebih tua dari file2 or file2 wujud dan file1 tidak.

file1 -jika file2 file1 adalah fail yang sama seperti file2.

rentetan rentetan mempunyai panjang bukan sifar.

-n rentetan rentetan tidak kosong.

-z rentetan rentetan kosong.

rentetan = rentetan Rentetan adalah sama.

rentetan == rentetan Rentetan adalah sama.

rentetan > rentetan Operan rentetan pertama lebih besar daripada operan rentetan kedua.

rentetan < rentetan Operan rentetan pertama adalah kurang daripada operan rentetan kedua.

rentetan != rentetan Rentetan tidak sama.

nombor -persamaan nombor Nombor membandingkan sama.

nombor - ialah nombor Perbandingan nombor tidak sama.

nombor -ge nombor Nombor membandingkan lebih besar daripada atau sama.

nombor -gt nombor Bilangan membandingkan lebih besar daripada.

nombor -tempat nombor Nombor membandingkan kurang daripada atau sama.

nombor -lt nombor Nombor membandingkan kurang daripada.

Ungkapan asas di atas, di mana pengendali unari mempunyai keutamaan berbanding binari
operator, boleh digabungkan dengan operator berikut (disenaraikan dalam susunan yang semakin meningkat
keutamaan):

expr -o expr Logik ATAU.
expr -a expr Logik DAN.
! expr Logik BUKAN.
( expr ) Pengelompokan.

Ambil perhatian bahawa nombor sebenarnya mungkin ungkapan aritmetik, seperti matematik
istilah atau nama pembolehubah integer:

x=1; [ "x" -eq 1 ] menilai kepada benar

Ambil perhatian bahawa beberapa peraturan khas digunakan (ihsan POSIX) jika bilangan
hujah untuk ujian atau di dalam kurungan [ ... ] adalah kurang daripada lima: jika memimpin '!'
hujah boleh dilucutkan supaya hanya satu hingga tiga hujah yang tinggal, kemudian
perbandingan yang lebih rendah dilaksanakan; (terima kasih kepada XSI) kurungan \( ... \) bawah empat- dan
bentuk tiga hujah kepada bentuk dua dan satu hujah, masing-masing; tiga hujah
bentuk akhirnya lebih suka operasi binari, diikuti dengan penafian dan kurungan
menurunkan; bentuk dua dan empat hujah lebih suka penafian diikuti dengan kurungan; yang
bentuk satu hujah sentiasa membayangkan -n.

Nota: Kesilapan biasa ialah menggunakan “if [ $foo = bar ]” yang gagal jika parameter “foo”
adalah NULL atau tidak ditetapkan, jika ia mempunyai ruang terbenam (iaitu oktet IFS), atau jika ia adalah unary
pengendali seperti '!' atau '-n'. Gunakan ujian seperti “jika [ x"$foo" = x"bar" ]” sebaliknya, atau
pengendali kurungan dua "jika [[ $foo = bar ]]" atau, untuk mengelakkan padanan corak (lihat [[
di atas): “jika [[ $foo = "$bar" ]]”

. [[ ... ]] construct bukan sahaja lebih selamat untuk digunakan tetapi juga selalunya lebih pantas.

masa [-p] [saluran paip]
Jika saluran paip diberikan, masa yang digunakan untuk melaksanakan saluran paip dilaporkan. Jika tidak
saluran paip diberikan, kemudian pengguna dan masa sistem digunakan oleh shell itu sendiri, dan semua
arahan yang telah dijalankan sejak ia dimulakan, dilaporkan. Masa yang dilaporkan ialah
masa sebenar (masa berlalu dari mula hingga akhir), masa CPU pengguna (masa yang dibelanjakan
berjalan dalam mod pengguna), dan masa CPU sistem (masa yang dihabiskan berjalan dalam mod kernel).
Masa dilaporkan kepada ralat standard; format output ialah:

Sistem 0m0.00s pengguna 0m0.00s sebenar 0m0.00s

Jika -p pilihan diberi output lebih panjang sedikit:

sebenar 0.00
pengguna 0.00
sys 0.00

Ia adalah ralat untuk menentukan -p pilihan melainkan saluran paip adalah perintah yang mudah.

Ubah hala mudah bagi ralat standard tidak menjejaskan output fail masa arahan:

$ masa tidur 1 2>afile
$ { masa tidur 1; } 2>afail

Masa untuk arahan pertama tidak pergi ke "afile", tetapi arahan kedua pergi.

kali Cetak masa pengguna dan sistem terkumpul yang digunakan oleh shell dan oleh proses
bahawa shell bermula yang telah keluar. Format output ialah:

0m0.00s 0m0.00s
0m0.00s 0m0.00s

perangkap n [isyarat ...]
Jika operan pertama ialah integer tidak bertanda perpuluhan, ini menetapkan semula semua isyarat yang ditentukan
kepada tindakan lalai, iaitu sama seperti memanggil perangkap dengan tanda tolak ('-') sebagai
pengendali, diikuti dengan hujah (n [isyarat ...]), semuanya dianggap sebagai
isyarat.

perangkap [pengendali isyarat ...]
Menetapkan pengendali perangkap yang akan dilaksanakan apabila mana-mana yang ditentukan isyarats adalah
menerima. pengendali adalah sama ada rentetan kosong, menunjukkan isyarat akan menjadi
diabaikan, tanda tolak ('-'), menunjukkan bahawa tindakan lalai akan diambil
isyarat (lihat isyarat(3)), atau rentetan yang mengandungi arahan shell untuk dilaksanakan di
peluang pertama (iaitu apabila arahan semasa selesai, atau sebelum mencetak
gesaan PS1 seterusnya) selepas menerima salah satu isyarat. isyarat ialah nama a
isyarat (cth PIPE atau ALRM) atau nombor isyarat (lihat membunuh -l arahan
di atas).

Terdapat dua isyarat khas: EXIT (juga dikenali sebagai 0), yang dilaksanakan apabila
shell akan keluar, dan ERR, yang dilaksanakan selepas ralat berlaku; kesilapan adalah
sesuatu yang akan menyebabkan shell keluar jika menetapkan -e or menetapkan -o errexit pilihan
telah ditetapkan. Pengendali EXIT dilaksanakan dalam persekitaran yang terakhir dilaksanakan
perintah.

Ambil perhatian bahawa, untuk cengkerang bukan interaktif, pengendali perangkap tidak boleh ditukar untuk isyarat
yang diabaikan apabila cangkerang bermula.

Dengan tiada hujah, keadaan semasa perangkap yang telah ditetapkan sejak shell
dimulakan ditunjukkan sebagai satu siri perangkap arahan. Perhatikan bahawa output daripada perangkap tidak boleh
disalurkan secara berguna ke proses lain (artifak fakta bahawa perangkap dibersihkan
apabila subproses dibuat).

Perangkap DEBUG kulit Korn asal dan pengendalian perangkap ERR dan EXIT masuk
fungsi belum dilaksanakan.

benar Perintah yang keluar dengan nilai sifar.

global [[+-alpnrtUux] [-L[n]] [-R[n]] [-Z[n]] [-i[n]] | -f [-tux]] [nama [=nilai] ...]
set taip [[+-alpnrtUux] [-LRZ[n]] [-i[n]] | -f [-tux]] [nama [=nilai] ...]
Paparkan atau tetapkan atribut parameter. Dengan tidak nama hujah, atribut parameter
dipaparkan; jika tiada pilihan digunakan, atribut semasa semua parameter ialah
dicetak sebagai set taip arahan; jika pilihan diberikan (atau '-' tanpa surat pilihan),
semua parameter dan nilainya dengan atribut yang ditentukan dicetak; jika pilihan
diperkenalkan dengan '+', nilai parameter tidak dicetak.

If nama hujah diberikan, atribut parameter bernama ditetapkan (-) Atau
dibersihkan (+). Nilai untuk parameter boleh ditetapkan secara pilihan. Untuk nama[*], yang
perubahan mempengaruhi keseluruhan tatasusunan, dan tiada nilai boleh ditentukan.

If set taip digunakan di dalam fungsi, sebarang parameter yang dinyatakan disetempatkan. ini
tidak dilakukan oleh yang serupa global. Nota: Ini bermakna mksh 's global
perintah adalah tidak setara dengan bahasa pengaturcaraan lain kerana ia tidak membenarkan a
fungsi yang dipanggil daripada fungsi lain untuk mengakses parameter pada skop yang benar-benar global,
tetapi hanya menghalang meletakkan yang diakses ke dalam skop setempat.

Bila -f digunakan, set taip beroperasi pada atribut fungsi. Seperti dengan
parameter, jika tidak nama hujah diberikan, fungsi disenaraikan dengan nilainya
(iaitu takrifan) melainkan pilihan diperkenalkan dengan '+', dalam hal ini hanya
nama fungsi dilaporkan.

-a Atribut tatasusunan diindeks.

-f Mod fungsi. Paparkan atau tetapkan fungsi dan atributnya, bukannya
parameter.

-i[n] Atribut integer. n menentukan asas untuk digunakan apabila memaparkan integer
(jika tidak dinyatakan, asas yang diberikan dalam tugasan pertama digunakan).
Parameter dengan atribut ini mungkin diberikan nilai yang mengandungi aritmetik
ungkapan.

-L[n] Atribut justify kiri. n menentukan lebar medan. Jika n tidak dinyatakan,
lebar semasa parameter (atau lebar nilai pertama yang diberikan)
digunakan. Ruang putih terkemuka (dan sifar, jika digunakan dengan -Z pilihan) ialah
dibogelkan. Jika perlu, nilai sama ada dipenggal atau berlapik ruang untuk dimuatkan
lebar medan.

-l Atribut huruf kecil. Semua aksara huruf besar dalam nilai ditukar kepada
huruf kecil. (Dalam cangkerang asal Korn, parameter ini bermaksud "integer panjang"
apabila digunakan dengan -i pilihan.)

-n Buat pembolehubah terikat (rujukan nama): sebarang akses kepada pembolehubah nama
akan mengakses pembolehubah nilai dalam skop semasa (ini berbeza daripada
AT&T UNIX ksh93!) sebaliknya. Juga berbeza dengan AT&T UNIX ksh93 ialah
nilai malas dinilai pada masa itu nama diakses. Ini boleh digunakan oleh
berfungsi untuk mengakses pembolehubah yang namanya diluluskan sebagai parameter, sebaliknya
menggunakan menipu.

-p Cetakan selesai set taip arahan yang boleh digunakan untuk mencipta semula atribut
dan nilai parameter.

-R[n] Atribut justify yang betul. n menentukan lebar medan. Jika n tidak
ditentukan, lebar semasa parameter (atau lebar parameter pertama
nilai yang ditetapkan) digunakan. Ruang putih mengekori dilucutkan. Jika perlu,
nilai sama ada dilucutkan daripada aksara utama atau ruang empuk untuk menjadikannya
sesuai dengan lebar medan.

-r Atribut baca sahaja. Parameter dengan atribut ini mungkin tidak diberikan kepada
atau tidak ditetapkan. Setelah atribut ini ditetapkan, ia tidak boleh dimatikan.

-t Atribut teg. Tidak mempunyai makna pada cangkang; disediakan untuk kegunaan aplikasi.

Untuk fungsi, -t ialah sifat surih. Apabila berfungsi dengan jejak
atribut dilaksanakan, the xtrace (-x) pilihan shell dihidupkan buat sementara waktu
pada.

-U Atribut integer tidak ditandatangani. Integer dicetak sebagai nilai yang tidak ditandatangani (gabungkan
dengan -i pilihan). Pilihan ini tiada dalam cangkerang asal Korn.

-u Atribut huruf besar. Semua aksara huruf kecil dalam nilai ditukar kepada
huruf besar. (Dalam cangkang asal Korn, parameter ini bermaksud "tidak ditandatangani
integer” apabila digunakan dengan -i pilihan yang bermaksud huruf besar akan
jangan sekali-kali digunakan untuk tapak yang lebih besar daripada 10. Lihat -U pilihan.)

Untuk fungsi, -u ialah atribut yang tidak ditentukan. Lihat Fungsi di atas untuk
implikasi perkara ini.

-x Eksport atribut. Parameter (atau fungsi) diletakkan dalam persekitaran
sebarang arahan yang dilaksanakan. Fungsi yang dieksport belum lagi dilaksanakan.

-Z[n] Atribut isian sifar. Jika tidak digabungkan dengan -L, ini sama dengan -R, kecuali
padding sifar digunakan sebagai ganti padding ruang. Untuk integer, nombor
bukannya tapaknya berlapik.

Sekiranya ada -i, -L, -l, -R, -U, -u, Atau -Z pilihan diubah, semua yang lain daripada ini
set dikosongkan, melainkan ia juga diberikan pada baris arahan yang sama.

had [-aBCcdefHilMmnOPpqrSsTtVvw] [nilai]
Paparkan atau tetapkan had proses. Jika tiada pilihan digunakan, had saiz fail (-f) adalah
diandaikan. nilai, jika dinyatakan, mungkin sama ada ungkapan aritmetik atau perkataan
“tidak terhad”. Had mempengaruhi shell dan sebarang proses yang dicipta oleh shell
selepas had dikenakan. Ambil perhatian bahawa sesetengah sistem mungkin tidak membenarkan had
meningkat sebaik sahaja ia ditetapkan. Juga ambil perhatian bahawa jenis had yang ada adalah sistem
bergantung – sesetengah sistem hanya mempunyai -f had.

-a Paparkan semua had; melainkan -H digunakan, had lembut dipaparkan.

-B n Tetapkan saiz penimbal soket kepada n kibibit.

-C n Tetapkan bilangan utas cache kepada n.

-c n Mengenakan had saiz sebanyak n blok pada saiz tempat pembuangan teras.

-d n Mengenakan had saiz sebanyak n kibibait pada saiz kawasan data.

-e n Tetapkan kebaikan maksimum kepada n.

-f n Mengenakan had saiz sebanyak n blok pada fail yang ditulis oleh shell dan anaknya
proses (fail dari sebarang saiz boleh dibaca).

-H Tetapkan had keras sahaja (lalai adalah untuk menetapkan kedua-dua had keras dan lembut).

-i n Tetapkan bilangan isyarat yang belum selesai kepada n.

-l n Mengenakan had sebanyak n kibibait pada jumlah ingatan fizikal (berwayar) terkunci.

-M n Tetapkan memori terkunci AIO kepada n kibibit.

-m n Mengenakan had sebanyak n kibibait pada jumlah memori fizikal yang digunakan.

-n n Mengenakan had sebanyak n deskriptor fail yang boleh dibuka sekali gus.

-O n Tetapkan bilangan operasi AIO kepada n.

-P n Hadkan bilangan utas setiap proses kepada n.

-p n Mengenakan had sebanyak n proses yang boleh dijalankan oleh pengguna pada satu-satu masa.

-q n Hadkan saiz baris gilir mesej POSIX kepada n bait.

-r n Tetapkan keutamaan masa nyata maksimum kepada n.

-S Tetapkan had lembut sahaja (lalai adalah untuk menetapkan kedua-dua had keras dan lembut).

-s n Mengenakan had saiz sebanyak n kibibait pada saiz kawasan tindanan.

-T n Mengenakan had masa sebanyak n saat sebenar untuk digunakan oleh setiap proses.

-t n Mengenakan had masa sebanyak n Saat CPU dibelanjakan dalam mod pengguna untuk digunakan oleh setiap satu
proses.

-V n Tetapkan bilangan monitor vnod pada Haiku kepada n.

-v n Mengenakan had sebanyak n kibibait pada jumlah memori maya (ruang alamat)
terpakai.

-w n Mengenakan had sebanyak n kibibait pada jumlah ruang swap yang digunakan.

Sejauh mana had adalah berkenaan, satu blok ialah 512 bait.

umask [-S] [topeng]
Paparkan atau tetapkan topeng penciptaan kebenaran fail, atau umask (lihat umask(2)). Sekiranya -S
pilihan digunakan, topeng yang dipaparkan atau ditetapkan adalah simbolik; jika tidak, ia adalah perlapanan
nombor.

Topeng simbolik adalah seperti yang digunakan oleh Chmod(1). Apabila digunakan, mereka menerangkan apa
kebenaran boleh disediakan (berbanding dengan topeng oktal di mana bit yang ditetapkan bermaksud
bit yang sepadan hendaklah dikosongkan). Contohnya, “ug=rwx,o=” menetapkan topeng sedemikian
fail tidak akan boleh dibaca, ditulis atau boleh dilaksanakan oleh "orang lain", dan adalah setara
(pada kebanyakan sistem) kepada topeng oktal "007".

Unalias [-adt] [nama ...]
Alias ​​untuk nama yang diberikan dialih keluar. Sekiranya -a pilihan digunakan, semua alias
dikeluarkan. Sekiranya -t or -d pilihan digunakan, operasi yang ditunjukkan dijalankan
keluar pada alias dijejaki atau direktori, masing-masing.

tidak tenteram [-fv] parameter ...
Nyahset parameter yang dinamakan (-v, lalai) atau fungsi (-f). Dengan parameter[*],
atribut disimpan, hanya nilai tidak ditetapkan.

Status keluar adalah bukan sifar jika mana-mana parameter mempunyai atribut baca sahaja
set, sifar sebaliknya.

tunggu [kerja ...]
Tunggu kerja yang ditentukan selesai. Status keluar daripada tunggu adalah yang terakhir
pekerjaan tertentu; jika kerja terakhir dibunuh oleh isyarat, status keluar ialah 128 + the
nombor isyarat (lihat membunuh -l status keluar atas); jika kerja yang ditentukan terakhir tidak boleh
ditemui (kerana ia tidak pernah wujud, atau telah pun selesai), status keluar daripada tunggu
ialah 127. Lihat Kerja kawalan di bawah untuk format kerja. tunggu akan kembali jika isyarat
yang perangkap telah ditetapkan diterima, atau jika isyarat SIGHUP, SIGINT atau SIGQUIT
diterima.

Jika tiada pekerjaan dinyatakan, tunggu menunggu semua kerja yang sedang dijalankan (jika ada) untuk
selesai dan keluar dengan status sifar. Jika pemantauan kerja didayakan, penyiapan
status pekerjaan dicetak (ini tidak berlaku apabila pekerjaan dinyatakan secara eksplisit).

dari mana [-pv] [nama ...]
Tanpa -v pilihan, ia adalah sama seperti arahan -v, kecuali alias tidak dicetak
sebagai arahan alias. Dengan -v pilihan, ia betul-betul sama seperti arahan -V. dalam
sama ada kes, yang -p pilihan berbeza: laluan carian tidak terjejas dalam dari mana, Tetapi
carian adalah terhad kepada laluan.

Kerja kawalan
Kawalan kerja merujuk kepada keupayaan shell untuk memantau dan mengawal kerja yang merupakan proses atau
kumpulan proses yang dicipta untuk arahan atau saluran paip. Sekurang-kurangnya, shell menjejaki
status pekerjaan latar belakang (iaitu tak segerak) yang wujud pada masa ini; ini
maklumat boleh dipaparkan menggunakan pekerjaan arahan. Jika kawalan kerja didayakan sepenuhnya
(menggunakan menetapkan -m or menetapkan -o memantau), kerana ia adalah untuk shell interaktif, proses kerja
diletakkan dalam kumpulan proses mereka sendiri. Kerja latar depan boleh dihentikan dengan menaip penggantungan
aksara dari terminal (biasanya ^Z), kerja boleh dimulakan semula sama ada di latar depan atau
latar belakang menggunakan fg and bg arahan, dan keadaan terminal disimpan atau dipulihkan
apabila tugas latar depan dihentikan atau dimulakan semula, masing-masing.

Ambil perhatian bahawa hanya perintah yang mencipta proses (cth perintah tak segerak, subkulit
arahan, dan arahan bukan terbina dalam, bukan fungsi) boleh dihentikan; arahan seperti membaca tidak boleh
menjadi.

Apabila kerja dibuat, ia diberikan nombor kerja. Untuk cengkerang interaktif, nombor ini ialah
dicetak di dalam “[..]”, diikuti dengan ID proses bagi proses dalam kerja apabila a
arahan tak segerak dijalankan. Sesuatu pekerjaan boleh dirujuk dalam bg, fg, pekerjaan, membunuh, dan tunggu
arahan sama ada dengan ID proses proses terakhir dalam saluran paip arahan (seperti yang disimpan dalam
yang $! parameter) atau dengan memberi awalan nombor kerja dengan tanda peratus ('%'). Peratus lain
jujukan juga boleh digunakan untuk merujuk kepada pekerjaan:

%+ | %% | % Pekerjaan yang paling baru dihentikan, atau, jika tiada pekerjaan yang dihentikan, yang paling lama
menjalankan kerja.

%- Pekerjaan yang akan menjadi %+ pekerjaan jika yang terakhir tidak wujud.

%n Pekerjaan dengan nombor kerja n.

%?rentetan Kerja dengan arahannya yang mengandungi rentetan rentetan (ralat berlaku jika
berbilang pekerjaan dipadankan).

%rentetan Kerja dengan arahannya bermula dengan rentetan rentetan (ralat berlaku jika
berbilang pekerjaan dipadankan).

Apabila kerja berubah keadaan (cth. kerja latar belakang selesai atau kerja latar depan dihentikan),
shell mencetak maklumat status berikut:

[nombor] bendera terkini arahan

di mana ...

nombor ialah nombor pekerjaan bagi pekerjaan itu;

bendera ialah aksara '+' atau '-' jika tugas itu adalah %+ or %- pekerjaan, masing-masing, atau ruang
jika tidak;

terkini menunjukkan keadaan semasa pekerjaan dan boleh:

Selesai [nombor]
Pekerjaan itu dikeluarkan. nombor ialah status keluar pekerjaan yang ditinggalkan
jika status adalah sifar.

Menjalankan Tugas itu tidak berhenti atau keluar (perhatikan bahawa berlari tidak
bermakna memakan masa CPU - proses itu boleh disekat
menunggu sesuatu acara).

Berhenti [isyarat]
Pekerjaan itu dihentikan oleh yang ditunjukkan isyarat (jika tiada isyarat diberikan,
kerja dihentikan oleh SIGTSTP).

penerangan isyarat ["teras dibuang"]
Pekerjaan itu telah dibunuh oleh isyarat (cth: kerosakan ingatan, penutupan telefon); guna membunuh -l
untuk senarai penerangan isyarat. Mesej "dibuang teras" menunjukkan
proses mencipta fail teras.

arahan ialah arahan yang mencipta proses. Jika terdapat pelbagai proses dalam
kerja, setiap proses akan mempunyai garis yang menunjukkannya arahan dan mungkin ia terkini, Jika
ia berbeza dengan status proses sebelumnya.

Apabila percubaan dibuat untuk keluar dari shell semasa terdapat pekerjaan dalam keadaan berhenti, the
shell memberi amaran kepada pengguna bahawa terdapat pekerjaan yang dihentikan dan tidak akan keluar. Jika percubaan lain adalah
serta-merta dibuat untuk keluar dari shell, kerja yang dihentikan dihantar isyarat SIGHUP dan shell
keluar. Begitu juga, jika nohup pilihan tidak ditetapkan dan terdapat kerja yang sedang dijalankan apabila percubaan
dibuat untuk keluar dari shell log masuk, shell memberi amaran kepada pengguna dan tidak keluar. Jika lain
percubaan segera dibuat untuk keluar dari shell, kerja yang sedang dijalankan dihantar isyarat SIGHUP dan
cangkerang keluar.

POSIX mod
Memasuki menetapkan -o posix mod akan menyebabkan mksh untuk berkelakuan lebih mematuhi POSIX di tempat
di mana kemungkiran atau pendapat berbeza. Perhatikan bahawa mksh masih akan beroperasi dengan tidak ditandatangani
aritmetik 32-bit; guna lksh jika aritmetik pada hos lama jenis data, lengkap dengan ISO C
Tingkah Laku Tidak Ditakrifkan, diperlukan; merujuk kepada lksh(1) halaman manual untuk butiran. Kebanyakan yang lain
bersejarah, AT&T UNIX ksh-perbezaan yang serasi, atau pendapat boleh dilumpuhkan dengan menggunakan ini
mod; ini adalah:

· GNU menampar Pengalihan I / O &>fail tidak lagi disokong.

· Deskriptor fail yang dibuat oleh ubah hala I/O diwarisi oleh proses anak.

· Nombor dengan angka sifar di hadapan ditafsirkan sebagai perlapanan.

· . echo builtin tidak mentafsir garis miring ke belakang dan hanya menyokong pilihan tepat "-n".

· ... (senarai tidak lengkap dan mungkin berubah untuk R53)

SH mod
Mod keserasian; bertujuan untuk digunakan dengan skrip warisan yang tidak boleh diperbaiki dengan mudah; yang
perubahan adalah seperti berikut:

· GNU menampar Pengalihan I / O &>fail tidak lagi disokong.

· Deskriptor fail yang dibuat oleh ubah hala I/O diwarisi oleh proses anak.

· . echo builtin tidak mentafsir garis miring ke belakang dan hanya menyokong pilihan tepat "-n".

· ... (senarai tidak lengkap dan mungkin berubah untuk R53)

Interaktif input selaras menyunting
Cangkang menyokong tiga mod membaca baris arahan daripada a tty(4) secara interaktif
sesi, dikawal oleh emacs, gmacs, dan vi pilihan (paling banyak satu daripada ini boleh ditetapkan pada
sekali). Lalainya ialah emacs. Mod pengeditan boleh ditetapkan secara eksplisit menggunakan menetapkan terbina dalam.
Jika tiada pilihan ini didayakan, shell hanya membaca baris menggunakan normal tty(4)
pemandu. Sekiranya emacs or gmacs pilihan ditetapkan, shell membenarkan pengeditan seperti emacs
perintah; begitu juga, jika vi pilihan ditetapkan, cangkerang membenarkan pengeditan seperti vi bagi
perintah. Mod ini diterangkan secara terperinci dalam bahagian berikut.

Dalam mod pengeditan ini, jika garisan lebih panjang daripada lebar skrin (lihat COLUMNS
parameter), aksara '>', '+' atau '<' dipaparkan dalam lajur terakhir yang menunjukkan bahawa
terdapat lebih banyak aksara selepas, sebelum dan selepas, atau sebelum kedudukan semasa,
masing-masing. Garisan ditatal secara mendatar mengikut keperluan.

Baris yang lengkap ditolak ke dalam sejarah, melainkan ia bermula dengan oktet IFS atau IFS
ruang putih, atau sama dengan baris sebelumnya.

Emacs menyunting mod
Apabila emacs pilihan ditetapkan, pengeditan baris input interaktif didayakan. Amaran: Mod ini
berbeza sedikit daripada mod emacs dalam cangkerang asal Korn. Dalam mod ini, pelbagai
arahan penyuntingan (biasanya terikat kepada satu atau lebih aksara kawalan) menyebabkan tindakan segera
tanpa menunggu baris baru. Beberapa arahan penyuntingan terikat kepada kawalan tertentu
aksara apabila cangkerang dipanggil; pengikatan ini boleh diubah menggunakan mengikat perintah.

Berikut ialah senarai arahan penyuntingan yang tersedia. Setiap penerangan bermula dengan
nama perintah, diakhiri dengan titik bertindih; sebuah [n] (jika perintah itu boleh diawali dengan a
mengira); dan mana-mana kekunci arahan terikat secara lalai, ditulis menggunakan tatatanda karet cth
aksara ASCII ESC ditulis sebagai ^[. Urutan kawalan ini tidak sensitif huruf besar.
Awalan kiraan untuk arahan dimasukkan menggunakan urutan ^[n, Di mana n ialah urutan 1
atau lebih digit. Melainkan dinyatakan sebaliknya, jika kiraan ditinggalkan, ia akan menjadi lalai kepada 1.

Ambil perhatian bahawa nama arahan mengedit hanya digunakan dengan mengikat perintah. Tambahan pula, ramai
arahan penyuntingan hanya berguna pada terminal dengan kursor yang boleh dilihat. Pengikatan lalai
telah dipilih untuk menyerupai pengikatan kunci Emacs yang sepadan. milik pengguna tty(4) watak
(cth PADAM) terikat kepada pengganti yang munasabah dan mengatasi pengikatan lalai.

menggugurkan: ^C, ^G
Batalkan arahan semasa, kosongkan penampan baris dan tetapkan keadaan keluar kepada
mencelah.

sisipan automatik: [n]
Hanya menyebabkan watak muncul sebagai input literal. Kebanyakan watak biasa
terikat dengan ini.

backward-char: [n] ^B, ^XD, ANSI-CurLeft, PC-CurLeft
Menggerakkan kursor ke belakang n watak-watak.

perkataan belakang: [n] ^[b, ANSI-Ctrl-CurLeft, ANSI-Alt-CurLeft
Menggerakkan kursor ke belakang ke permulaan perkataan; perkataan terdiri daripada
aksara abjad angka, garis bawah ('_'), dan tanda dolar ('$').

permulaan sejarah: ^[
Bergerak ke permulaan sejarah.

baris permulaan: ^A, ANSI-Home, PC-Home
Menggerakkan kursor ke permulaan baris input yang diedit.

huruf besar-perkataan: [n] ^[C, ^[c
Huruf besar aksara pertama dalam seterusnya n perkataan, meninggalkan kursor melepasi hujung
daripada perkataan terakhir.

skrin jelas: ^[^L
Mencetak urutan boleh dikonfigurasikan masa kompilasi untuk mengosongkan skrin dan menempatkan kursor ke rumah,
melukis semula keseluruhan gesaan dan baris input yang sedang diedit. Urutan lalai
berfungsi untuk hampir semua terminal standard.

ulasan: ^[#
Jika baris semasa tidak bermula dengan aksara ulasan, satu akan ditambah pada
permulaan baris dan baris dimasukkan (seolah-olah kembali telah ditekan);
jika tidak, aksara ulasan sedia ada akan dialih keluar dan kursor diletakkan di
permulaan baris.

lengkap: ^[^[
Secara automatik melengkapkan sebanyak nama arahan atau nama fail yang unik
yang mengandungi kursor. Jika keseluruhan perintah atau nama fail yang tinggal adalah unik, a
ruang dicetak selepas siap, melainkan ia adalah nama direktori dalam hal ini
'/' dilampirkan. Jika tiada arahan atau nama fail dengan perkataan separa semasa
sebagai awalannya, watak loceng dikeluarkan (biasanya menyebabkan bunyi bip dibunyikan).

perintah lengkap: ^X^[
Secara automatik melengkapkan sebanyak nama arahan yang mempunyai separa yang unik
perkataan sehingga kursor sebagai awalannya, seperti dalam melengkapkan perintah di atas.

fail lengkap: ^[^X
Secara automatik melengkapkan sebanyak nama fail yang unik yang mempunyai separa
perkataan sehingga kursor sebagai awalannya, seperti dalam melengkapkan perintah yang diterangkan di atas.

senarai lengkap: ^I, ^[=
Lengkapkan sebanyak mungkin perkataan semasa, dan senaraikan yang mungkin
penyiapan untuknya. Jika hanya satu penyiapan boleh, padankan seperti dalam melengkapkan
perintah di atas. Ambil perhatian bahawa ^I biasanya dijana oleh kekunci TAB (tabulator).

delete-char-backward: [n] PADAM, ^?, ^H
Memadam n aksara sebelum kursor.

delete-char-forward: [n] ANSI-Del, PC-Del
Memadam n aksara selepas kursor.

delete-word-backward: [n] WERASE, ^[^?, ^[^H, ^[h
Memadam n perkataan sebelum kursor.

delete-word-forward: [n] ^[d
Memadam aksara selepas kursor sehingga akhir n kata-kata.

sejarah ke bawah: [n] ^N, ^XB, ANSI-CurDown, PC-CurDown
Tatal penimbal sejarah ke hadapan n baris (kemudian). Setiap baris input pada asalnya
bermula selepas entri terakhir dalam penimbal sejarah, jadi turun-sejarah tidak
berguna sehingga sama ada sejarah carian, carian-sejarah-up or up-sejarah telah
dilakukan.

perkataan huruf kecil: [n] ^[L, ^[l
Huruf kecil seterusnya n kata-kata.

baris sunting: [n] ^Xe
Edit baris n atau baris semasa, jika tidak dinyatakan, secara interaktif. Yang sebenarnya
arahan yang dilaksanakan ialah fc -e ${VISUAL:-${EDITOR:-vi}} n.

akhir sejarah: ^[>
Bergerak ke penghujung sejarah.

hujung talian: ^E, ANSI-End, PC-End
Menggerakkan kursor ke penghujung baris input.

eot: ^_
Bertindak sebagai fail akhir; ini berguna kerana input mod edit melumpuhkan normal
kanonik input terminal.

eot-or-delete: [n] ^D
Bertindak sebagai eot jika bersendirian dalam talian; sebaliknya bertindak sebagai delete-char-forward.

ralat: (tidak terikat)
Ralat (bunyikan loceng).

pertukaran-titik-dan-tanda: ^X^X
Meletakkan kursor di tempat tanda itu dan menetapkan tanda ke tempat kursor berada.

kembangkan-fail: ^[*
Menambahkan '*' pada perkataan semasa dan menggantikan perkataan itu dengan hasil daripada
melakukan globbing fail pada perkataan. Jika tiada fail sepadan dengan corak, loceng adalah
anak tangga.

ke hadapan-char: [n] ^F, ^XC, ANSI-CurRight, PC-CurRight
Menggerakkan kursor ke hadapan n watak-watak.

perkataan hadapan: [n] ^[f, ANSI-Ctrl-CurRight, ANSI-Alt-CurRight
Menggerakkan kursor ke hadapan ke penghujung nperkataan ke.

goto-sejarah: [n] ^[g
Pergi ke nombor sejarah n.

kill-line: BUNUH
Memadamkan keseluruhan baris input.

wilayah bunuh: ^W
Memadam input antara kursor dan tanda.

membunuh-ke-eol: [n] ^K
Memadam input daripada kursor ke penghujung baris jika n tidak dinyatakan;
sebaliknya memadam aksara antara kursor dan lajur n.

senarai: ^[?
Mencetak senarai nama arahan atau nama fail yang diisih dan berlajur (jika ada) yang boleh
lengkapkan perkataan separa yang mengandungi kursor. Nama direktori telah ditambahkan '/'
kepada mereka.

senarai-perintah: ^X?
Mencetak senarai nama arahan yang diisih dan berlajur (jika ada) yang boleh melengkapkan
perkataan separa yang mengandungi kursor.

fail senarai: ^X^Y
Mencetak senarai nama fail yang diisih dan berlajur (jika ada) yang boleh melengkapkan
perkataan separa yang mengandungi kursor. Penunjuk jenis fail dilampirkan seperti yang diterangkan
di bawah senarai atas.

baris baharu: ^J, ^M
Menyebabkan baris input semasa diproses oleh shell. Kursor semasa
kedudukan mungkin berada di mana-mana sahaja dalam talian.

baris baharu-dan-seterusnya: ^O
Menyebabkan baris input semasa diproses oleh shell, dan baris seterusnya dari
sejarah menjadi garis semasa. Ini hanya berguna selepas an up-sejarah,
sejarah carian or carian-sejarah-up.

no-op: BERHENTI
Ini tidak melakukan apa-apa.

awalan-1: ^[
Memperkenalkan urutan arahan 2 aksara.

awalan-2: ^X, ^[[, ^[O
Memperkenalkan urutan arahan 2 aksara.

prev-sejarah-perkataan: [n] ^[., ^[_
Perkataan terakhir, atau, jika diberikan, adalah nperkataan ke (berasaskan sifar) daripada sebelumnya (pada berulang
execution, second-last, third-last, etc.) arahan disisipkan pada kursor. Penggunaan
arahan penyuntingan ini membuang tanda itu.

petikan: ^^, ^V
Watak berikut diambil secara literal dan bukannya sebagai arahan pengeditan.

lukis semula: ^L
Mencetak semula baris terakhir rentetan gesaan dan baris input semasa pada baris baharu
line.

cari-watak-belakang: [n] ^[^]
Cari ke belakang dalam baris semasa untuk nkemunculan watak seterusnya
ditaip.

cari-watak-hadapan: [n] ^]
Cari ke hadapan dalam baris semasa untuk nkemunculan watak seterusnya
ditaip.

sejarah carian: ^R
Masukkan mod carian tambahan. Senarai sejarah dalaman dicari ke belakang
arahan yang sepadan dengan input. Awalan '^' dalam rentetan carian melabuhkan
cari. Kekunci melarikan diri akan meninggalkan mod carian. Perintah lain, termasuk urutan
daripada melarikan diri sebagai awalan-1 diikuti oleh a awalan-1 or awalan-2 kunci akan dilaksanakan selepas
meninggalkan mod carian. The abort (^G) arahan akan memulihkan baris input sebelum ini
pencarian dimulakan. Berturut-turut sejarah carian arahan terus mencari ke belakang ke
kejadian corak sebelumnya yang seterusnya. Penampan sejarah hanya mengekalkan a
bilangan baris terhingga; yang tertua dibuang mengikut keperluan.

carian-sejarah-up: ANSI-PgUp, PC-PgUp
Cari ke belakang melalui penimbal sejarah untuk arahan yang permulaannya sepadan dengan
bahagian baris input sebelum kursor. Apabila digunakan pada baris kosong, ini mempunyai
kesan yang sama seperti up-sejarah.

carian-sejarah-turun: ANSI-PgDn, PC-PgDn
Cari ke hadapan melalui penimbal sejarah untuk arahan yang permulaannya sepadan dengan
bahagian baris input sebelum kursor. Apabila digunakan pada baris kosong, ini mempunyai
kesan yang sama seperti turun-sejarah. Ini hanya berguna selepas an up-sejarah,
sejarah carian or carian-sejarah-up.

set-mark-command: ^[
Tetapkan tanda pada kedudukan kursor.

transpose-chars: ^T
Jika di hujung baris, atau jika gmacs pilihan ditetapkan, ini menukar kedua-duanya
watak terdahulu; jika tidak, ia menukar aksara sebelumnya dan semasa dan
menggerakkan kursor satu aksara ke kanan.

up-sejarah: [n] ^P, ^XA, ANSI-CurUp, PC-CurUp
Tatal penimbal sejarah ke belakang n garisan (terdahulu).

perkataan besar: [n] ^[U, ^[u
Huruf besar seterusnya n kata-kata.

versi: ^[^V
Paparkan versi mksh. Penampan suntingan semasa dipulihkan sebaik sahaja kunci
ditekan. Tekan kekunci memulihkan diproses, melainkan ia adalah ruang.

yank: ^Y
Memasukkan rentetan teks yang paling baru dimatikan pada kedudukan kursor semasa.

yank-pop: ^[y
Sejurus selepas a yank, menggantikan rentetan teks yang disisipkan dengan yang seterusnya sebelum ini
rentetan teks terbunuh.

Vi menyunting mod
Catatan: Mod suntingan baris arahan vi adalah yatim piatu, namun masih berfungsi. Ia bersih 8-bit
tetapi secara khusus tidak menyokong UTF-8 atau MBCS.

Editor baris arahan vi dalam mksh pada dasarnya mempunyai arahan yang sama seperti vi(1) editor dengan
pengecualian berikut:

· Anda bermula dalam mod sisip.

· Terdapat nama fail dan arahan penyelesaian perintah: =, \, *, ^X, ^E, ^F, dan,
secara pilihan, dan .

· . _ perintah adalah berbeza (dalam mksh, ia adalah perintah hujah terakhir; dalam vi(1) ia pergi
ke permulaan baris semasa).

· . / and G arahan bergerak ke arah yang bertentangan dengan j perintah.

· Perintah yang tidak masuk akal dalam editor satu baris tidak tersedia (cth. screen
arahan pergerakan dan ex(1) kolon gaya (:) arahan).

suka vi(1), terdapat dua mod: mod "masukkan" dan mod "perintah". Dalam mod sisip, kebanyakannya
aksara hanya dimasukkan ke dalam penimbal pada kedudukan kursor semasa semasa ia ditaip;
namun, sesetengah watak dilayan secara istimewa. Khususnya, watak-watak berikut ialah
diambil dari semasa tty(4) tetapan (lihat stty(1)) dan mempunyai makna biasa (nilai normal
berada dalam kurungan): bunuh (^U), padam (^?), werase (^W), eof (^D), intr (^C), dan berhenti (^\).
Sebagai tambahan kepada perkara di atas, aksara berikut juga dirawat secara khusus dalam sisipan
mod:

^E Perintah dan penghitungan nama fail (lihat di bawah).

^F Perintah dan penyempurnaan nama fail (lihat di bawah). Jika digunakan dua kali berturut-turut, senarai
kemungkinan siap dipaparkan; jika digunakan kali ketiga, penyiapan akan dibuat asal.

^H Memadam aksara sebelumnya.

^J | ^M Akhir baris. Baris semasa dibaca, dihuraikan dan dilaksanakan oleh shell.

^V Literal seterusnya. Aksara seterusnya yang ditaip tidak dilayan secara khusus (boleh digunakan untuk
masukkan aksara yang diterangkan di sini).

^X Perintah dan pengembangan nama fail (lihat di bawah).

Meletakkan editor dalam mod arahan (lihat di bawah).

Nama fail pilihan dan penyiapan arahan (lihat ^F di atas), didayakan dengan menetapkan -o
vi-tab lengkap.

Dalam mod arahan, setiap aksara ditafsirkan sebagai arahan. Watak yang tidak
sepadan dengan perintah, merupakan gabungan perintah yang tidak sah, atau perintah yang tidak boleh
dijalankan, semuanya menyebabkan bunyi bip. Dalam huraian arahan berikut, satu [n] menunjukkan
perintah boleh diawali dengan nombor (cth 10l bergerak ke kanan 10 aksara); jika tiada nombor
awalan digunakan, n diandaikan sebagai 1 melainkan dinyatakan sebaliknya. Istilah "semasa
position” merujuk kepada kedudukan antara kursor dan aksara sebelum kursor.
"Perkataan" ialah urutan huruf, digit dan aksara garis bawah atau urutan bukan-
aksara huruf, bukan digit, bukan garis bawah dan bukan ruang putih (cth “ab2*&^” mengandungi dua
perkataan) dan "perkataan besar" ialah urutan aksara bukan ruang putih.

khas mksh arahan vi:

Arahan berikut tidak ada dalam, atau berbeza daripada, editor fail vi biasa:

[n] Masukkan ruang diikuti dengan nperkataan besar dari perintah terakhir dalam sejarah
pada kedudukan semasa dan masukkan mod masukkan; jika n tidak dinyatakan, yang terakhir
perkataan disisipkan.

# Masukkan aksara ulasan ('#') pada permulaan baris semasa dan kembali
garis ke cangkerang (bersamaan dengan saya#^J).

[n]g Suka G, kecuali jika n tidak dinyatakan, ia pergi ke ingatan paling terkini
line.

[n]v Edit baris n menggunakan vi(1) editor; jika n tidak dinyatakan, baris semasa adalah
disunting. Perintah sebenar yang dilaksanakan ialah fc -e ${VISUAL:-${EDITOR:-vi}} n.

* dan ^X Perintah atau pengembangan nama fail digunakan pada perkataan besar semasa (dengan
ditambah '*' jika perkataan tidak mengandungi aksara globbing fail) – perkataan besar ialah
digantikan dengan perkataan yang terhasil. Jika perkataan besar semasa adalah yang pertama pada
baris atau mengikuti salah satu aksara ';', '|', '&', '(', atau ')' dan tidak
mengandungi garis miring ('/'), kemudian pengembangan arahan dilakukan; sebaliknya nama fail
pengembangan dilakukan. Peluasan arahan akan sepadan dengan perkataan besar terhadap semua
alias, fungsi dan arahan terbina dalam serta sebarang fail boleh laku ditemui
dengan mencari direktori dalam parameter PATH. Padanan pengembangan nama fail
perkataan besar terhadap fail dalam direktori semasa. Selepas pengembangan,
kursor diletakkan hanya melepasi perkataan terakhir dan editor berada dalam mod sisipan.

[n]\, [n]^F, [n] , dan [n]
Arahan/nama fail selesai. Gantikan perkataan besar semasa dengan perkataan terpanjang
padanan unik yang diperolehi selepas melakukan perintah dan pengembangan nama fail.
hanya diiktiraf jika vi-tab lengkap pilihan ditetapkan, manakala adalah sahaja
diiktiraf sekiranya vi-selesai pilihan ditetapkan (lihat menetapkan -o). Jika n dinyatakan,
yang nkemungkinan penyelesaian dipilih (seperti yang dilaporkan oleh arahan/nama fail
perintah enumerasi).

= dan ^E Perintah/penghitungan nama fail. Senaraikan semua arahan atau fail yang sepadan dengan
perkataan besar semasa.

^V Paparkan versi mksh. Penampan suntingan semasa dipulihkan sebaik sahaja a
kekunci ditekan. Tekan kekunci memulihkan diabaikan.

@c Pengembangan makro. Jalankan arahan yang terdapat dalam alias c.

Perintah pergerakan dalam talian:

[n]h dan [n]^H
Bergerak ke kiri n watak-watak.

[n]l dan [n]
Pindah ke kanan n watak-watak.

0 Beralih ke lajur 0.

^ Beralih ke aksara bukan ruang putih pertama.

[n]| Beralih ke lajur n.

$ Beralih ke aksara terakhir.

[n]b Berundur n kata-kata.

[n]B Berundur n kata-kata besar.

[n]e Maju ke penghujung perkataan, n kali.

[n]E Maju ke penghujung kata besar, n kali.

[n]w Maju ke hadapan n kata-kata.

[n]W Maju ke hadapan n kata-kata besar.

% Cari padanan. Editor menantikan kurungan, kurungan atau kurungan terdekat
dan kemudian gerakkan kursor ke kurungan, kurungan atau kurungan yang sepadan.

[n]fc Bergerak ke hadapan ke nkemunculan watak c.

[n]Fc Bergerak ke belakang ke nkemunculan watak c.

[n]tc Bergerak ke hadapan untuk sebelum nkemunculan watak c.

[n]Tc Bergerak ke belakang sejurus sebelum nkemunculan watak c.

[n]; Mengulangi yang terakhir f, F, t, Atau T perintah.

[n], Mengulangi yang terakhir f, F, t, Atau T arahan, tetapi bergerak ke arah yang bertentangan.

Arahan pergerakan antara baris:

[n]j, [n]+, dan [n]^N
Bergerak ke nbaris seterusnya dalam sejarah.

[n]k, [n]-, dan [n]^P
Bergerak ke nbaris sebelumnya dalam sejarah.

[n]G Bergerak ke baris n dalam sejarah; jika n tidak dinyatakan, nombor yang pertama
baris teringat digunakan.

[n]g Suka G, kecuali jika n tidak ditentukan, ia pergi ke baris paling baru diingati.

[n]/rentetan
Cari ke belakang melalui sejarah untuk nbaris ke yang mengandungi rentetan; sekiranya rentetan
bermula dengan '^', baki rentetan mesti muncul pada permulaan sejarah
garisan untuk dipadankan.

[n]?rentetan
Sama seperti /, kecuali ia mencari ke hadapan melalui sejarah.

[n]n Cari untuk nkemunculan rentetan carian terakhir; arah pencarian
adalah sama seperti carian terakhir.

[n]N Cari untuk nkemunculan rentetan carian terakhir; arah pencarian
adalah bertentangan dengan carian terakhir.

ANSI-CurUp, PC-PgUp
Ambil aksara dari permulaan baris ke kedudukan kursor semasa sebagai
rentetan carian dan lakukan carian sejarah ke belakang untuk baris yang bermula dengan ini
tali; kekalkan kedudukan kursor. Ini hanya berfungsi dalam mod sisip dan menyimpannya
yang aktif.

Edit arahan

[n]a Tambahkan teks n kali; masuk ke mod sisip sejurus selepas kedudukan semasa. The
append hanya direplikasi jika mod arahan dimasukkan semula iaitu digunakan.

[n]A Sama seperti a, kecuali ia dilampirkan pada penghujung baris.

[n]i Sisipkan teks n kali; masuk ke mod sisip pada kedudukan semasa. Sisipan
hanya direplikasi jika mod arahan dimasukkan semula iaitu digunakan.

[n]Saya Sama seperti i, kecuali sisipan dilakukan sejurus sebelum aksara bukan kosong yang pertama.

[n]s Gantikan yang seterusnya n aksara (iaitu padam aksara dan masuk ke sisipan
mod).

S Gantikan seluruh baris. Semua aksara daripada aksara bukan kosong pertama hingga akhir
baris dipadamkan dan mod sisip dimasukkan.

[n]cbergerak-cmd
Tukar daripada kedudukan semasa kepada kedudukan terhasil daripada n bergerak-cmds (cth
padamkan kawasan yang ditunjukkan dan masuk ke mod sisip); jika bergerak-cmd is c, Garis
bermula dari watak bukan kosong pertama ditukar.

C Tukar daripada kedudukan semasa ke hujung baris (iaitu padam ke hujung
baris dan pergi ke mod sisip).

[n]x Padam yang seterusnya n watak-watak.

[n]X Padam yang sebelumnya n watak-watak.

D Padam hingga ke hujung baris.

[n]dbergerak-cmd
Padam dari kedudukan semasa ke kedudukan yang terhasil daripada n bergerak-cmds;
bergerak-cmd ialah arahan pergerakan (lihat di atas) atau d, dalam hal ini talian semasa ialah
dipadam.

[n]rc Gantikan yang seterusnya n watak dengan watak c.

[n]R Ganti. Masukkan mod sisip tetapi tulis ganti aksara sedia ada dan bukannya memasukkan
sebelum watak sedia ada. Penggantian diulang n kali.

[n]~ Tukar kes seterusnya n watak-watak.

[n]ybergerak-cmd
Yank dari kedudukan semasa ke kedudukan yang terhasil daripada n bergerak-cmds ke dalam
penampan yank; jika bergerak-cmd is y, seluruh talian ditarik.

Y Yank dari kedudukan semasa ke hujung baris.

[n]p Tampalkan kandungan penimbal yank sejurus selepas kedudukan semasa, n kali.

[n]P Sama seperti p, kecuali penimbal ditampal pada kedudukan semasa.

Pelbagai arahan vi

^J dan ^M
Baris semasa dibaca, dihuraikan dan dilaksanakan oleh shell.

^L dan ^R
Lukis semula garisan semasa.

[n]. Buat semula perintah edit terakhir n kali.

u Buat asal perintah edit terakhir.

U Buat asal semua perubahan yang telah dibuat pada baris semasa.

PC Laman Utama, Tamat, Del dan kekunci kursor
Mereka bergerak seperti yang diharapkan, dalam mod sisipan dan arahan.

intr and berhenti
Aksara terminal gangguan dan berhenti menyebabkan baris semasa dipadamkan dan
gesaan baharu untuk dicetak.

Gunakan mksh-static dalam talian menggunakan perkhidmatan onworks.net


Pelayan & Stesen Kerja Percuma

Muat turun apl Windows & Linux

  • 1
    dalam-bersih
    dalam-bersih
    Skrip Kotlin yang membina semua nuklear
    cache daripada projek Gradle/Android.
    Berguna apabila Gradle atau IDE membenarkan anda
    turun. Skrip telah diuji
    macOS, tetapi ...
    Muat turun deep-clean
  • 2
    Pemalam Gaya Semak Eclipse
    Pemalam Gaya Semak Eclipse
    Pemalam Eclipse Checkstyle
    menyepadukan kod Java Checkstyle
    juruaudit ke dalam IDE Eclipse. The
    pemalam menyediakan maklum balas masa nyata kepada
    pengguna tentang viol...
    Muat turun Eclipse Checkstyle Plug-in
  • 3
    AstroOrzPlayer
    AstroOrzPlayer
    AstroOrz Player ialah pemain media percuma
    perisian, bahagian berdasarkan WMP dan VLC. The
    pemain adalah dalam gaya minimalis, dengan
    lebih daripada sepuluh warna tema, dan boleh juga
    b ...
    Muat turun AstroOrzPlayer
  • 4
    movistartv
    movistartv
    Kodi Movistar+ TV ialah ADDON untuk XBMC/
    Kodi que permite disponer de un
    penyahkodan perkhidmatan IPTV de
    Movistar integrado en uno de los
    pusat media ma...
    Muat turun movistartv
  • 5
    Kod :: Blok
    Kod :: Blok
    Kod::Blocks ialah sumber terbuka percuma,
    merentas platform C, C++ dan Fortran IDE
    dibina untuk memenuhi keperluan yang paling mendesak
    daripada penggunanya. Ia direka untuk menjadi sangat
    memanjang ...
    Muat Turun Kod::Blok
  • 6
    Di tengah-tengah
    Di tengah-tengah
    Di tengah-tengah atau Antara Muka Minecraft Lanjutan
    dan Penjejakan Data/Struktur ialah alat untuk
    memaparkan gambaran keseluruhan Minecraft
    dunia, tanpa benar-benar menciptanya. Ia
    boleh ...
    Muat turun Ditengah
  • Lebih »

Arahan Linux

Ad