Ash - Linux Kommando - Unix Command

NAMME

sh - command interpreter ( shell )

SYNOPSIS

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

BESKRIUWING

Sh is de standert kommando-interpreter foar it systeem. De aktuele ferzje fan sh is yn it proses fan feroare ta neffens de POSIX 1003.2 en 1003.2a spesifikaasjes foar de shell. Dizze ferzje hat in soad funksjes dy't it ferskine yn in part fan 'e Korn shell, mar it is gjin Korn shell clone (sjoch ksh (1)). Allinne funksjes dy't oanjûn wurde troch POSIX plus in pear Berkeley-útwreidingen, wurde yndield yn dizze shell. Wy ferwachtsje de konfiguraasje fan POSIX troch de tiid 4.4 BSD is frijjûn. Dizze manpage is net bedoeld om in tutorial of in folsleine specifikaasje fan 'e shell te wêzen.

Oersicht

De shell is in kommando dy't liedt fan lêzen fan in triem of it terminal te lêzen, ynterpretearret, en meastal oare kommando's útfiert. It is it programma dat rint as in brûker yn it systeem oanmeld is (hoewol in brûker kin in oare shell selektearje mei it kommando chsh (1). De shell brûkt in taal dy't in struktuer fan struktuer hat, in makro-foarsjenning dy't in ferskaat oan funksjes leveret oan 'e data opslach, tegearre mei ynboude histoarje en line-editing-mooglikheden. It omfettet in protte funksjes om ynteraktyf gebrûk te helpen en hat de foardiel dat de ynterpretative taal common is foar sawol ynteraktive en net ynteraktive gebrûk (shell scripts). Dit is, kommando's kinne direkt tastjoerd wurde nei de rinnende shell of kin in triem ynsteld wurde en de triem kin direkt útfierd wurde troch de shell.

Opkomst

As der gjin args oanwêzich binne en as de standertynfier fan 'e shell ferbûn is mei in terminal (of as de - i flag is set), en de - c opsje is net beskikber, wurdt de shell beskôge as in ynteraktive shell . In ynteraktive shell besoarget algemien foar elk kommando en behannelet programmearjen en kommandofehlers oars as (hjirûnder beskreaun). As earste begjint, besjogge de shell argumint 0, en as it begjint mei in priz '-' de shell wurdt ek beskôge as in ynlochshell. Dit wurdt normaal automatysk dien troch it systeem as de brûker earst ynlogt. In ynlogge shell lês earst befetsjes út 'e bestannen / etc / profile en .profile as se bestean. As de omjouwingsfariabele ENV op ynfier nei in shell ynsteld is of yn 'e .profil fan in ynlochshell stiet, lês de shell dan kommando's kommando's fan de triem neamd yn ENV. Dêrom moat in brûker kommando's opsette , dy't allinich ophelle wurde ynlogge tiid yn 'e .profile-bestân, en kommando's dy't foar elke shell útfierd wurde yn it ENV- bestân. Om de ENV- fariabele oan guon bestannen te stellen, set de folgjende line yn jo .profyl fan jo thúsblêd

ENV = $ HOME / .shinit; eksportearje ENV

It opnimmen fan ``. Shinit '' hokker triemnamme jo wolle. Sûnt it ENV- bestân is lêzen foar elke opdracht fan 'e shell, ynklusyf shell scripts en net-ynteraktive shells, is it folgjende paradigma nuttich foar beheinen fan kommando's yn it ENV- bestân foar ynteraktive opsjes. Befêstigje boaden binnen it `` case '' en `` esac '' ûnder (dizze kommando's wurde letter beskreaun):

Case $ - yn * i *)

# kommando's foar ynteraktyf gebrûk allinich

...

esac

As kommandorigens arguminten neist de opsjes wurde oantsjutte, dan behannelet de shell it earste argumint as de namme fan in bestân om te befestigjen fan kommando's (in skelpskript), en de oerbleaun arguminten wurde as posysjeparameters fan 'e shell set ($ 1 , $ 2, ensfh.). Oars, lês de shell befetsjes fan syn standertynfier.

Argumentlisten ferwurkjen

Alle inkele letteropsjes hawwe in oerienkommende namme dy't brûkt wurde as argumint foar de - o- opsje. De opsjennamme wurdt njonken de inkele letter opsje yn 'e beskriuwing hjirûnder fersoarge. It opslaan fan in string `` - '' feroaret de opsje, by it brûken fan in plus `` + '' de opsje. De neikommende opsjes kinne opsteld wurde fan de kommando-rigel of mei de set (1) ynboud (letter beskreaun).

-a allexport

Alle ferskillende fariabele eksportearje eksportearje. (UNIMPLEMENTED foar 4.4alfa)

-c

Lês kommando's út 'e kommandorigel. Gjin kommando's wurde lêzen fan de standertynfier.

-C noklobber

Skiede besteande bestannen mei ``> '' (UNIMPLEMENTED foar 4.4alpha)

-e errexit

As net ynteraktyf is, gean fuortendaliks út as in ûnbesteane kommando falt. De útgongstatus fan in kommando wurdt beskôge as eksplisyt getten wurdt as it kommando brûkt wurdt om in as elif te behearjen of of as de kommando is de lofterhand fan in `` && '' of `` | '' 'operator.

-f noglob

Nettsjinjen fan paadwizer útsette.

-n noexec

As net ynteraktyf is, lêze kommando's, mar se net útfiere. Dit is handich foar it kontrolearjen fan 'e syntaksis fan shell scripts.

-u noun set

Skriuw in berjocht nei standert fout by it besykjen om in fariabele út te wreidzjen dy't net ynsteld is, en as de shell net ynteraktyf is, fuortdaliks fuortdaliks. (UNIMPLEMENTED foar 4.4alfa)

-v verbose

De shell skriuwt har ynput nei standert fout as it lêzen wurdt. Nuttich foar debuggen.

-x xtrace

Skriuw elke kommando nei standert fout (foarôfgeand fan in `+ 'foardat it útfierd is. Nuttich foar debuggen.

-q quietprofile

As de - v- of- x opsjes ynsteld binne, kinne jo se net lêze by it lêzen fan inisjalisaasje triemen, dit binne / etc / profile .profyl en it bestân dat oantsjutte is troch de ENV- omjouwingsfariabele.

-I mislearre

It EOF is fan 'e ynput net te brûken as ynteraktyf.

-i interaktiv

Stipje de shell om ynteraktyf te hâlden.

-m monitor

Skeakelje de taakkontrôle (set automatysk as ynteraktyf).

-s stdin

Lêzen kommando's fan standert input (automatysk ynstelle as gjin triemen arguminten binne oanwêzich). Dizze opsje hat gjin effekt wannear't de shell al begûn is (dus mei set (1)).

-V vi

It ynboude ynstellings (1) befetsje fan haadbehearder (útskeakelje - E as it ynsteld is).

-E emacs

Set de ynboude emacs (1) kommando-lade editor (útskeakelje - V as it ynsteld is).

-b notify

It asynchrone ferifikaasjewurk fan eftergrûn taak fertraging ynskeakelje. (UNIMPLEMENTED foar 4.4alfa)

Lexical Structure

De shell lêze ynfier yn termen fan linen fan in bestân en brekt it yn wurden op webspace (blanken en tabs), en by bepaalde folchoarder fan tekens dy't spesjaal binne foar de shell neamd "operators". Der binne twa types fan operators: kontrôleoperators en oplaadoperators (harren betsjutting wurdt letter besprutsen). Folgje is in list mei operators:

"Kontroloperators:"

& && (); ;; | ||

"Ferwideringoperator:"

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

Quoting

It quotes wurdt brûkt om de spesjale betsjutting fan bepaalde karakters of wurden nei de shell te ferwiderjen, lykas operators, whitespace, of keywords. Der binne trije typen fan petearen: oerienfâldige single quotes, oeriengeande dûbele quotes, en efterbliuw.

Backslash

In eftergrûn bewarret de literêre betsjutting fan it folgjende karakter, mei útsûndering fan Aq-nijline. In eftergrûn foarôfgeand oan in Aq-nijline wurdt behannele as in line-fuortsetting.

Single Quotes

De karakters yn ienige quotes bewarje de literêre betsjutting fan alle tekens (útsein single quotes, en meitsje it ûnmooglik om single-quotes yn in single-quoted string te meitsjen).

Double Quotes

De karakter fan dûbele quotes bewarret de literêre betsjutting fan alle tekens útsein as dollar ($) weromkomming (`) en backslash (\) De efterblêden yn dûbele quotes is histoarysk seldsum en betsjut allinich de folgjende tekens:

$ `\

Oars bleau it letterlik.

Reservearre wurden

Reservearre wurden binne wurden dy't spesjale betsjutting hawwe oan 'e shell en wurde oan it begjin fan in line en wer erkend as in kontrolearoperator. De neikommende binne reservearre wurden:

! Ta elif Ta fi ta wylst Ta saak

Oars Ta foar Ta doe Ta {Ta}

Ta Ta dien Ta Ta oant Ta as Ta esac

Har betsjutting wurdt letter besprutsen.

Aliases

In alias is in namme en oerienkommende wearde ynsteld mei de alias (1) ynfier ynfier. Wannear't in reservearre wurd foarkomt (sjoch hjirboppe), en nei kontrôle foar reservearre wurden, kontrolearret de shell it wurd om te sjen oft it in alias is. As it doch, ferfangt it it yn 'e ynput stream mei har wearde. Bygelyks as der in alias neamd '`lf' 'mei de wearde` `ls -F' 'dan is de ynfier:

lf foobar

soe wurde wurde

ls-foobar

Aliasen leverje in handige manier foar naive brûkers om skermen te meitsjen foar kommando's sûnder moatte leare hoe't funksjes mei arguminten te meitsjen. Se kinne ek brûkt wurde om lexikale obskure koade te meitsjen. Dizze gebrûk is ûntfrommele.

Kommando's

De shell betsjuttet de wurden dy't it lêzen hat neffens in taal, de spesifisearring fan dat is bûten it gebiet fan dizze man-side (ferwurkje nei de BNF yn it dokumint POSIX 1003.2). Underwichtich is lykwols in rigel lêzen en as it earste wurd fan 'e rigel (of nei in kontrôleoperator) gjin reservearre wurd is, dan hat de shell in ienfâldige kommando erkend. Oars, in komplekse kommando of in oar oare spesjaal konstruksje kin erkend wêze.

Ienfâldige kommando's

As in ienfâldige kommando erkend is, docht de shell de neikommende aksjes:

  1. Leading words of the form `` name = value '' binne ôfbrekke en wurde oanmakke oan it miljeu fan it ienfâldige kommando. Oanbehearskers en har arguminten (lykas hjirûnder beskreaun) wurde ôfstutsen en bewarre foar ferwurking.
  2. De oerbleaun wurden wurde útwreide as beskreaun yn 'e seksje' Expansions 'en it earste oerbleaun wurd wurdt beskôge as de kommando-namme en it kommando is te finen. De oerbleaun wurden wurde beskôge as de arguminten fan it kommando. As der gjin kommando-nammerking is, dan ynfloed de wearde fan 'e namme' value '' yn item 1 fan 'e aktuele shell.
  3. Redireksjes wurde útfierd as beskreaun yn 'e folgjende seksje.

Redirections

Redireksjes wurde brûkt om te wizigjen wêr't in kommando syn ynput lêst of stjoert syn útfier. Yn 't algemien iepenje opdrachten, ticht, of duplikearje in besteande referinsje nei in bestân. It algemiene formaat brûkt foar omlieding is:

[n] redir-op triem

wêr't redir-op ien fan 'e neamde omlaatoperators is earder neamd. Folgje is in list mei de mooglike opdrachten. De Bq n is in opsjoneel nûmer, lykas yn '3' (net 'Bq 3' dat ferwiist nei in bestânskriptor.

[n]> bestân

Redirekte standertútfier (of n) om te bestimmen.

[n]> | map

Sels lykwols, mar de C opsje oerskriuwe.

[n] >> bestân

Oanpaste standertútfier (of n) om te bestellen.

[n]

Redirekte standertynfier (of n) fan triem.

[n1] <& n2

Dûbele standere ynfier (of n1) fan triem-descriptor n2.

[n] <& -

Slúte standertynfier (of n).

[n1]> & n2

Dûbele standertútfier (of n1) fan n2.

[n]> & -

Slút de standert output (of n).

[n] <> triem

Iepenje triem foar it lêzen en skriuwen op standert input (of n).

De folgjende omlaat wurdt faak neamd as `` hjir-dokumint ''

[n] << delimiter

hjir-doc-tekst ...

delimiter

Alle tekst op opfolgjende rigels nei de delimiter wurdt bewarre en is beskikber steld oan it kommando op standertynfier, of triem descriptor n as it oantsjutte is. As de delimiter lykas spesifisearre is op 'e begjinline, wurdt de hjir-doc-tekst letterlik behannele, oars sil de tekst parameter-útwreiding, kommando-substitution en arithmetyske útwreiding (as beskreaun yn' e seksje oer '' útwreidingen) ' 'As de operator in `` << -' 'ynstee fan `` <<' 'is, wurde liedende ljepblêden yn' e hjir-doc-tekst ôfstutsen.

Sykje en útfiering

Der binne trije soarten kommando's: shellfunksjes, ynboude kommando's, en gewoane programma's - en it kommando wurdt socht nei (troch namme) yn dy folchoarder. Se wurde elk op in oare manier útfierd.

As in shellfunksje útfierd wurdt, wurde alle fan 'e shell-posysjeparamaten (útsein $ 0, dy't net feroare bliuwe) wurde ynsteld op de arguminten fan de shellfunksje. De fariabelen dy't eksplisyt yn it miljeu fan it kommando pleatst wurde (troch de opdrachten oan har foar de funksjenamme te pleatsen) wurde lokale foar de funksje makke en wurde opjûn oan de wearden. Dan wurdt it kommando yn de funksje definysje útfiert. De posysjeparameter wurde opnij restaurearre nei har orizjinele wearden as it kommando foltôget. Dit allegear binnen binnen it hjoeddeiske hûs.

