Awu - Linux Command - Unix Command

NAMA

sh - command interpreter ( shell )

SINOPSIS

sh [- / + aCefnuvxIimqsVEbc ] [- o longname] -words [ target ... ]

DESCRIPTION

Sh minangka panuduh standar kanggo sistem kasebut. Versi saiki sh ing proses diowahi kanggo cocog karo spesifikasi POSIX 1003.2 lan 1003.2a kanggo shell. Versi iki nduweni akeh fitur sing nggawe katon kaya ing sawetara babagan cangkang Korn, nanging ora minangka clone cangkang Korn (pirsani ksh (1)). Mung fitur sing ditemtokake dening POSIX plus sawetara ekstensi Berkeley, sing digabung menyang cangkang iki. Kita ngarepake konformance POSIX kanthi wektu 4.4 BSD dirilis. Kaca iki ora dimaksudaké minangka tutorial utawa spesifikasi lengkap saka cangkang.

Ringkesan

Cangkang minangka printah sing maca garis saka salah sawijining file utawa terminal, nerangake, lan sacara umum nglakokake perintah liyane. Iku program sing mlaku nalika pangguna log ing sistem (senajan pangguna bisa milih cangkang sing beda karo perintah chsh (1)). Cangkang ngandhut basa sing nduweni kontrol aliran, fasilitas macro sing nyedhiyakake maneka warna fitur sajrone panyimpenan data, bebarengan karo sejarah lan kemampuan panyuntingan baris. Nggabungake pirang-pirang fitur kanggo mbiyantu nggunakake interaktif lan nduweni kaunggulan yen basa interpretatif umum kanggo panggunaan interaktif lan non-interaktif (skrip shell). Dadi, printah bisa diketik langsung menyang cangkang sing mlaku utawa bisa dilebokake menyang file lan file bisa dieksekusi langsung dening cangkang.

Invocation

Yen ora ana args lan yen input standar saka cangkang disambungake menyang terminal (utawa yen bendera - i disetel), lan opsi c - ora ana, cangkang dianggep minangka cangkang interaktif. Cangkang interaktif umume njanjeni sadurunge saben perintah lan ngatasi kasalahan program lan perintah (beda-beda). Nalika wiwit wiwitan, cangkang kasebut nemokaké argumen 0, lan yen diwiwiti nganggo casing `- 'cangkang kasebut uga dianggep minangka shell centang. Iki biasane rampung kanthi otomatis dening sistem nalika pangguna mlebu log pisanan. A shell login pisanan maca perintah saka file / etc / profile lan .profile yen ana. Yen ENV variabel lingkungan disetel ing entri menyang cangkang, utawa disetel ing .profile saka cithakan login, cangkang sabanjure maos perintah saka file sing dijenengi ing ENV Mulane, pangguna kudu nyetel perintah sing bakal kaleksanan mung ing wektu mlebu ing file .profile, lan printah sing dileksanakake kanggo saben cangkang ing file ENV . Kanggo nyetel variabel ENV ing sawetara file, nyelehake baris kasebut ing .profile direktori ngarep sampeyan

ENV = $ HOME / .shinit; ekspor ENV

substituting kanggo `` .shinit '' jeneng filename sing pengin. Wiwit file ENV dibaca kanggo saben invocation saka cangkang, kalebu skrip shell lan cangkang non-interaktif, paradigma ing ngisor iki migunani kanggo mbatesi perintah ing file ENV kanggo invocations interaktif. Panggonan perintah ing `` cilik '' lan '' esac '' ing ngisor (prentah kasebut diterangake ing pungkasan):

cilik $ - ing * i *)

# printah kanggo nggunakake interaktif

...

esac

Yen argumen baris perintah kajaba opsi kasebut wis ditemtokake, mula cangkang kasebut nganggep argumen kapisan minangka jeneng file sing diwaca kanggo maca perintah (skrip cangkang), lan argumen sing isih disimpen minangka paramèter positional saka cangkang ($ 1 , $ 2, dsb). Yen ora, cangkang kasebut maca perintah saka input standar.

Pangolahan List Argument

Kabeh opsi huruf siji duwe jeneng sing cocog sing bisa digunakake minangka argumen menyang opsi - o . Jeneng set - o diwenehake ing jejere pilihan huruf tunggal ing katrangan ing ngisor iki. Menehi teges `'-' 'milih opsi, nalika nggunakake plus`' + '' mateni opsi kasebut. Pilihan ing ngisor iki bisa disetel saka baris printah utawa karo set (1) builtin (sing diterangake sabanjure).

-a allexport

Ngekspor kabeh variabel sing ditugasake. (Ora dikepalake kanggo 4.4alpha)

-c

Maca perintah saka baris perintah. Ora ana perintah sing bakal diwaca saka input standar.

-C noclobber

Aja ngimpor berkas sing wis ana kanthi ``> '' (ora dikepalake kanggo 4.4alpha)

-e errexit

Yen ora interaktif, metu langsung yen printah sing ora diisi gagal. Status karsané printah dianggep tegas sing diuji manawa perintah kasebut digunakake kanggo ngendhalèkaké yèn elif nalika utawa nganti utawa yèn perintah kasebut minangka operand kiwa saka operator `` && '' utawa '' || ''.

-f noglob

Pateni expansion path path .

-n noexec

Yen ora interaktif, maca printah nanging ora nglakokna. Iki migunani kanggo mirsani sintaks saka skrip shell.

-u nounset

Tulis pesen menyang kesalahan standar nalika nyoba nggedhekake variabel sing ora disetel, lan yen cangkang ora interaktif, metu langsung. (Ora dikepalake kanggo 4.4alpha)

-v tegese

Cangkang kasebut nyatakake inpute kanggo kesalahan standar kaya sing diwaca. Migunani kanggo debugging.

-x xtrace