Shellbouwingen wurde yntern ynfierd oan 'e shell, sûnder in nije proses te spannen.

Oars, as de kommando-namme net in funksje of in ynstallaasje is, wurdt it kommando as gewoane programma ynsteld as it normale programma (sa as yn de neikommende seksje beskreaun). As in normaal programma útfierd wurdt, rint de shell it programma, trochgean de arguminten en de omjouwing oan it programma. As it programma net in normaal útfierbere triem is (dus as it net begjint mei it "magyske nûmer", wêryn de ASCII- fertsjintwurdiging "#!" Is, saút it exec (2) jout Er ENOEXEC) it shell it programma yn in subshell. De berne-shell sil himsels yn dit gefal opnij begjinne, sadat it effekt wêze soe as as in nije shell opnommen is om it ad-hoc-shell-skript te behanneljen, útsein dat de lokaasje fan hântekeningen yn 'e memmetaal skreaun wurde troch de bern.

Tink derom dat foarige ferzjes fan dit dokumint en it boarne koade sels misleading en sporadich ferwize nei in shellskript sûnder magynûmer as in "shellproseduere".

Path sykjen

As jo ​​in kommando locearje, sjocht de shell earst nei te sjen as it in shellfunksje hat troch dy namme. Dan sjocht it foar in ynboude kommando troch dy namme. As in kommando befêstigje is net fûn, dan komt ien fan beide dingen:

  1. Kommando-nammen mei in slash binne ienfâldich útfierd sûnder elke sykjen út te fieren.
  2. De shell siket elke yngong yn PATH op 'e oarder foar it kommando. De wearde fan de PATH- fariabele moat in rige fan yngongen wurde, skieden troch kolon. Elke ynfoe bestiet út in directorynamme. It aktive triemtafel kin implicitly oanjûn wurde troch in lege kaartsnamme, of eksplisyt troch in inkele perioade.

Kommando-útstânstatus

Elk kommando hat in útgongstatus dat ynfloed op it gedrach fan oare shellkommando's. It paradigm is dat in kommando mei nul is normaal of sukses, en net-nul foar fout, flater, of in falske yndikaasje. De manpage foar elke kommando moat de ferskate útgongskoden oanjaan en wat se betsjutte. Dêrnei ferlitte de ynfier-kommando's útgongskods, lykas in útfierde shellfunksje.

Kompleks kommando's

Kompleks kommando's binne kombinaasjes fan ienfâldige kommando's mei kontrôleoperators of reservearre wurden, tegearre meiinoar in gruttere komplekse kommando. Mear generaal is in kommando ien fan 'e folgjende:

  • ienfâldige kommando
  • pipeline
  • list of compound-list
  • compound command
  • funksje definysje

As der gjin oanjûn is, is de útgongstatus fan in befêstiging dat fan it lêste ienfâldige kommando útfierd troch it kommando.

Pipelines

In pipeline is in ôfdieling fan ien of mear kommando's skieden troch de kontrôler |. De standertútfier fan allegear mar it lêste kommando is ferbûn mei de standertynfier fan it kommende kommando. De standertútfier fan it lêste kommando is herinnerje fan 'e shell, lykas gewoanlik.

It formaat foar in pipeline is:

[!] command1 [| command2 ...]

De standert output fan command1 is ferbûn mei de standertynfier fan command2. De standertynfier, standertútfier, of sawol in kommando wurdt beskôge as ien fan 'e pipeline te foarkommen foardat eltse omlieding omlaat wurdt troch omlaatoperators dy't diel binne fan it kommando.

As de pyleline net op 'e eftergrûn is (besykje letter), wachtet de shell foar alle kommando's om te foltôgjen.

As it reservearre wurd! net de pyleline foarôfgeane, de útgongstatus is de útgongstatus fan it lêst befestigd yn it pipeline. Oars, de útgongstatus is de logyske NOT fan 'e exitstatus fan it lêste kommando. Dat is, as it lêste kommando nul weromkommt, de útgongstatus is 1; as it lêste kommando grutter dan nul weromkommt, de útgongstatus is nul.

Om't pipelinebelesting fan standertynfier of standertútfier of sawol beide foarstelle is foardat in omlieding dien wurdt, kin it oanpast wurde troch omlaat. Bygelyks:

$ command1 2> & 1 | command2

stjoert de standert output en standert flater fan command1 nei de standertynfier fan command2.

A; of terminator feroarsake de foargeande AND-OR-list (neikommende neikommende) sequentiell útfierd wurde; in & feroarsaat asynchrone eksekúsje fan de foarige AND-OR-list.

Tink derom dat elk proses yn 't pipeline in bern is fan' e opslagshell (as it in skole is ynboud, wêrby't it útfiert yn 'e hjoeddeiske shell - mar elke effekt hat it op it miljeu wekker).

Eftergrûnbehearders -

As in kommando beëinige wurdt troch de kontrôleoperator ampersand (&), skodt de shell asynchrone it kommando - dat is, de shell wachtet net foar it kommando om te finen foardat it kommende kommando útfierd wurdt.

It formaat foar it útfieren fan in kommando yn eftergrûn is:

command1 & [command2 & ...]

As de shell net ynteraktyf is, wurdt de standertynfier fan in asynchrone kommando op / dev / nul set

Lists - Meastal sprekke

In list is in folchoarder fan nul of mear kommando's skieden troch nije linen, semikolons, of ampersken, en as wierskynlik beëinige troch ien fan dizze trije letters. De kommando's yn in list wurde ynfierd yn 'e oarder dat se skreaun binne. As kommando folge wurdt troch in ampersand, begjint de shell it kommando en giet fuortendaliks nei it kommende kommando; oars wachtet it kommando om te begjinnen foardat jo de folgjende proseduere gean.

Short-Circuit Listoperators

`` && '' en `` || '' binne AND-OR lisoperators. `` && '' útfiert it earste kommando, en útfiert it twadde kommando wannf de útstatusstatus fan it earste kommando nul is. `` | '' 'is ferlykber, mar it twadde kommando útfiert, as de útfierstatus fan it earste kommando net opnij is. `` && '' en `` || '' beide hawwe deselde prioriteit.