Tulis saben perintah kanggo kesalahan standar (didhisiki dening `+ 'sadurunge dieksekusi. Migunani kanggo debugging.

-q quietprofile

Yen opsi - v utawa - x wis disetel, aja digunakake nalika maca file initialization, iki / etc / profile .profile lan file sing ditemtokake dening variabel lingkungan ENV .

- Aku ora mangerteni

Ngilangi EOF saka input nalika interaktif.

-I interaktif

Peksa cangkang kanggo nindakake interaktif.

-m monitor

Nguripake kontrol proyek (disetel kanthi otomatis nalika interaktif).

-s stdin

Maca printah saka input standar (disetel kanthi otomatis yen ora ana argumen berkas). Opsi iki ora ana efek nalika nyetel sawise cangkang wis diwiwiti mlaku (yaiku karo set (1)).

-V vi

Ngaktifake editor baris perintah vi (1) sing dibangun ing (disable - E yen wis disetel).

-E emacs

Ngaktifake editor baris perintah emacs (1) (disables - V yen wis disetel).

-b ngandhani

Ngaktifake notifikasi asinkron saka completion job completion. (Ora dikepalake kanggo 4.4alpha)

Struktur Wujud

Cangkang kasebut ngasilake input sajrone baris saka file lan ngeculake tembung ing whitespace (kosong lan tab), lan ing urutan tartamtu saka karakter sing khusus kanggo cangkang kasebut `` operator '' Ana rong jinis operator: operator kontrol lan operator redirection (makna kasebut wis dibahas ing pungkasan). Ngisor iki dhaptar operator:

"Operator Kontrol:"

& && (); ;;; Deleng uga ||

"Pangalihan operator:"

<>> | << >> <&> & << - <>

Ngomong

Quoting digunakake kanggo mbusak makna tartamtu saka karakter tartamtu utawa tembung menyang cangkang, kayata operator, whitespace, utawa tembung kunci. Ana telung jinis quotes: sing cocog karo kuotasi tunggal, tanda kutip ganda, lan backslash.

Backslash

A backslash ngindhari makna harfiah saka karakter ing ngisor iki, kajaba Aq newline. A backslash sadurunge Aq newline dianggep minangka lanjutan baris.

Quotes Single

Enclosing karakter ing kuotasi tunggal ngreksa makna harfiah saka kabeh karakter (kajaba tembung siji, nggawe ora mungkin kanggo sijine siji-Kutipan ing senar siji-sebut).

Kaping pindho Penawaran

Enclosing karakter sing ana kuotasi dobel ngreksa makna harfiah kabeh karakter kajaba dollarign ($) backquote (`) lan backslash (\) Backslash ing kuotasi ganda historis aneh, lan serves kanggo ngutip mung karakter ing ngisor iki:

$ `\

Yen ora, tetep tetep harfiah.

Tembung disimpen

Tembung sing disimpen minangka tembung sing duwe arti khusus kanggo cangkang lan diakoni ing wiwitan baris lan sawise operator kontrol. Tembung ing ngisor iki ditrapake kanggo tembung:

! Ta elif Ta fi Ta while Ta case

liya Ta kanggo Ta banjur Ta {Ta}

ta Ta ta Ta nganti Ta yen Ta esac

Makna kasebut dibahas ing salajengipun.

Aliases

Alias ​​yaiku jeneng lan nilai sing cocog karo alias (1) perintah sing dibangun. Saben tembung sing dikarepake bisa kedadeyan (ndeleng ndhuwur), lan sawise mriksa tembung sing ditahan, cangkang mriksa tembung kasebut kanggo ndeleng apa sing cocok karo alias. Yen ora, iku bakal ngganti ing stream input kanthi nilai kasebut. Contone, yen ana alias disebut `` lf '' kanthi nilai `` ls -F '' banjur input:

lf foobar

bakal dadi

ls -F foobar

Alias ​​nyedhiyakake cara sing trep kanggo para pangguna sing ora bisa gawe shorthands kanggo dhawuh tanpa kudu ngerti cara nggawe fungsi kanthi argumen. Padha uga bisa digunakake kanggo nggawe kode lexically ora jelas. Panggunaan iki ora dikepengini.

Prentah

Cangkang nerangake tembung sing diwaca miturut sawijining basa, spesifikasi sing ana ing njaba lingkup halaman wong iki (deleng ing BNF ing dokumen POSIX 1003.2). Sanajan ateges, baris diwaca lan yen tembung pisanan baris (utawa sawise operator kontrol) ora dadi tembung sing ditahan, mula cangkang kasebut uga ngakoni perintah prasaja. Yen ora, sawijining komplèks utawa sawetara konstruksi khusus bisa uga diakoni.

Prasaja Wikipedia

Yen printah prasaja wis diakoni, cangkang nindakaké tindak-tanduk ing ngisor iki:

  1. Unggulan tembung saka wangun `` name = value '' diudani lan diutus menyang lingkungan saka prasaja sederhana. Operator pengalihan lan argumen-argumen kasebut (kaya sing dijelasake ing ngisor iki) dilucuti lan disimpen kanggo diproses.
  2. Kata-kata sing isih dikembangake minangka diterangake ing bagean sing disebut `` Ekspansi '' lan tembung sing isih isih dianggep jeneng printah lan perintah kasebut dumunung. Tembung sing isih ana dianggep minangka argumen perintah kasebut. Yen ora ana jeneng printah sing diasilake, assignment variable `value = value 'sing diakoni ing item 1 kena pengaruh cangkang saiki.
  3. Pangalihan ditindakake kaya sing diterangake ing bagean sabanjure.

Redirections

Redirect digunakake kanggo ngganti ngendi printah maca input utawa ngirim sawijining output. Umumé, redirections mbukak, nutup, utawa duplikat referensi sing ana kanggo file. Format sakabèhé sing digunakake kanggo redireksi yaiku:

[n] redir-op file

ngendi redir-op minangka salah siji operator redirection kasebut sadurunge. Ing ngisor iki daftar redirections bisa. Bq n minangka nomer opsional, kaya ing `3 '(ora` Bq 3' sing nuduhake deskriptor file.

[n]> file

Pangalihan standar (utawa n) pangalihan kanggo ngajukake.

[n]> | file

Padha, nanging ngatasi pilihan - C.

[n] >> berkas

Nambahake output standar (utawa n) menyang file.

[n]

Pangalihan standar input (utawa n) saka file.

[n1] <& n2

Input standar duplikat (utawa n1) saka deskripsi n2 file.

[n] <& -

Nutup input standar (utawa n).

[n1]> & n2

Duplikat standar output (utawa n1) saka n2.

[n]> & -

Nutup output standar (utawa n).

[n] <> berkas

Bukak file kanggo maca lan nulis ing standar input (utawa n).

Pengalihan ing ngisor iki asring disebut `` kene-dokumen ''

[n] << delimiter

kene-doc-text ...

delimiter

Kabeh teks ing baris sukses nganti delimiter disimpen adoh lan kasedhiya ing printah ing input standar, utawa file descriptor n yen wis kasebut. Yen delimiter minangka kasebut ing baris dhisikan dikutip, banjur teks kene-doc dianggapi secara harfiah, yen teks kasebut bakal diwenehake marang expansion parameter, substitusi perintah, lan ekspansi aritmatika (kaya sing diterangake ing bagean "Expansions"). 'Yen operator iku `' << - '' tinimbang` '<<' 'banjur anjog tab ing kene-doc-teks dilucuti.

Panelusuran lan Eksekusi

Ana telung jinis printah: fungsi shell, perintah sing dibangun, lan program normal - lan printah kasebut ditelusuri (miturut jeneng) ing urutan kasebut. Saben wong dieksekusi kanthi cara sing beda.

Nalika fungsi shell dieksekusi, kabeh parameter pangaturan shell (kajaba $ 0, sing tetep ora diowahi) disetel marang argumen fungsi shell. Variabel sing sacara eksplisit dilebokake ing lingkungan printah (kanthi manggonake tugas kasebut sadurunge jeneng fungsi) digawe lokal kanggo fungsi kasebut lan disetel marang nilai sing diwenehake. Banjur printah sing diwenehake ing definisi fungsi dieksekusi. Parameter positional dibalekake menyang nilai asline nalika perintah rampung. Iki kabeh ana ing cangkang saiki.

Shell shells dieksekusi internal kanggo shell, tanpa spawning proses anyar.

Yen ora, yen jeneng printah ora cocog karo fungsi utawa builtin, printah kasebut ditelusuri minangka program normal ing filesystem (kaya sing dijelasake ing bagian sabanjure). Nalika program normal dieksekusi, cangkang ngolah program, ngliwati argumen lan lingkungan kanggo program kasebut. Yen program kasebut ora minangka file eksekusi normal (ie, yen ora diwiwiti karo "nomer sihir" sing perwakilan ASCII yaiku "#!", Supaya execve (2) ngasilake Er ENOEXEC banjur) subshell. Cangkang anak bakal reinitialize dhewe ing kasus iki, supaya efek bakal kaya cangkang anyar wis dipratelakake kanggo nangani script shell ad-hoc, kajaba sing lokasi perintah sing wis ditemokake ing cangkeme induk bakal dikalahake dening bocah.

Elinga yen versi sadurungé saka dokumen iki lan kode sumber dhewe misleadingly lan sporadically ngrujuk marang skrip cangkang tanpa nomer sihir minangka "prosedur cangkang".

Path Search

Nalika nemokake printah, cangkange katon dhisik kanggo ndeleng fungsi cangkang kasebut kanthi jeneng kasebut. Banjur katon prentah sing dibangun dening jeneng kasebut. Yen printah dibangun ora ditemokake, salah sijine rong prakara:

  1. Jeneng-jeneng komando sing ngandhut slash sing mung dileksanakake tanpa nglakoni apa wae.
  2. Nihan nggoleki saben entri ing PATH minangka perintah. Nilai saka variabel PATH kudu dadi serangkaian entri sing dipisahake karo titik. Saben entri kasusun saka jeneng direktori. Direktori saiki bisa dituduhake kanthi implisit kanthi jeneng direktori kosong, utawa sacara eksplisit kanthi wektu siji.

Status Exit Command

Saben perintah nduweni status exit sing bisa mangaruhi prilaku printah shell liyane. Paradigma kasebut yaiku printah metu karo nol kanggo normal utawa sukses, lan non-nol kanggo kegagalan, kesalahan, utawa indikasi palsu. Kaca manawa kanggo saben printah ngirim nuduhaké manéka kodhe metu lan apa tegese. Tambahan, printah dibangun dadi kodhe exit, kaya sing dilakokno fungsi shell.

Komando Komplek

Paréntah komplèks minangka kombinasi saka prasaja perintah karo operator kontrol utawa tembung-tembung migunakaké, bebarengan nyipta komplèks komplèks sing luwih gedhé. Umumé, printah iki minangka salah siji saka ing ngisor iki:

  • prasaja prasaja
  • pipa
  • dhaptar utawa senyawa-dhaftar
  • komando senyawa
  • definisi fungsi

Kajaba manawa didhaptar, status metu saka dhawuhe yaiku perintah pungkasan sing gampang dilakoni kanthi printah.

Pipelines

Pipa siji yaiku urutan siji utawa luwih printah sing dipisahake dening operator kontrol |. Output standar kabeh nanging pungkasan perintah disambungake menyang input standar saka printah sabanjure. Output standar saka printah pungkasan diwenehi saka cangkang, kaya biasanipun.

Format kanggo pipeline yaiku:

[!] command1 [| command2 ...]

Output standar perintah1 disambungake menyang input standar perintah2. Input standar, output standar, utawa loro-lorone perintah dianggep diutus dening pipa sadurunge ana redireksi sing ditemtokake dening operator redireksi sing minangka bagian saka perintah.

Yen pipo ora ana ing latar mburine (dibahas maneh), cangkang nunggu kabeh perintah rampung.

Yen tembung reserved! ora ndhisiki pipo, status metu minangka status metu saka pandhuan pungkasan sing ditemtokake ing pipa. Yen ora, status metu iku B ora logis saka status metu saka printah pungkasan. Sing, yen printah pungkasan ngasilake nol, status metu 1; yen printah pungkasan bakal ngasilake luwih saka nol, status metu nol.

Amarga kontribusi pipeline input standar utawa keluaran standar utawa kedadeyan sadurunge njupuk redirection, bisa diowahi kanthi redireksi. Tuladhane:

$ command1 2> & 1 | command2

ngirim loro output standar lan kesalahan standar perintah1 menyang input standar perintah2.

A; utawa terminator nyebabake AND-OR-list sadurunge (diterangake sabanjuré) supaya bisa dieksekusi secara urutan; a & nimbulake execution asynchronous saka AND-OR-dhaftar sadurunge.

Delengen yen ora kaya cangkang liyane, saben proses ing pipa iku anak saka cangkang sing bisa ditampani (kajaba cangkang sing dibangun, sing nglakoni nglakoni cangkang saiki - nanging apa wae sing ditrapake ing lingkungan dibusak).

Rintisan Latar -

Yen perintah diakhiri dening ampersand operator kontrol (&), cangkang ngeksekusi perintah kanthi asim. - yaiku, cangkang ora ngenteni perintah rampung sadurunge nglakoni perintah sabanjure.

Format kanggo ngaktifake printah ing latar mburi yaiku:

command1 & [command2 & ...]

Yen cangkang ora interaktif, input standar saka perintah asinkron disetel menyang / dev / null

Lists - Generally Speaking

Daftar punika urut urutan nol utawa luwih akeh dipisahake karo garis anyar, titik koma, utawa ampersand, lan sing ditindakake kanthi salah siji saka telung karakter kasebut. Pandhuan ing dhaptar dieksekusi miturut urutan sing ditulis. Yen printah diterusake karo ampersand, cangkang kasebut miwiti perintah kasebut lan langsung nerusake perintah kasebut; Yen ora, sampeyan bakal nemtokake perintah kasebut supaya bisa dibatalake sadurunge bisa dileksanakake.

Operator Siklus Short-Circuit

`` && '' lan `'||' 'iku operator dhaptar AND-OR. `` && '' nglakoke perintah sing pertama, lan banjur nglakokne perintah liya yen status metu saka perintah pertama nol. '' || '' meh padha, nanging nglakoni perintah liya yen status metu saka dhisikan sing pertama iku nonzero. `` && '' lan `'||' 'loro-lorone nduweni prioritas sing padha.