Flue-Control konstruksjes - as, wylst, foar, saak

De syntaksis fan it as kommando is

as list
dan list
[elif list
list dan] ...
[else list]
fi

De syntaksis fan it tiidrekbehearder is

wylst de list is
do list
dien

De twa ljochten wurde hieltyd wer útfierd, wylst de útgongstatus fan de earste list nul is. It oant kommando is lykwols lykwols, mar hat it wurd oant it plak fan 'e wize, wêrtroch't it werhelle wurdt oant de útgongstatus fan de earste list nul is.

De syntaksis fan it kommando is

foar fariabele yn wurd ...
do list
dien

De wurden wurde útwreide, en dan wurdt de list werhelle mei de fariant dy't op elke wurd oanwêzich is. do en dwaan kin ferfongen wurde troch `` {'' en ``} ''

De syntaksis fan 'e breaker en kommando fierder is

break [num]
fjirder [num]

Brek beendet de nûmer yn 't foar of yn' e loops. Fierder bliuwt mei de folgjende iteraasje fan 'e ynderste loop. Dizze wurde ymplisite as ynboude kommando's.

De syntaksis fan 'e gefallen kommando is

Fall word in
pattern) list;
...
esac

It patroan kin eins ien of mear patroanen wêze (sjoch beskriuwing fan Shell Patterns letter), skieden troch `` '' tekens.

Groepearjen kommando's tegearre

Kommando's kinne bepaald wurde troch it skriuwen

(list)

of

{list;

De earste fan dizze útfiert de kommando's yn in subshell. Builtin-kommando's yn in (list) groeide sil de aktuele shell net beynfloedzje. De twadde foarm skodt gjin oare shell, dat is wat effisjinter. Groepen fan kommando's op dizze manier litte jo omgean om har útfier te feroarjen as se ien programma wienen:

{printf hello; printf wrâld \ n ";}> groetsje

Funksjes

De syntaksis fan in funksjedefinaasje is

namme () kommando

In funksje-definysje is in útfierbere statement; As it útfiert wurdt it in funksje neamd neamd en jout in útgongstatus fan nul werom. It kommando is normaal in list dy't tusken `` 'en ``}' 'sluten is.

Variablen kinne ferklearre wurde om lokale wurde foar in funksje mei it brûken fan in lokale kommando. Dit moat as earste deklaraasje fan in funksje ferskine, en de syntaksis is

lokale [variable | -] ...

Lokale is ynfierd as kommando kommando.

Wannear't in fariant lokale makke wurdt, hat er de earste wearde ferfangen en eksportearjen en readonlyflaggen fan 'e fariabele mei deselde namme yn it omlizzende gebiet, as der ien is. Oarspronklik is de fariant yn it earstoan net ynsteld. De shell brûkt dynamyske skoping, sadat as jo de fariabele x lokale funksjonearje foar f funksjonearje, dy't dan funksjoneft g, referinsjes nei de fariabele x makke binnen de g ferwize nei de fariabele x oantsjutte yn bf, net nei de globale fariabele neamd x .

De iennichste spesjale parameter as kin lokale makke wurde is `` - '' Making `` - '' lokale anyshell-opsjes dy 't ferfongen wurde troch it set-kommando yn' e funksje om werombrocht nei har oarspronklike wearden as de funksje werom komt.

De syntaksis fan it weromkommende kommando is

werom [exitstatus

It beëiniget de op it stuit aktive funksje. Return wurdt ymplementearre as kommando kommando.

Feroarings en parameter

De skelp hâldt in set fan paragrafen. In parameter mei in namme neamd wurdt in fariant neamd. As it opnij begjint, feroaret de shell alle omjouwende fariabelen yn shellvariablen. Nije fariabelen kinne ynsteld wurde mei it formulier

namme = wearde

Variablen, setten troch de brûker, moatte in namme hawwe bestege út allinoar fan alfabetyske, numerike en underwrâld - de earste dy't net numerike wurde moat. In parameter kin ek oanjûn wurde troch in nûmer of in spesjale karakter lykas hjirûnder eksplisyt.

Posityf Parameters

In posysjeparameter is in parameter dy't oanjûn wurdt troch in nûmer (n> 0). De shell pleatst dizze earst yn 'e wearden fan syn kommandorigensarguminaten dy't de namme fan it shellskript folgje. De set (1) ynbou kin ek brûkt wurde om se of yn te setten.

Special Parameters

In spesjale parameter is in parameter dy't oanjûn wurdt troch ien fan 'e folgjende spesjale tekens. De wearde fan 'e parameter wurdt neist it karakter oanjûn.

*

Ferheget nei de posisjoneel parameters, begjinnend fan ien. As de útwreidingen binnen in dûbeldatige snaal opkomt, wurdt it útwreide nei in ien fjild mei de wearde fan elke parameter, skieden troch it earste karakter fan 'e IFS- fariabele, of troch in as IFS net is.

@

Ferheget nei de posisjoneel parameters, begjinnend fan ien. Wannear't de útwreiding binnen dûbel-quotes komt, elke posysje-parameter útkomt as in aparte argumint. As der gjin posysjeparameters binne, wurdt de útwreiding fan @ nul arguminten generearret, al as @ is dûbele oanwêzich. Wat dit benammen betsjuttet, is as $ 1 is '`abc' 'en $ 2 is` `def ghi' ', dan giet Qq $ @ nei de twa arguminten:

abc def ghi

#

Ferheget it oantal posysjeparameters.

?

Ferheegje nei de ôfslachstatus fan 'e nijste pipeline.

- (Hyfen.)

Ferheegje nei de aktive opsjeflaggen (de single-letter-opfettingsnammen ferbûn yn in tekenrige) as opjûn op opsletten, troch it ynstallearre ynfier-kommando, of miskien troch de shell.

$

Ferheget nei de proses-ID fan de oprjochte shell. In subshell behâldt deselde wearde fan $ as syn âlder.

!

Ferheegje nei de proseduere ID fan it lêste skriptbehear útfierd út de aktuele shell. Foar in pipeline is de prozess-ID dat fan it lêste kommando yn 'e pipeline.

0 (Zero.)

Ferheget de namme fan it shell of shell skript.

Wurdûntwikkelen

Dizze klaus beskriuwt de ferskate útwreidings dy't útfierd wurde op wurden. Net alle útwreidingen wurde op elke wurd útfierd, lykas letter spesjalisearre.

Tilde-útwreidingen, parameter-útwreidingen, kommando-substitúsjes, arithmetyske útwreidings, en quote-ferwiderings dy't binnen in single wurd útwreidzje nei ien fjild. It is allinich fjild te splitsen of padenamme útwreiding dy't meardere fjilden meitsje kinne fan ien wurd. De ienige útsûndering foar dizze regel is de útwreiding fan 'e spesjale parameter @ binnen dûbel-quotes, lykas hjirboppe beskreaun is.

De oarder fan wurd-útwreiding is:

  1. Tilde útwreiding, parameterûntwikkeling, command substitution, arithmetyske útwreiding (dizze allegear tagelyk op).
  2. Field Splitting wurdt útfierd op fjilden dy't generearre wurde troch stap (1) útsein as de fariant fan IFS net nul is.
  3. PathName-útwreiding (asp. Set - f is yn wurking).
  4. Quote Removal.

De $-karakter wurdt brûkt om parameter-útwreiding, command substitution, of arithmetyske evaluaasje yn te fieren.

Tilde-útwreiding (ynterpretearjen fan in brûker's home directory)

In wurd begjint mei in net-kontrolearre teken-karakter (~) wurdt ûnderdiel fan ûnderlinge útwreiding. Alle tekens oant in slash (/) of it ein fan it wurd wurde behannele as in brûkersnamme en wurde ferfangen troch de thússide. As de brûkersnamme ûntbrekt (as yn ~ / foobar) wurdt de tilde ferfongen troch de wearde fan 'e HOME- variable (it hjoeddeiske brûkers-brûker).

Parameter-útwreiding

It formaat foar parameter útwreiding is as folgjend:

wêr't ekspresje fan alle personaazjes is, oant de oerienkommende '`}}' 'Alle` `}' 'ûntkommen binne troch in efterstap of binnen in besochte string, en tekens yn ynbettige arithmetyske útwreidingen, kommando-substitúsjes en fariabele útwreidingen, wurde net besocht yn it bepalen fan' e oanpasse ``} ''