Arus-Kontrol Nggawe - yen, nalika, kanggo, cilik

Sintaks perintah kasebut

yen dhaftar
banjur dhaptar
[dhaftar elif
banjur dhaftar] ...
[liya]
fi

Sintaks perintah kasebut yaiku

nalika dhaftar
dhaptar
rampung

Dhaptar loro dieksekusi bola-bali nalika status metu saka dhaptar pisanan iku nol. Pamrayoan nganti padha, nanging tembung kasebut nganti ing panggonan nalika, sing bakal mbaleni nganti status metu saka dhaptar pisanan iku nol.

Sintaks perintah punika

kanggo variabel ing tembung ...
dhaptar
rampung

Tembung ditambahake, banjur dhaptar kasebut dileksanakake kanthi bola-bali kanthi variabel sing disetel kanggo saben tembung. aja lan rampung bisa diganti karo `` {'' lan `'}' '

Sintaks istirahat lan terus printah

break [num]
terus [num]

Break ngilangake angka paling anyar kanggo utawa nalika puteran. Terus terus karo pengulangan sabanjure ing dobel ambane. Iki dileksanakake minangka perintah sing dibangun.

Sintaks saka perintah cilik kasebut

huruf cilik ing
dhaptar);
...
esac

Pola bisa bener dadi salah siji utawa luwih pola (pirsani Shell Patterns sing diterangake ing pungkasan), dipisahake karo karakter `'' '.

Gabungan Grouping Together

Pandhuan bisa uga dikelompokake kanthi nulis

(daftar)

utawa

{list;

Pisanan kasebut nglakokaké perintah ing subshell. Prangkat sing dibangun ing daftar (daftar) ora bakal mengaruhi cangkang saiki. Wangun liya ora nyithak cangkang liyane supaya rada luwih efisien. Pangumpulan kelompok bebarengan kanthi cara iki ngidini sampeyan ngarahake output minangka sanadyan padha dadi siji program:

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

Fungsi

Sintaks definisi fungsi kasebut

jeneng () printah

Definisi fungsi minangka statement eksekusi; nalika dieksekusi nginstal fungsi sing jeneng jeneng lan ngasilake status exit saka nol. Dhawuh iki biasane dadi daftar sing ditempelake antarane `` {'' lan `'}' '

Variabel bisa didokumentasikan dadi lokal kanggo fungsi kanthi nggunakake perintah lokal. Iki bakal katon minangka statement pisanan fungsi, lan sintaksis kasebut

lokal [variable | -] ...

Lokal diimplementasikake minangka command buildin.

Nalika variabel digawe lokal, diwenehi nilai awal lan diekspor lan diwaca flag saka variabel kanthi jeneng sing padha ing lingkungan sekitar, yen ana siji. Yen ora, variabel kasebut ing wiwitane ora ditemtokake. Cangkang nggunakake dinamis scoping, supaya yen sampeyan nggawe variabel x lokal kanggo fungsi f, kang banjur nelpon fungsi g, referensi kanggo variabel x digawe ing g bakal waca variabel x declared in f, ora kanggo variabel global dijenengi x .

Parameter khusus mung tinimbang bisa digawe lokal yaiku `` - '' Nggawe `'-' 'lokal opsi cangkang wae sing diowahi liwat susunan set sajrone fungsi sing bakal dibalekake menyang nilai asli nalika fungsi bali.

Sintaks perintah bali punika

bali [exitstatus

Ngakhiri fungsi sing saiki nglakoni. Bali dileksanakake minangka printah sing dibangun.

Variabel lan Parameter

Cangkang njaga paramèter parameter. Parameter sing dilambarke kanthi jeneng diarani variabel. Nalika miwiti, cangkang ngowahi kabeh variabel lingkungan menyang variabel cangkang. Variabel anyar bisa disetel kanthi nggunakake formulir kasebut

jeneng = nilai

Variabel sing disetel dening pangguna kudu duwe jeneng sing dumadi saka alfabet, numerik, lan garis bawah - sing pisanan ora kudu numerik. Parameter bisa uga ditulis minangka angka utawa karakter khusus kaya sing diterangake ing ngisor iki.

Parameter posisi

Parameter posisional minangka parameter sing dilambari nomer (n> 0). Cangkang kasebut wiwitan kasebut kanggo nilai-nilai argumen baris perintah sing ngetutake jeneng skrip cangkang. Setel (1) builtin uga bisa digunakake kanggo nyetel utawa ngreset.

Parameter Khusus

Parameter khusus minangka parameter sing diandharake dening salah siji karakter khusus ing ngisor iki. Nilai parameter didaftarake ing jejere karakter.

*

Ekspansi menyang parameter posisi, wiwit saka siji. Nalika ekspansi dumadi ing sawijining string sing diarani kaping pindho, iku ngembang menyang kolom siji kanthi nilai saka saben parameter sing dipisahake karo karakter pisanan variabel IFS , utawa dening yen IFS ora diisi.

@

Ekspansi menyang parameter posisi, wiwit saka siji. Nalika ekspansi ana ing kuotasi kaping pindho, saben parameter posisi nggedhekake minangka argumen kapisah. Yen ora ana parameter posisional, ekspansi @ nggawe argumen nol, sanajan @ wis diarani kaping pindho. Apa iki tegese, contone, yaiku yen $ 1 yaiku `` abc '' lan $ 2 minangka `'def ghi' 'banjur Qq $ @ memperluas menyang rong argumen:

abc def ghi

#

Ngembangake jumlah paramèter posisi.

?

Ngembangake status metu saka pipo paling anyar.

- (Geser.)

Ekstensif kanggo bendera pilihan saiki (jeneng opsi siji-huruf concatenated menyang senar) minangka kasebut ing invocation, dening pesawat dibangun perintah, utawa implisit dening shell.

$

Ngembang menyang ID proses saka cangkang sing dijupuk. Subsonek nahan nilai sing padha $ minangka indhuk.

!

Ngembang menyang ID proses saka pandhuan mburi sing paling anyar sing dieksekusi saka cangkang saiki. Kanggo pipo, ID proses kasebut minangka perintah pungkasan ing pipa.

0 (Zero.)

Ngembangake jeneng cangkang utawa naskah cangkang.

Perkembangan Word

Klausa iki nggambarake ekspansi sing beda-beda sing dilakokake ing tembung. Ora kabeh ekspansi dileksanakake ing saben tembung, kaya sing diterangake ing pungkasan.

Tilde ekspansi, ekspansi parameter, substitusi pareng, ekspansi aritmetika, lan kutipan pamisah sing dumadi ing tembung tunggal nggedhekake menyang lapangan. Iku mung pisah utawa pathname expansion sing bisa nggawe akeh kolom saka tembung siji. Pangecualian siji kanggo aturan iki yaiku ekspansi parameter khusus @ ing kuotasi ganda, kaya sing kasebut ing ndhuwur.

Urutan tambahan tembung kasebut yaiku:

  1. Ekspansi Tilde, Ekspansi Parameter, Substitusi Perintah, Ekspansi Aritmatika (kabeh iki kedadean bebarengan).
  2. Pisahake lapangan ditindakake ing lapangan sing digawe dening langkah (1) kajaba variabel IFS iku kosong.
  3. Pathname Expansion (kajaba setting - f ing efek).
  4. Nolak Kutip.

$ Karakter digunakake kanggo ngenalake expansion parameter, substitusi perintah, utawa evaluasi aritmatika.

Tilde Expansion (ngganti direktori ngarep pengguna)

Tembung sing diwiwiti kanthi karakter tilde sing ora ditulis (~) tundhuk marang tingkatan ekspansi. Kabeh karakter nganti slash (/) utawa pungkasan tembung dianggep minangka jeneng panganggo lan diganti karo direktori ngarep pangguna. Yen jeneng panganggo wis ilang (kaya ing ~ / foobar), tilde diganti karo nilai variabel HOME (direktori ngarep pangguna saiki).

Parameter Ekspansi

Format kanggo expansion parameter yaiku kaya mangkene:

ing ngendi ekspresi kasusun saka kabeh karakter nganti pencocokan ``} '' Sembarang `'}' 'lolos dening backslash utawa ing senar sing ditulis, lan karakter ing ekspansi aritmetika sing ditrapake, substitusi pangowahan, lan ekspansi variabel, ora diteliti ing nemtokake cocog `'}' '

Wangun paling gampang kanggo ekspansi parameter yaiku:

Nilai, yen ana, parameter diganti.

Jeneng parameter utawa simbol bisa dilingkup ing penyangga, sing opsional kajaba kanggo paramèter sing duwe posisi luwih saka siji digit utawa nalika paramèter kasebut diiringi sawijining karakter sing bisa diinterpretasikaké minangka bagian saka jeneng kasebut. Yen expansion parameter dumadi ing kuotasi ganda:

  1. Pathname expansion ora dileksanakake ing asil ekspansi.
  2. Pisah lapangan ora dileksanakake ing asil ekspansi, kajaba @.

Kajaba iku, expansion parameter bisa diowahi kanthi nggunakake salah sawijining format ing ngisor iki.

Gunakake Nilai Default. Yen parameter ora diisi utawa ora ditemtokake, ekspansi tembung kasebut diganti; Yen ora, nilai parameter kasebut diganti.

Temtokake Default Values. Yen parameter ora diisi utawa ora ditemtokake, ekspansi tembung kasebut diwenehi parameter. Ing kabeh kasus, nilai final saka parameter diganti. Mung variabel, ora parameter paramèter utawa paramèter khusus, bisa ditugasi kanthi cara iki.

Nuduhake Kesalahan yen Null utawa Unset. Yen parameter ora diisi utawa ora ditemtokake, ekspansi tembung (utawa pesen sing nuduhake yen ora diilangi yen tembung dilirwakake) ditulis kanggo kesalahan standar lan metu saka shell kanthi status exit nonzero. Yen ora, nilai parameter kasebut diganti. Cangkang interaktif ora perlu metu.

Gunakake Nilai Alternatif. Yen parameter ora diisi utawa ora ditemtokake, null diowahi; Dadi, ekspansi tembung kasebut diganti.

Ing expansions parameter sing ditampilake sadurunge, nggunakake titik ing format format ing test kanggo parameter sing ora dianyari utawa nul; Pengurangan saka asil titik loro ing test kanggo parameter sing mung ora dianyari.

Panjang String. Dawa ing karakter saka nilai parameter.

Ing ngisor iki patang tipe expansion parameter nyedhiyakake kanggo substring processing. Ing saben kasus, notasi sing cocog karo pola (pirsani Shell Patterns), tinimbang notasi ekspresi reguler, digunakake kanggo ngevaluasi pola. Yen parameter * utawa @, asil ekspansi ora ditemtokake. Enclosing strata ekspansi parameter sakabehe ing kuotasi ganda ora nyebabake papat variasi pola karakter ing ngisor iki sing bakal dikutip, déné kuotasi karakter ing penyangga duweni efek kasebut.

Mbusak Pola Suffix paling cilik. Tembung wis ditambahake kanggo ngasilake pola. Ekspansi parameter banjur ngasilake parameter, kanthi bagean paling cilik suffix sing cocog karo pola kasebut dibusak.

Mbusak Pola Suffix paling gedhe. Tembung wis ditambahake kanggo ngasilake pola. Ekspansi parameter kasebut banjur nyebabake parameter, kanthi paling gedhe suffix sing cocog karo pola kasebut dibusak.

Mbusak Pola Pasan paling cilik. Tembung wis ditambahake kanggo ngasilake pola. Ekspansi parameter kasebut banjur nyebabake parameter, kanthi bagean sing paling cilik saka préfiks sing dicocogake karo pola sing dibusak.

Mbusak Pola Pahargyan Terbesar. Tembung wis ditambahake kanggo ngasilake pola. Ekspansi parameter kasebut banjur nimbulaké parameter, kanthi pérangan paling gedhé sing cocog karo pola sing dibusak.

Perintah Pengganti

Substitusi paréntah ngidini output sawijining perintah diganti ing panggonan jeneng printah kasebut dhewe. Substitusi pangantèn dumadi nalika dhawuhe dibandhingake kaya ing ngisor iki:

$ (command)

utawa Po 'backquoted' 'versi Pc:

`command`

Cangkang ngluwihi substitusi printah kanthi nglakokaké perintah ing lingkungan subshell lan ngganti pangowahan printah karo output standar perintah, ngilangi urutan siji utawa luwih s ing pungkasan substitusi. (Embedded s sadurunge ujung output ora dibusak, nanging, nalika pamisahan kolom, bisa ditarjamahake menyang s, gumantung marang nilai IFS lan tembung sing lagi dienggo.)

Ekspansi aritmatika

Ekspansi aritmatika nyedhiyakake mekanisme ngevaluasi ekspresi aritmetika lan ngganti nilainya. Format kanggo ekspansi aritmatika yaiku kaya mangkene:

$ ((ungkapan))

Ekspresi kasebut dianggep kaya-kaya ana ing kuotasi kaping pindho, kajaba ana ing kutipan kaping pindho ing ekspresi ora dianggep khusus. Cangkang ngembangake kabeh token ing ekspansi kanggo expansion parameter, substitusi perintah, lan kutipan pembatalan.

Sabanjure, kerang ngruwat iki minangka ekspresi aritmetika lan ngganti nilai ekspresi kasebut.

Pemisah Ruang Putih (Pemisahan Lapangan)

Sawise ekspansi parameter, substitusi perintah, lan ekspansi aritmetik, cangkang iki ngetokake asil ekspansi lan substitusi sing ora kedadeyan ing kuotasi ganda kanggo pamisahan kolom lan kothak multi bisa kasil.

Cangkang ngruwat saben karakter IFS minangka delimiter lan nggunakake pambatasi kanggo pamisah asil expansion parameter lan perintah substitusi menyang kothak.

Pathname Expansion (Gambar Jeneng Generasi)

Kajaba bendera - f sing disetel, generasi jeneng file bakal dilakoni sawise pisah tembung rampung. Saben tembung dipirsani minangka seri pola, dipisahake kanthi garis miring. Proses ekspansi nggantosaken tembung kanthi nama kabeh file sing wis ana sing jenenge bisa dibentuk kanthi ngganti pola saben karo senar sing cocog karo pola kasebut. Ana rong watesan ing ngisor iki: pisanan, pola ora bisa cocog karo string sing ana garis miring, lan liya, pola ora bisa cocog karo string sing diwiwiti karo periode kajaba karakter pisanan pola kasebut minangka periode. Sabanjure sabanjure nuduhake patron sing digunakake kanggo loro Pathname Expansion lan perintah (1).

Pola Shell

Pola kaperang saka karakter normal, sing cocog karo piyambak, lan meta-karakter. Meta-karakter yaiku ``! '' `` * '' `'?' 'Lan' '[' 'Karakter kasebut bakal ilang makna sing khusus yen dikutip. Nalika pangowahan utawa substitusi variabel dileksanakake lan tandha dolar utawa kuotasi bali ora diarani kaping pindho, nilai variabel utawa output printah dipindai kanggo karakter kasebut lan dialihake dadi meta-karakter.

Asterisk (`` * '') cocog karo karakter apa wae. Tandha pitakonan cocog karo samubarang karakter siji. Kren kurungan kiwa (`` ['') nepungake kelas karakter. Pungkasan kelas karakter dituduhake dening (``] '') yen ``] '' ilang banjur `'[' 'cocog karo`' ['' tinimbang ngenalake kelas karakter. Kelas karakter cocog karo karakter apa wae ing antarane kurungan kothak. Jinis aksara sing bisa ditemtokake kanthi nggunakake tandha minus. Kelas karakter bisa uga dilengkapi karo tanda seru karakter pisanan kelas karakter.

Kanggo nglebokaké ``] '' ing kelas karakter, dilakoni aksara pisanan kadhaptar (sawise ``! '' Manawa ana). Kanggo nambahi tandha minus, nggawe karakter pisanan utawa pungkasan sing didaftar

Dibangun

Bagian iki nampilake printah sing dibangun minangka dibangun amarga kudu nindakake sawetara operasi sing ora bisa dilakoni kanthi proses sing kapisah. Saliyane iki, ana sawetara perintah liyane sing bisa digawe kanggo efisiensi (umpamane, echo 1).

:

A printah null sing ngasilake nilai metu 0 (bener).

. file

Perintah ing file kasebut diwaca lan dieksekusi dening shell.

alias [ jeneng [ = string ]]]

Yen jeneng = senar sing ditemtokake, cangkang kasebut nemtokake jeneng alias kanthi string value Yen mung jeneng diwatesi, angka alias kasebut dicithak. Tanpa argumentasi, alias builtin nyithak jeneng lan nilai-nilai kabeh jeneng alias sing didéfinisi (pirsani unalias)

bg [ job] ...

Terusake proyek kasebut (utawa proyek sing saiki yen ora ana proyek sing dikirimake) ing latar mburi.

printah perintah ...

Nglakoni perintah builtin kasebut. (Iki migunani yen sampeyan duwe fungsi shell kanthi jeneng sing padha karo dhaptar pangreksan.)

cd [ direktori ]

Ngalih menyang direktori sing ditemtokake (gawan $ HOME) Yen entri kanggo CDPATH katon ing lingkungan cd utawa variable cangkang CDPATH wis disetel lan jeneng direktori ora diawali karo garis miring, banjur direktori sing didaftar ing CDPATH bakal ditelusuri kanggo direktori kasebut. Format CDPATH padha karo PATH Ing cangkang interaktif, printah cd bakal nyithak jeneng direktori sing bener-bener diuripake yen iki beda karo jeneng sing diparingake dening pangguna. Iki bisa uga beda amarga mekanisme CDPATH digunakake utawa amarga pranala simbolis wis dilintasi.

eval string ...

Konsultasikan kabeh argumen kanthi spasi. Banjur maneh parse lan nglakokne perintah kasebut.

exec [ command arg ... ]

Kajaba manawa dhawuhe dilirwakake, proses cangkang diganti karo program kasebut (sing kudu dadi program sing nyata, dudu shell builtin utawa fungsi). Sembarang pangalihan ing printah exec wis ditandani minangka permanen, supaya padha ora dibatalake nalika printah exec rampung.

metu [ exitstatus ]

Mungkasi proses shell. Yen exitstatus diwenehi digunakake minangka status exit saka cangkang; Yen ora, status metu saka dhisikan sadurunge digunakake.

jeneng ekspor ...

ekspor -p

Jeneng kasebut diekspor supaya bisa ditampilake ing lingkungan perintah sakteruse. Cara mung kanggo ora ngekspor variabel yaiku nyetel. Cangkang iki ngidini nilai saka variabel sing disetel ing wektu sing padha diekspor kanthi nulis

jeneng ekspor = nilai

Kanthi ora ana argumentasi, perintah ekspor nampilake jeneng kabeh variabel sing dièkspor. Kanthi opsi p - kasebut, output bakal diformat kanthi cocog kanggo panggunaan non-interaktif.

fc [- e editor ] [ pisanan [ pungkasan ]]

fc -l [- nr ] [ pisanan [ pungkasan ]]

fc -s [ old = new ] [ pisanan ]

Daftar fc sing dibangun, utawa diowahi lan dieksekusi ulang, perintah sing didhisiki sadurunge menyang cangkang interaktif.

-e editor

Gunakake editor sing dijenengi dening editor kanggo nyunting perintah kasebut. Senar editor iku jeneng printah, kanthi tundhuk liwat variabel PATH . Nilai ing variabel FCEDIT digunakake minangka default nalika - e ora kasebut. Yen FCEDIT ora kothak utawa ora ana, nilai saka variabel EDITOR digunakake. Yen EDITOR ora diblokir, ed (1) digunakake minangka editor.

-l (ell)

Daftarkan perintah kasebut tinimbang ngajokake editor kasebut. Pandhuan ditulis ing urutan sing dituduhake dening operand kapisan lan pungkasan, kayadene dipengaruhi dening - r karo saben perintah didhisiki dening nomer printah.

-n

Suppress nomer printah nalika listing karo -l.

-r

Mbalikke urutan perintah sing kadhaptar (karo - l utawa diowahi (karo ora - l utawa - s)

-s

Atur maneh printah tanpa ngajokake editor.

pisanan

pungkasan

Pilih dhaptar kanggo dhaptar utawa owahi. Jumlah perintah sadurungé sing bisa diakses ditemtokake dening nilai variabel HISTSIZE . Nilai pisanan utawa pungkasan utawa loro-lorone iku minangka salah siji saka ing ngisor iki:

[+] nomer

Nomer positif sing makili nomer printah; nomer printah bisa ditampilake kanthi opsi - l .

-number

Nomer desimal negatif sing nggambarake printah sing dieksekusi nomer perintah sadurunge. Contone, -1 minangka perintah sing sakbanjure sadurungé.

senar

Senar sing nuduhake perintah paling anyar sing diwiwiti karo senar kasebut. Yen opern anyar = anyar ora uga ditemtokake karo - s wangun string saka operan pisanan ora bisa ngemot tandha wit sing padha.

Variabel lingkungan ngisor iki ndadekake eksekusi fc:

FCEDIT

Jeneng editor bakal digunakake.

HISTSIZE

Jumlah perintah sadurunge sing bisa diakses.

fg [ proyek ]

Mindhah proyek sing ditemtokake utawa proyek sing saiki ing latar mburi.

getopts optstring var

POSIX nduwe perintah, ora bakal bingung karo Bell Labs -derived getopt (1).

Argumentasi sing pertama kudu dadi serat-serat, sing saben-saben bisa ditemokake kanthi titik loro kanggo nunjukake yen opsi kasebut mbutuhake argumen. Variabel sing ditemtokake diset menyang pilihan parsed.

Perintah getopts nglirwakaken getopt lawas (1) sarana amarga penanganan argumen sing ngemot spasi.

The getopts builtin bisa digunakake kanggo njupuk opsi lan argumen saka dhaptar parameter. Nalika kasebut, getopts nempatake nilai pilihan sabanjure saka string pilihan ing dhaptar ing variabel cangkang sing ditemtokake dening var lan indeks kasebut ing cangkang variabel OPTIND Nalika cangkang kasebut dijupuk , OPTIND diinisialisasi dadi 1. Kanggo saben opsi sing mbutuhake argumentasi, getopts builtin bakal dipasang ing variabel cangkang OPTARG Yen opsi ora diwenehake ing optik, banjur OPTARG bakal ora disetel.

optstring minangka senar saka aksara pilihan sing diakoni. Yen huruf kasebut diikuti titik loro, opsi kasebut dijaluk nduwe argumen sing bisa utawa ora dipisahake kanthi papan putih. Yen karakter pilihan ora ditemokake ing ngendi sing dituju , getopts bakal nyetel var variabel menyang ``? '' Getopts bakal mbatalake OPTARG lan nulis output menyang kesalahan standar. Kanthi nemtokake titik minangka aksara pisanan ngelingi kabeh kasalahan ora bakal diilangi .

Nilai nonzero bali nalika pilihan pungkasan wis dicenthang. Menawa ora ana argumen sing isih ana, getopts bakal ngeset var menyang opsi khusus, `` - '' niki, bakal ngeset var dadi ``? ''

Pecah kode ing ngisor iki nuduhake carane wong bisa ngolah argumen kanggo dhawuhe bisa njupuk opsi [a] lan [b] lan pilihan [c] sing mbutuhake argumen.

nalika getopts abc: f
aja
cilik $ f ing
a | | b) bendera = $ f ;;
c) carg = $ OPTARG ;;
\?) echo $ USAGE; metu 1 ;;
esac
rampung
mindhah `expr $ OPTIND - 1`

Kode iki bakal nampi samubarang sing padha karo:

cmd -acarg berkas file
cmd -a -c arg file file
cmd -carg -a file berkas
cmd -a -carg - file berkas

hash -rv command ...

Cangkang njaga meja hash sing eling marang lokasi perintah. Kanthi ora ana argumen, dhuwit hash nyithak isi tabel iki. Entri sing durung ditemokake wiwit cd kasebut pungkasan ditandai karo tanda bintang; mungkin entri iki ora sah.

Kanthi bantahan, command hash mbusak perintah kasebut saka tabel hash (kajaba fungsi kasebut) lan banjur nemokake. Kanthi opsi - v , hash prints lokasi printah minangka nemokake. Pilihan - r nyebabake perintah hash kanggo mbusak kabeh entri ing tabel hash kajaba fungsi.

lowongan kerja [ job ]

Nyetak proses id saka proses ing proyek. Yen argumentasi proyek dileksanakake, proyek saiki digunakake.

proyek

Printah iki nyathet kabeh proses latar mburi sing dadi anak saka proses cangkang saiki.

pwd

Print direktori saiki. Printah dibangun bisa beda-beda saka program jeneng sing padha amarga perintah builtin eling apa direktori saiki tinimbang recomputing saben wektu. Iki nggawe luwih cepet. Nanging, yen direktori saiki diganti jeneng, versi builtin saka pwd bakal terus dicithak jeneng lawas kanggo direktori.