De ienfâldige foarm foar parameter útwreiding is:

De wearde, as der, parameter wurdt ferfongen.

De parameternamme of symboal kin bepaald wurde yn pylken, dy 't opsjoneel binne as útsûnderings foar posysjeparameters mei mear as ien sifers of as de parameter folge wurdt troch in karakter dat as in part fan de namme ynterpretearre wurde koe. As in parameter útwreidingen binnen dûbel-quotes komt:

  1. Pathname-útwreiding wurdt net útfierd op 'e resultaten fan' e útwreiding.
  2. Field splitting wurdt net útfierd op 'e resultaten fan' e útwreiding, mei útsûndering fan @.

Dêrnjonken kin in parameter útwreiding feroarjen wurde troch ien fan de folgjende formaten te brûken.

Standert werden brûke. As parameter ûntslein of nul is, wurdt de útwreiding fan wurd ferfongen; Oars wurdt de parameter wearde ferfongen.

Standert- wearden oanbean. As de parameter net uset of nul is, wurdt de útwreiding fan wurd as parameter oanbean. Yn alle gefallen wurdt de definitive wearde fan parameter ferfongen. Allinnich fariabelen, net posysjeparaminten of spesjale parameter kinne op dizze manier oanjûn wurde.

Flater toane as Null of Unset. As de parameter is net of net, dan is de útwreiding fan wurd (of in berjocht dat oanjûn is net as it wurd wegeret) wurdt skreaun nei standert fout en de shell is útgong mei in status fan nonzero. Oars wurdt de parameter wearde ferfongen. In ynteraktive shell needs not exit.

Brûk alternative wearde. As de parameter net is of nul is, wurdt nul ferfongen; Oars wurdt de útwreiding fan wurd ferfongen.

Yn 'e foarigens fan' e paragraaf ferwiderje de gebrûk fan 'e kolon yn it formaat in test foar in parameter dat net of net is; It útlitten fan 'e koloanje docht in test foar in parameter dy't allinich is.

String Length. De lingte yn tekens fan 'e parameter wearde.

De neikommende fjouwer soarten farianten fan parameter-útwreiding jouwe foar substring-ferwurking. Yn elk gefal wurdt pattern foar oansprekkende notaasjes (sjoch Shell Patterns), yn stee fan reguliere ekspresjetaasje, wurdt brûkt om de patroanen te evaluearjen. As parameter is * of @, dan is it resultaat fan 'e útwreiding net spesifisearre. It omfetsjen fan de folsleine parameter-útwreidingsstring yn dûbel-quotes feroaret net de neifolgjende fjouwer farianten fan tekenspersoanen om te petearjen, wylst it tekenjen fan tekens yn 'e pylken dit effekt hat.

Fuort lytsste sufikspatroan fuortsmite. It wurd is útwreide om in patroan te meitsjen. De parameter-útwreiding ferduorret dan parameter, mei it lytste diel fan it suffix dat oerienkomt mei it patroan wiske.

Fuortsmite Largest Suffix Pattern. It wurd is útwreide om in patroan te meitsjen. De parameter-útwreiding ferduorret dan in parameter, mei de grutste diel fan 'e sifix dat oerienkomt mei it patroan wiske.

Fuort lytsste prefix-patroan fuortsmite. It wurd is útwreide om in patroan te meitsjen. De parameter-útwreiding ferduorret dan parameter, mei it lytste diel fan it prefix dat oerienkomt mei it patroan wiske.

Fuortsmite Largest Prefix Pattern. It wurd is útwreide om in patroan te meitsjen. De parameter útwreiding sjogge dan parameter, mei it grutste diel fan 'e prefix dat oerienkomt mei it patroan wiske.

Command Substitution

Kommando-substansje lit de útfier fan in kommando opset wurde yn plak fan de kommandennamme sels. Kommando-substitution is bard as it kommando as folget bepaald is:

$ (kommando)

of Po `` backquoted '' version Pc:

`kommando`

De shell fergruttet de kommando-substinsje troch útfier yn in subshell-omjouwing te ferfangen en it kommando-subsysteem te ferfangen troch de standertútfier fan it kommando, it foarkommen fan sequences fan ien of mear s oan 'e ein fan' e subsydzje. (Embedded s foardat it ein fan 'e útfier binne net fuortsmiten, mar kinne se yn' e fjildspalting ferfange wurde yn s, ôfhinklik fan de wearde fan IFS en quotearjen dat effekt is.)

Arithmetyske útwreiding

Arithmetyske útwreiding biedt in meganisme foar it beoardieljen fan in arithmetike ekspresje en it wearde fan syn wearde. It formaat foar arithmetike útwreiding is sa:

$ ((ekspresje))

De ekspresje wurdt behannele as wie it yn dûbel-quotes, útsein dat in dûbeldeksje yn 'e ekspresje net spesjaal behannele is. De shell ferplichtet alle tokens yn 'e ekspresje foar parameter-útwreiding, kommando-substinsje, en sertifikaat.

Dêrnei behannelet de shell dit as in arithmetike ekspresje en ferfollet de wearde fan 'e útdrukking.

Wite romteplak (fjilden splitsing)