maca [- p prompt ] [- r ] variabel ...

Pit kasebut dicithak yen opsi p - kasebut lan input standar minangka terminal. Banjur baris diwaca saka input standar. Newline mburi dibusak saka garis lan garis pamisah kaya sing diterangake ing bagean ing tembung sing pisahake ing ndhuwur, lan potongan-potongan ditemtokake kanggo variabel kasebut. Paling ora siji variabel kudu ditemtokake. Yen luwih akeh tinimbang variabel, potongan sing isih ana (bebarengan karo karakter ing IFS sing dipisahake) ditugasake marang variabel pungkasan. Yen ana luwih akeh variabel tinimbang potongan, variabel sithik ditugasi minangka string kosong. The builtin diwaca bakal nuduhaké kasuksesan kajaba EOF ditemoni ing input, ing kasus kasebut gagal dikalahake.

Secara default, kajaba opsi r - kasebut, backslash `` \ '' minangka karakter escape, nyebabake karakter kasebut bisa dianggep secara harfiah. Yen backslash diikuti karo garis anyar, backslash lan garis anyar bakal dibusak.

jenenge ...

readonly -p

Jeneng kasebut ditandai minangka diwaca mung, supaya ora bisa diowahi utawa diowahi. Cangkang kasebut ngidini nilai saka variabel sing bakal disetel ing wektu sing padha ditandhani mung diwaca dening nulis

readonly name = value

Kanthi ora ana argumentasi, dhawuhe maca mung jeneng kabeh variabel sing diwaca. Kanthi opsi p - kasebut, output bakal diformat kanthi cocog kanggo panggunaan non-interaktif.

nyetel [{- options | + opsi | - arg ... ]

Tata setel nglakoni fungsi sing beda-beda.

Kanthi ora ana argumen, dhaptar angka-angka kabeh variabel shell.

Yen opsi diwenehi, bendhelan kasebut bakal nemtokake pilihan bendera, utawa mbusak kasebut minangka diterangake ing bagean sing disebut Sx Argument List Processing.

Panggunaan kaping saka printah set iku kanggo nyetel angka-angka parameter paramilik shell kasebut ing args kasebut. Kanggo ngganti parameter posisional tanpa ngganti opsi apa wae, gunakake `` - '' minangka argumentasi pisanan sing disetel. Yen ora ana args, perintah kasebut bakal ngilangi kabeh parameter panggunggungan (setara karo nglakokake ` shift $ #. ''

Nilai variabel

Atur nilai kanggo variabel. (Secara umum luwih becik nulis variabel = nilai tinimbang nggunakake setvar setvar dimaksudaké kanggo digunakake ing fungsi sing nemtokake nilai menyang variabel sing jenenge dilewati minangka paramèter.)

pindah [ n ]

Ngganti paramèter posisi n kaping. Pangowahan nata nilai $ 1 kanggo nilai $ 2 nilai $ 2 kanggo nilai $ 3 lan sateruse, ngurangi nilai $ # siji. Yen n luwih gedhe tinimbang jumlah parameter posisional, shift bakal ngetokake pesen kesalahan, lan metu karo status bali 2.

kaping

Nyetak wektu pangguna lan sistem akumulasi kanggo cangkang lan kanggo pangolahan sing mbukak saka cangkang. Status bali yaiku 0.

sinyal sworo cangkem ...

Nimbulaké cangkang kanggo njlentrehake lan nglakokne tumindak yen sinyal kasebut ditampa. Sinyal kasebut diwatesi kanthi nomer sinyal. Yen sinyal 0 , tindakan dileksanakake nalika shell metu. tumindak bisa dadi null utawa `'-' 'mantan nyebabake sinyal sing ditemtokake supaya ora diilangi lan sing terakhir bisa nyebabake tumindak default. Nalika cangkang nyuwun mateni subshell , piranti kasebut bakal ngreset sinyal (nanging ora diabaikan) kanggo tindakan standar. Perintah trap ora duweni efek ing sinyal sing ora digatekake nalika nglebokake cangkang.

ketik [ jeneng ... ]

Alihake saben jeneng minangka printah lan print resolusi panuntun perintah. Resolusi sing bisa kasebut yaiku: shell keyword, alias, shell builtin , command, alias tracked and not found. Kanggo alias ekspansi alias dicithak; kanggo paréntah lan dilacak alias jeneng path lengkap printah kasebut dicithak.

ulimit [- H -S ] [- a-tfdscmlpn [ value ]]

Enquire babagan utawa nyetel watesan hard utawa alus ing proses utawa ngeset limit anyar. Pilihan antarane wates hard (sing ora ana proses sing dilanggar, lan ora bisa digedhekake yen wis diturunake) lan watesan sing alus (sing nyebabake proses kasebut supaya menehi tandha nanging ora kudu dipateni, lan bisa uga digedhekake) digawe kanthi bendera kasebut:

-H

nyetel utawa pitakon babagan watesan hard

-S

nyetel utawa pitakon babagan watesan alus. Yen ora - H utawa - S wis ditemtokake, watesan sing lembut ditampilake utawa watesan sing disetel. Yen loro kasebut, sing pungkasan menang.

Watesan sing diinterogasi utawa disetel, banjur, dipilih kanthi nemtokake salah sawijining bendera:

-a

nuduhake kabeh watesan saiki

-t

nuduhake utawa atur watesan wektu CPU (ing detik)

-f

nuduhake utawa atur watesan file paling gedhé sing bisa digawe (ing batesan 512-bita)

-d

nuduhake utawa nyetel watesan babagan ukuran babagan segmen data (ing kilobita)

-s

nuduhake utawa atur wates ing ukuran tumpukan proses (ing kilobita)

-c

nuduhake utawa nyetel watesan ing ukuran dump inti paling gedhé sing bisa diprodhuksi (ing pamblokiran 512-byte)

-m

nuduhake utawa atur wates ing total memori fisik sing bisa digunakake dening proses (ing kilobita)

-l

nuduhake utawa atur watesan babagan carane memori proses bisa ngunci nganggo mlock (2) (ing kilobita )

-p

nuduhake utawa nyetel watesan babagan jumlah pangolahan pangguna iki bisa dumadi ing siji wektu

-n

nuduhake utawa atur watesan ing file angka proses bisa mbukak bebarengan

Yen ora ana sing kasebut, watesan kasebut ing ukuran file sing dituduhake utawa disetel. Yen angka wis ditemtokake, watesan wis disetel kanggo nomer kasebut; Yen watesan saiki ditampilake.

Watesan proses sing bisa ditampilake bisa ditampilake utawa disetel nganggo sarana sysctl (8).

umask [ topeng ]

Setel nilai umask (ndeleng umask (2)) menyang nilai oktal kasebut. Yen argument ditolak, angka umask dicithak.

unalias [- a ] [ name ]

Yen jeneng wis ditemtokake, cangkang kasebut mbusak alias kasebut. Menawa - kasebut, kabeh alias dibusak.

jeneng mbusak ...

Variabel lan fungsi kasebut ora ditemtokake lan ora diekspor. Yen jeneng tartamtu cocok karo variabel lan fungsi, loro variabel lan fungsi ora disetel.

ngenteni [ proyek ]

Ngenteni proyek sing ditemtokake kanggo ngrampungake lan mulihake status metu saka proses pungkasan ing lapangan. Yen argument ditolak, nunggu kabeh proyek rampung lan bali lan status exit saka nol.

Pangowahan Line Command

Nalika sh digunakake interaktif saka terminal, perintah saiki lan riwayat printah (waca fc ing Sx Builtins) bisa diowahi kanthi nggunakake modus-command-line vi. Mode iki migunakake perintah, sing dijelasake ing ngisor iki, mirip karo subset saka sing diterangake ing kaca manawa. Atur `setel '-o vi mbisakake editing mode-vi lan nyelehake menyang mode insert. Kanthi mode vi aktif, sh bisa diowahi ing antarane mode insert lan modus perintah. Editor ora diandharake kanthi lengkap ing kene, nanging bakal ana ing dokumen liyane. Iku padha karo vi: ngetik Aq ESC bakal mbuwang sampeyan menyang mode command command VI. Mengko Aq bali nalika ing mode printah bakal ngliwati garis kasebut menyang cangkang.

Penting: Gunakake perintah wong ( % man ) kanggo ndeleng carane printah sing digunakake ing komputer sampeyan.