Nei parameter-útwreiding, command substitution en arithmetyk-útwreiding scans de shell de resultaten fan útwreidingen en substitúsjes dy't net foarkommen yn dûbel-quotes foar fjildspalting en meardere fjilden kinne resultaat.

De shell behannelet elke karakter fan 'e IFS as in delimiter en brûket de delimiters om de resultaten fan paragrafen-útwreidings en kommando-subsydzje te dielen yn fjilden.

PathName-útwreiding (triemnamme-generaasje)

As de flagge net fêststeld is wurdt de namme fan de triemnamme útfierd as de wurdplitt folslein is. Elts wurd wurdt besjoen as in searje fan patroanen, skieden troch slashes. It proses fan ekspansion ferfangt it wurd mei de nammen fan alle besteande triemmen wêrmei't nammen foarme wurde kinne troch elke teken te ferfangen troch in tekenrige dy't oerienkomt mei it spesifike patroan. Der binne twa beheiningen op dit: earst, in patroan kin net oer in string oerienkomme mei in slach, en twadde, in patroan kin net oerienkomme mei in string begjinne mei in perioade as it earste karakter fan it patroan is in perioade. De folgjende seksje beskriuwt de patroanen dy't brûkt wurde foar beide PathName-útwreiding en it gefal (1) kommando.

Shell Patterns

In patroan bestiet út normale karakters, dy't himsels oangiet en meta-karakteren. De meta-tekens binne ``! '' `` * '' ``? '' En `` ['' Dizze karakters ferlieze har spesjale betsjuttingen as se opnaam binne. As kommando of in fariabele subsydzje útfierd wurdt en de dollar-teken of eftergrûnen net dûbele sifer wurdt, wurdt de wearde fan 'e fariabele of de útfier fan it kommando skreaun foar dizze personaazjes en se wurde yn meta-tekens feroare.

In asterisk (`` * '') komt oerien mei elke teken fan tekens. In fraachteken befettet ien inkeld karakter. In lofter klok (`` ['') introduacht in karakterklasse. It ein fan 'e karakterklasse is oanjûn troch in (``)' ') as de ``]' 'falt, en it' `['' komt oerien mei in` `['', mar net in karakterklasse yn te fieren. In karakterklasse befettet ien fan 'e tekens tusken de fjouwerkantklassen. In ferskaat oan tekens kin oanjûn wurde mei in minus teken. De karakterklasse kin komplementearre wurde troch in útlûkingspunt it earste karakter fan 'e karakterklasse te meitsjen.

Om in '`]' 'yn te nimmen yn in karakterklasse, meitsje it it earste karakter (neffens'`! '' As ien). Om in minus teken te ûndertekenjen, meitsje it it earste of lêste teken dat opnij is

Builtins

Dizze sekeling listet de ynkommende kommando's dy't binne ynboud omdat se in soad operaasje útfiere moatte dy't net troch in aparte proses dien wurde kinne. Neist dizze binne der ferskate oare kommando's dy't foar effisjinsje ynboud wurde kinne (bygelyks echo 1).

:

In nul kommando dat in 0 (wier) útkomst wearde jout.

. map

De kommando's yn de opjûne triem wurdt lêzen en útfierd troch de shell.

alias [ namme [ = string ... ]]

As name = tekenrige is oantsjutte, beskikt de shell de aliasnamme mei weardestreak As gewoan namme oantsjutte is, wurdt de wearde fan 'e aliasnamme gedrukt. Mei gjin arguminten printsje de alias ynboude de nammen en wearden fan alle define aliases (sjoch unalias)

bg [ taak] ...

Fier de spesjale baakjes (of de hjoeddeistige taak as it gjin jild beskikber is) op 'e eftergrûn.

kommando kommando arg ...

Fiere it bepaalde kommando kommando út. (Dit is handich as jo in shellfunksje hawwe mei deselde namme as in behearbeam.)

cd [ directory ]

Wikselje nei it spesifisearre triemtafel (standert $ HOME) As in yntree foar CDPATH ferskynt yn it miljeu fan it cd- kommando of de skellige fariabele CDPATH is ynsteld en de mapnamme is net begûn mei in slach, dan wurde de mappen yn de CDPATH neamd. foar it oantsjutte map. It formaat fan CDPATH is itselde as dy fan PATH Yn in ynteraktive shell sil it cd kommando de namme fan it mapút útdrukke, dat it eigentlik omskeakele wurdt as dit oars is fan de namme dy't de brûker joech. Dizze kinne oars wêze omdat it CDPATH- meganisaasje brûkt is of om't in symboalyske keppeling oerbrocht is.

eval string ...

Ferklearje alle arguminten mei romten. Ferfange dan en ferfolje it kommando.

exec [ kommando arg ... ]

Sûnder kommando is wegere, wurdt it shellproses ferfongen troch it oantsjutte programma (dat in echte programma wêze moat, gjin shell-ynstallaasje of funksje). Alle opdrachten op it kommando-kommando binne markearre as permanint, sadat se net weromjaan as it kommando kommando beperkt.

ôfslach [ exitstatus ]

It shellproses ôfslute. As exitstatus jûn wurdt wurdt brûkt as de útgongstatus fan 'e shell; Oars is de útgongstatus fan it foarôfgeand kommando brûkt.

eksportnamme ...

eksportearje -p

De spesifisearre nammen wurde eksportearre sa dat se ferskine yn it miljeu fan folgjende kommando's. De iennichste manier om in fariant te ûntdekken is it net te ûnthâlden. De shell lit de wearde fan in fariant ynstelle tagelyk it eksportearjen troch skriuwen

eksportnamme = wearde

Mei gjin arguminten listet de eksportbehear de nammen fan alle eksportearre fariabelen. Mei de opsje fan 't punt wurdt de útfier formulearre foar net-ynteraktyf gebrûk.

fc [- e editor ] [ earste [ lêste ]]

fc -l [- nr ] [ earste [ Lêste ]]

fc -s [ âld = nij ] [ earste ]

De fc ynstallaasjelisten, of feroare en werútfiere, kommando's earder ynfierd nei in ynteraktive shell.

-e editor

Brûk de bewurker troch redakteur neamd om de kommando's te bewurkjen. De bewurker string is in kommando-namme, ûnderwerp fan sykjen fia de PATH- fariabele. De wearde yn 'e variable FCEDIT wurdt brûkt as standert as - e is net oanjûn. As FCEDIT nul of ûntsette wurdt, wurdt de wearde fan de EDITOR- fariabele brûkt. As EDITOR nul of ûntset is, wurdt ed (1) brûkt as redakteur.

-l (ell)

List de kommando's ynstee fan in opdrachtjouwer op te freegjen. De kommando 's binne skreaun yn' e sesje dy 't oanjûn binne troch de earste en lêste operanten, sa't it beynfloedzje troch elke kommando dy't foarôfgeand fan it kommando nûmer.

-n

Kommando-nûmers ûndertekenje as se loftskriuwe mei -l

-r

Ferfange de folchoarder fan de opkommende kommando's (mei - l of feroare (mei gjin l - noch - s)

-s

Ferfange it kommando sûnder op in bewurker op te freegjen.

earste

lêst

Selektearje de kommando's om te listjen of te bewurkjen. It oantal foargeande kommando's dy't tagong kinne binne bepaald troch de wearde fan de HISTSIZE- fariabele . De wearde fan earste of lêste of beide binne ien fan 'e folgjende:

[+] nûmer

In posityf nûmer dat in kommando nûmer is; Kommando-getallen kinne werjûn wurde mei de - l- opsje.

-nûmer

In negatyf desimaal nûmer dat it kommando representearret dat in oantal kommando's earder útfierd is. Bygelyks -1 is it direkte kommando kommando.

string

In string oantsjutte dat it lêst ynstelde kommando is dat begjint mei dizze tekenrige. As de âld = nije operandus ek net oanjûn is, kin de stringfoarm fan 'e earste operand net in ynboargere ympuls befetsje.

De folgjende omjouwende fariabelen ynfloed op de útfiering fan fc:

FCEDIT

Namme fan de bewurker om te brûken.

HISTSIZE

It oantal foarige kommando's dy't tagonklik binne.

fg [ taak ]

Ferpleats de spesifike taak of de hjoeddeiske baan nei de foargrûn.

getopts optstring var

It kommando POSIX- getopts , net te ferwiderjen mei de Bell Labs -doarp getopt (1).

It earste argumint moat in rige letters wêze, elk fan dat kin op wiskundige folge wurde troch in koloanje om oan te jaan dat de opsje in argumint nedich is. De oantsjutte fariabele is ynsteld op de parsed-opsje.

It kommando- getopts ferfarskje it âldere getopt (1) -taligens troch syn behanneling fan arguminten mei whitespace.

De opbouwurden kinne brûkt wurde om opsjes en har arguminten te krijen fan in list fan parameters. As jo ​​opjûn binne, pleatst de opsjes de wearde fan de folgjende opsje fan 'e opsje-string yn' e list yn 'e shellfariabele oantsjutte troch var en it yndeks yn de shell-fariabele OPTIND As de shell opnien is, wurdt OPTIND ynitialisearre op 1. Foar elke opsje dy' t fereasket In argumint, de ynstallaasjebewurking sil it yn 'e shellgrutte pleatse OPTARG As in opsje net tastien is yn' e optstring dan OPTARG sil ûnjildich wêze.

Optstring is in string fan erkende opskriuwbrieven . As in letter folge wurdt troch in koloanje, dan wurdt de opsje ferwachte dat in argumint hat dy't net kin wurde troch wite romte. As in opsje-karakter net fûn wurde wêr't ferwachte wurdt, sette de toetsen de fariabele var nei in ``? '' Getopts dan sil OPTARG net opjaan en skriuwútfier nei standert fout. Troch in kroan te specifearjen as it earste karakter fan optstring alle fouten wurde negearre.

In nonzero-wearde wurdt weromjûn as de lêste opsje berikt is. As der gjin oerbleaun arguminten binne, sille opnijmen set wurde oan 'e spesjale opsje, `` -' 'oars sil it var ' `? ''

It folgjende koadefragment lit sjen hoe't jo de arguminten ferwurkje kinne foar in kommando dy't de opsjes [a] en [b] en de opsje [c] nimme kinne dy't in argumint nedich is.

wylst getopts abc: f
dwaan
Case $ f yn
a | b) flagge = $ f;
c) carg = $ OPTARG ;;
\?) echo $ USAGE; ôfslach 1;
esac
dien
Shift `expr $ OPTIND - 1`

Dizze koade akseptearje ien fan 'e folgjende as lykweardich:

cmd -acarg triem file
cmd -a -c arg file file
cmd -carg -a triemtriem
cmd -a -carg - triem file

hash -rv kommando ...

De shell behâldt in hashtafel dy't de lokaasjes fan kommando's fielt. Mei gjin arguminten yn elts gefal printsje de ynhâld fan dizze tabel út. E-posten dy 't net besjoen binne sûnt it lêste cd kommando markearre binne mei in asterisk; It is mooglik dat dizze yngongen ûnjildich wêze.

Mei arguminten ferwideret it befelhawwer de bepaalde kommando's út 'e hântafel (útsein as se funksjes binne) en se dêrnei fine. Mei de - v- opsje printsje de lokaasjes fan de kommando's as se fynt. De - r- opsje laket de kommando hath om alle ynfieren yn 'e hântafel te foarkomjen, útsein foar funksjes.

jobid [ taak ]

Proses de prozessnamen fan 'e prosessen yn' e baak. As it argument fan de baak wegere wurdt, wurdt de aktive wurk brûkt.

jobs

Dit kommando listet alle eftergrûnprosessen út dat binne bern fan it aktuele shellproses.

pwd

Print it aktive triemtafel. It kommando-kommando kin ferskille fan it programma fan deselde namme, omdat it befetsje befêstiget wat it hjoeddeiske triemtafel is earder as elke kear opnij komponearje. Dat makket it flugger. As de aktive triem feroare is, sil de ynboude ferzje fan pwd trochgean mei de âlde namme foar de map.

lês [- p prompt ] [- r ] fariabele ...

De prompt wurdt printe as de - p- opsje ynsteld is en de standertynfier is in terminal. Dan wurdt in line lêzen fan 'e standertynfier. De trailing-nije line wurdt út 'e rigel wiske en de rigel wurdt splitst as beskreaun yn' e seksje oer wurd splittende boppe, en de stikken wurde taheakke oan de fariabelen yn opdracht. At least one variable must be specified. As der mear stikken binne as fariabelen, wurde de oerbleaune stikken (tegearre mei de tekens yn IFS dy't se skieden hawwe) oan 'e lêste fariabele. As der mear fariabelen binne as stikken, wurde de oerbleaune fariabelen de nul-string oanbean. De lêsten ynbou sille súkses oanjaan as it EOF op 'e ynfier komt, yn hokker gefal net weromkomt.

Standert stiet as de opsje " r " oantsjutte is, de eftergrûn `` \ '' is as fluchtoets, sadat it folgjende karakter letterlik behannele wurdt. As in eftergrûn folge wurdt troch in nije line, dan wurdt de efterblok en de nije line ferwidere.

readonly name ...

readonly -p

De spesifisearre nammen binne markearre as allinich lêzen, sadat se net neigienfâldigje of net ûntfange kinne. De shell lit de wearde fan in fariabele tagelyk ynstelle om it selden te markearjen allinich troch it skriuwen lêzen

readonly name = wearde

Mei gjin arguminten listet de readonly kommando de nammen fan alle lês-feroare-fariabelen. Mei de opsje fan 't punt wurdt de útfier formulearre foar net-ynteraktyf gebrûk.

set {{- options | + opsjes | - arg ... ]

It befetsje befettet trije ferskillende funksjes.

Mei gjin arguminten listet it de wearden fan alle shellvariablen op.

As opsjes wurde jûn, set it de oantsjutte opsjeflaggen, of as se beskreaun wurde as beskreaun yn 'e seksje mei sx Argument List Processing.

It tredde gebrûk fan it ynstelde kommando is om de wearden fan de posysjeparameter fan de shell te setten oan de oantsjutte args. Om de posysjeparameters te feroarjen sûnder elke mooglikheden te wizigjen, brûke `` - '' as it earste argumint om te setten. As der gjin arguminten binne oanwêzich, sil it befetsje befetsje alle posysjeparaminten (as it bestjoeren fan '' shift $ #. ''

variable wearde

Jout wearde oan fariabele. (Op it algemien is it better om variable = wearde te meitsjen, oars as bysetvar setvar is bedoeld om te brûken yn funksjes dy't werjaan oan fariabelen dy't de nammen as parameters passeare.)

skeakelje [ n ]

Shift de posysjeparamten n kear. In skerm set de wearde fan $ 1 oant de wearde fan $ 2 de wearde fan $ 2 oant de wearde fan $ 3 en sa op, wêrtroch't de wearde fan $ # troch ien is. As n grutter is dan it oantal posysjeparameters, sil de ferwidering in flater biede, en útkomt mei weromkomststatus 2.

kearen

Drukearje de akkulearre brûkers- en systeemtiden foar de shell en foar prosessen fanút it shell. De weromkomststatus is 0.

trapp actie signal ...

Hâld de shell foar parse en aksje útfiere as ien fan 'e oantsjutte sinjalen ûntfongen binne. De sinjalen wurde oanjûn troch sinjaal nûmer. As sinjaal 0 is, wurdt de aksje útfierd as de shell útset. It kin wêze dat nul of `` - '' de eardere bewurkmasteret it bepaalde sinjalearje te negearjen en de lêste feroaret de standertaksje te nimmen. Wannear't de shell in subshell fekket , resulet se fongen (mar net negearre) sinjalen werom nei it standertaksje. It kommando- trap hat gjin effekt op sinjalen dy't net oannaam binne by it ynskriuwen fan de shell.

type [ namme ... ]

Ynterpretearje elke namme as kommando en druk de resolúsje fan de kommando-sykopdruk. Mooglike resolúsjes binne: shell keyword, alias, shell ynbining , kommando, tracked alias en net fûn. Foar aliases wurdt de alias útwreiding gedrukt; Foar kommando's en kontrolearre aliasjes wurdt de folsleine paadnamme fan it kommando bedreaun.

ulimit [- H-S ] [- in -tfdscmlpn [ wearde ]]

Besykje de hurd of sêfte limiten op prosessen of yn sette of nije limiten. De keuze tusken hurde limyt (dy't gjin proseduere is om te lijen, en dat kin net opslein wurde as it is ferlege) en sêfte limyt (wêrtroch prosedueres toanen wurde, mar net needsaaklik fermoarde, en dy't opheft wurde) is makke mei dizze flaggen:

-H

set of freegje oer hurde limiten

-S

set of freegje oer sêfte limiten. As gjin - H nor - S oantsjutte is, dan wurdt de sêfte limyt ferskine of beide limiten setten. As beide spesifisearre wurde, wint de lêste.

De limyt dy't befetsje of ynsteld wurdt, wurdt dan keazen troch ien fan dizze flaggen oan te jaan:

-in

Lit alle aktuele limiten sjen

-t

lit de limyt op CPU tiid sjen (yn sekonden)

-f

sjen litte of ynstelle de limyt op it grutste triem dat kinne makke wurde (yn 512 byte blokken)

-d

sjen litte of set de limyt op de gegevenssegma grutte fan in proses (yn kilobytes)

-s

sjen litte of set de limyt op 'e stapelgrutte fan in proses (yn kilobytes)

-c

sjen litte of ynstelle de limyt op de grutste kearndumpgrutte dy't makke wurde kin (yn 512 byte blokken)

-m

sjen litte of set de limyt op it totale fysyk ûnthâld dat kin brûke wurde troch in proses (yn kilobytes)

-l

lit de limyt sjen op hoefolle spesifikaasje in proses kin slute mei mlock (2) (yn kilobytes )

-p

Lit de limyt sjen litte of ynstelle op it oantal prozessen dat dizze brûker ien kear hat

-n

Lit de limyt sjen op 'e nûmeleftige triemmen in proses kin ien kear iepenje

As none of these is specified, it is the limit on file size that is shown or set. As wearde fêstlein wurdt, wurdt de limyt op dat getal pleatst; oars wurdt de aktuele limyt werjûn.

Limiten fan in willekeurich proses kinne werjûn wurde of ynsteld wurde mei it sysctl (8) utsjinst.

umask [ masker ]

Set de wearde fan omask (sjoch omask (2)) nei de oantsjutte oktale wearde. As it argumint ûntbrekt is, wurdt de umaskwearde gedrukt.

unalias [- in ] [ namme ]

As de namme oantsjutte is, ferwiist de shell dy alias. As - a wurdt oantsjutte, wurde alle aliasen fuortsmiten.

untfette namme ...

De oantsjutte fariabelen en funksjes binne ûnbeskene en net eksportearre. As in opjûne namme as beide fariabelen en funksjes oerienkomt, binne beide fariabelen en funksje net ûntslein.

wachtsje [ taak ]

Wachtsje op 'e oantsjutte taak om de útgongstatus fan it lêste proses yn' e taak foltôjen en werom te jaan. As it argument wegere wurdt, wachtsje op alle buroblêd om te foltôgjen en de weromreis in útgongstatus fan nul.

Kommando-line bewurkje

As sh wurdt ynteraktyf brûkt fan in terminal, kin it aktive kommando en de kommando skiednis (sjoch fc yn Sx Builtins) kinne wurde mei help fan editing mode-editing-editing. Dizze modus brûkt kommando's, hjirûnder beskreaun, fergelykber mei in subset fan 'e beskreaune yn' e side fan 'e man. It kommando `set '-o vi jout it wizigjen fan wikseljen en pleats yn' e webside modus. Mei it vi-mode ynskeakele, kinne jo wizigje tusken ynfiermodus en kommando-modus. De redakteur is hjir net folle beskreaun, mar sil yn in letter dokumint wêze. It is likegoed as vi: typen Aq ESC sil jo yn kommando-VI-kommando modus werjaan. Hâld Aq werom, wylst yn kommando-modus de riging nei de shell passe sil.

Wichtich: Brûk de manbehearder ( % man ) om te sjen hoe't in kommando brûkt wurdt op jo bepaalde komputer.