Irmied - Kmand Linux - Kmand Unix

ISEM

sh-command interpretu ( qoxra )

SINOPSI

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

DESKRIZZJONI

Sh huwa l-interpretu tal-kmand standard għas-sistema. Il-verżjoni attwali ta ' sh hija fil-proċess li tinbidel biex tikkonforma mal-ispeċifikazzjonijiet POSIX 1003.2 u 1003.2a għall-qoxra. Din il-verżjoni għandha bosta karatteristiċi li jagħmluha tidher simili f'ċerti aspetti għall-qoxra Korn, iżda mhijiex klonu tal-qoxra Korn (ara ksh (1)). Huma biss il-karatteristiċi maħtura minn POSIX flimkien ma 'ftit estensjonijiet ta' Berkeley, li qegħdin jiġu inkorporati f'din il-qoxra. Aħna nistennew konformità mal-POSIX biż-żmien 4.4 BSD hija rilaxxata. Din il-paġna manwali mhijiex maħsuba biex tkun tutorja jew speċifikazzjoni kompleta tal-qoxra.

Ħarsa ġenerali

Il- qoxra hija kmand li jaqra l-linji jew minn fajl jew it-terminal, jinterpretahom, u ġeneralment jesegwixxi kmandi oħra. Huwa l-programm li qiegħed jaħdem meta utent jidħol fis-sistema (għalkemm utent jista 'jagħżel qoxra differenti bil-kmand chsh (1)). Il-qoxra timplimenta lingwa li għandha kostruzzjonijiet ta 'kontroll tal-fluss, faċilità makro li tipprovdi varjetà ta' karatteristiċi flimkien mal-ħażna tad-dejta, flimkien ma 'kapaċitajiet ta' editjar tal-istorja u tal-linji mibnija. Tinkorpora ħafna karatteristiċi biex tgħin l-użu interattiv u għandha l-vantaġġ li l-lingwa interpretattiva hija komuni kemm għall-użu interattiv u mhux interattiv (scripts tal-qoxra). Jiġifieri, il-kmandi jistgħu jiġu ttajpjati direttament mal-qoxra tal-ġirja jew jistgħu jitqiegħdu f'fajl u l-fajl jista 'jiġi eżegwit direttament mill-qoxra.

Invokazzjoni

Jekk l-ebda args ma huma preżenti u jekk l-input standard tal-qoxra huwa konness ma 'terminal (jew jekk il-bandiera i - hija stabbilita), u l-għażla ċ ma tkunx preżenti, il-qoxra hija meqjusa qoxra interattiva. Qoxra interattiva ġeneralment tqanqal qabel kull kmand u tittratta żbalji ta 'programmazzjoni u ta' kmand b'mod differenti (kif deskritt hawn taħt). Meta tibda l-ewwel, il-qoxra tispezzjona l-argument 0, u jekk tibda b'dash '-' il-qoxra hija wkoll meqjusa qoxra ta 'login. Dan normalment isir awtomatikament mis-sistema meta l-utent l-ewwel jidħol fih. Qoxra tal-login taqra l-kmandi mill-fajls / etc / profile u .profile jekk jeżistu. Jekk il-varjabbli ta 'l-ambjent ENV huwa ffissat mad-dħul għal qoxra, jew huwa ffissat fil-profil ta' shell ta 'login, il-qoxra mbagħad taqra kmandi mill-fajl imsemmi fl- ENV Għalhekk, utent għandu jqiegħed kmandi li għandhom jiġu eżegwiti biss ħin ta 'login fil-fajl tal-profil., u kmandi li huma esegwiti għal kull qoxra ġewwa l-fajl ENV . Biex issettja l-varjabbli ENV għal xi fajl, poġġi l-linja li ġejja fil-profil tal-direttorju tad-dar tiegħek

ENV = $ HOME / .shinit; esportazzjoni ENV

billi tissostitwixxi għal `` .shinit '' kull isem tal-file li tixtieq. Peress li l-fajl ENV jinqara għal kull invokazzjoni tal-qoxra, inklużi skripts tal-qoxra u qxur mhux interattivi, il-paradigma li ġej huwa utli biex jirrestrinġi l-kmandi fil-fajl ENV għal invokazzjonijiet interattivi. Poġġi l-kmandi fil-każ `` u '` esac ' 'hawn taħt (dawn il-kmandi huma deskritti aktar tard):

każ $ - in * i *)

# kmandi għal użu interattiv biss

...

esac

Jekk l-argumenti tal-linja tal-kmand minbarra l-għażliet ġew speċifikati, allura l-qoxra tittratta l-ewwel argument bħala l-isem ta 'fajl li minnu jinqara kmandi (skritt tal-qoxra), u l-argumenti li jifdal huma stabbiliti bħala parametri posizzjonali tal-qoxra ($ 1 , $ 2, eċċ). Inkella, il-qoxra taqra l-kmandi mill-input standard tagħha.

Ipproċessar tal-Lista tal-Argumenti

L-għażliet kollha ta 'ittra waħda għandhom isem korrispondenti li jista' jintuża bħala argument għall-għażla - o . L-isem ta 'sett- o jiġi pprovdut ħdejn l-għażla ta' ittra waħda fid-deskrizzjoni t'hawn taħt. L-ispeċifikazzjoni ta 'sing' `- '' dawriet l-għażla fuq, waqt li tuża plus`` + '' tiddiżattiva l-għażla. L-għażliet li ġejjin jistgħu jiġu stabbiliti mil-linja tal-kmand jew bis-sett (1) mibni (deskritt aktar tard).

-a allexport

Esporta l-varjabbli kollha assenjati lilhom. (IMPLIMENTATI għal 4.4alpha)

-c

Aqra l-kmandi mil-linja tal-kmand. L-ebda kmand ma jinqara mill-input standard.

-C noclobber

M'għandekx tissostitwixxi l-fajls eżistenti b '``>' '(IMPLIMENTATI għal 4.4alpha)

-e suċċess

Jekk mhux interattiv, ħruġ immedjatament jekk xi kmand mhux ittestjat jonqos. L-istatus tal-ħruġ ta 'kmand huwa kkunsidrat li ġie ttestjat b'mod espliċitu jekk il-kmand jintuża biex jikkontrolla jekk elif waqt jew sakemm jew jekk il-kmand hu l-operatur tax-xellug ta' operatur `` && '' jew `` || ''.

-f noglob

Iddeskrivi l- espansjoni tal- pathname

-n noexec

Jekk mhux interattiv, aqra l-kmandi imma ma tesegwixhom. Dan huwa utli biex tiċċekkja s-sintassi ta 'skripts tal-qoxra.

-nir-ritratt

Ikteb messaġġ għal żball standard meta tipprova tespandi varjabbli li mhix issettjata, u jekk il-qoxra mhix interattiva, ħiereġ minnufih. (IMPLIMENTATI għal 4.4alpha)

-v verbosa

Il-qoxra jikteb il-kontribut tagħha għall-iżball standard peress li jinqara. Utli għad-debugging.

-x xtrace

Ikteb kull kmand għal żball standard (preċedut minn '+' qabel ma jiġi eżegwit. Utli għad-debugging.

-q fajl kwiet

Jekk l-għażliet - v jew - x ġew stabbiliti, ma tapplikahomx meta taqra fajls ta 'inizjazzjoni, dawn huma / etc / profile .profile u l-fajl speċifikat mill-varjabbli ambjentali ENV .

-Injorajtha

Injora l-EOF mill-input meta jkun interattiv.

-i interattiv

Tinforza l-qoxra li taġixxi b'mod interattiv.

-m tissorvelja

Ixgħel il-kontroll tax-xogħol (issettjat awtomatikament meta jkun interattiv).

-s stdin

Aqra l-kmandi mill -input standard (issettjat awtomatikament jekk l-ebda argument tal-fajl ma jkun preżenti). Din l-għażla m'għandha l-ebda effett meta tkun issettjata wara li l-qoxra tkun diġà bdiet taħdem (jiġifieri b'sett (1)).

-V vi

Ippermetti l-editur tal-linja tal-kmand mibni (1) (jiddiżattiva - E jekk ikun ġie ffissat).

-E emacs

Ippermetta l-emacs integrat (1) editur tal-linja tal-kmand (jiddiżattiva - V jekk ikun ġie ffissat).

-b tinnotifika

Jippermetti notifika mhux sinkronika ta 'tlestija ta' impjieg fl-isfond. (IMPLIMENTATI għal 4.4alpha)

Struttura Lexika

Il-qoxra taqra d-dħul f'termini ta 'linji minn fajl u tinterrompiha fi kliem fuq spazju vojt (blanks u tabs), u f'ċerti sekwenzi ta' karattri li huma speċjali għall-qoxra msejħa "operaturi". Hemm żewġ tipi ta 'operaturi: operaturi ta 'kontroll u operaturi ta' direzzjoni mill-ġdid (it-tifsira tagħhom tiġi diskussa aktar tard). Li ġejja hemm lista ta 'operaturi:

"Operaturi ta 'kontroll:"

& && (); ;; | ||

"Operatur ta 'direzzjoni mill-ġdid:"

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

Kwotazzjoni

Il-kwotazzjoni tintuża biex tneħħi t-tifsira speċjali ta 'ċerti karattri jew kliem fil-qoxra, bħal operaturi, spazju vojt jew kliem prinċipali. Hemm tliet tipi ta 'kwotazzjonijiet: kwotazzjonijiet waħedhom mqabbla, kwotazzjonijiet doppji mqabbla, u backslash.

Backslash

A backslash tippreserva t-tifsira litterali tal-karattru li ġej, bl-eċċezzjoni ta 'Aq newline. A backslash preċedenti għal linja ġdida Aq hija ttrattata bħala kontinwazzjoni ta 'linja.

Kwotazzjonijiet Uniċi

Il-karattri magħluqin f'kwotazzjonijiet singoli jippreservaw it-tifsira litterali tal-karattri kollha (ħlief kwotazzjonijiet singoli, li jagħmluha impossibbli li wieħed jagħmel kwotazzjonijiet singoli f'sens wieħed kwotat).

Kwotazzjonijiet doppji

Il-karattri magħluqa fi kwotazzjonijiet doppji jippreservaw it-tifsira litterali tal-karattri kollha minbarra l-kaxxa tad-dollaru ($) backquote (/) u backslash (\) Il-backslash ġewwa kwotazzjonijiet doppji storikament strambi, u sservi biex tikkwota biss il-karattri li ġejjin:

$ `\

Inkella tibqa 'litterali.

Kliem Riservat

Il-kliem riżervat huwa kliem li għandu tifsira speċjali għall-qoxra u huwa rikonoxxut fil-bidu ta 'linja u wara operatur ta' kontroll. Dawn li ġejjin huma kliem riservati:

! Ta elif Ta fi Ta waqt il-ka Ta

inkella Ta għal Ta allura Ta {Ta}

do Ta jsir Ta sa Ta si Ta esac

It-tifsira tagħhom tiġi diskussa aktar tard.

Aliasi

Alias ​​huwa isem u valur korrispondenti stabbilit bl-użu tal-kmand alias (1) mibni. Kull meta tista 'sseħħ kelma riżervata (ara hawn fuq), u wara li tkun iċċekkjat il-kliem riżervat, il-qoxra tivverifika l-kelma biex tara jekk taqbilx ma' alias. Jekk tagħmel dan, hija tissostitwixxiha fin-nixxiegħa tad-dħul bil-valur tagħha. Per eżempju, jekk hemm alias imsejjaħ `` lf '' bil-valur `` ls -F '' allura l-input:

lf foobar

issir

ls -F foobar

L-alleati jipprovdu mod konvenjenti għall-utenti naive biex joħolqu shorthands għal kmandi mingħajr ma jkollhom għalfejn jitgħallmu kif joħolqu funzjonijiet ma 'argumenti. Jistgħu jintużaw ukoll biex joħolqu kodiċi lexikament joskuraw. Dan l-użu huwa skoraġġut.

Kmandi

Il-qoxra tinterpreta l-kliem li tinqara skont lingwa, li l-ispeċifikazzjoni tagħha hija barra mill-ambitu ta 'din il-paġna manwali (irreferi għall-BNF fid-dokument POSIX 1003.2). Essenzjalment għalkemm, tinqara linja u jekk l-ewwel kelma tal-linja (jew wara operatur ta 'kontroll) mhix kelma riżervata, allura l-qoxra rrikonoxxiet kmand sempliċi. Inkella, kmand kumpless jew xi kostruzzjoni speċjali oħra setgħu ġew rikonoxxuti.

Kmandi Sempliċi

Jekk kmand sempliċi ġie rikonoxxut, il-qoxra twettaq l-azzjonijiet li ġejjin:

  1. Il-kliem ewlieni tal-formola `` name = value '' huma mqaxxar u assenjati lill-ambjent tal-kmand sempliċi. L-operaturi ta 'direzzjoni mill-ġdid u l-argumenti tagħhom (kif deskritt hawn taħt) huma mqaxxra u ffrankati għall-ipproċessar.
  2. Il-kliem li jifdal huma mwessgħin kif deskritt fit-taqsima msejħa 'Expansions' 'u l-ewwel kelma li fadal hija kkunsidrata l-isem tal-kmand u l-kmand jinsab. Il-kliem li jifdal huma kkunsidrati l-argumenti tal-kmand. Jekk l-ebda isem tal-kmand ma rriżulta, allura l-assenjazzjonijiet varjabbli "` name = value '' rikonoxxuti fil-punt 1 jaffettwaw il-qoxra kurrenti.
  3. Id-direzzjonijiet mill-ġdid isiru kif deskritt fit-taqsima li jmiss.

Direzzjonijiet mill-ġdid

L-direzzjonijiet mill-ġdid jintużaw biex jinbidlu fejn kmand jaqra d-dħul tiegħu jew jibgħat il-produzzjoni tiegħu. B'mod ġenerali, direzzjonijiet mill-ġdid jiftħu, jagħlqu jew jidduplikaw referenza eżistenti għal fajl. Il-format ġenerali użat għal direzzjoni mill-ġdid huwa:

[n] redir-op file

fejn redir-op huwa wieħed mill-operaturi ta 'direzzjoni mill-ġdid imsemmija qabel. Wara hija lista ta 'direzzjonijiet mill-ġdid possibbli. Il-Bq n huwa numru fakultattiv, bħal fil-'3 '(mhux' Bq 3 'li jirreferi għad-deskrittur tal-fajl.

[n]> fajl

Irreverti l-output standard (jew n) għall-fajl.

[n]> | fajl

L-istess, imma ineħħi l-għażla - C.

[n] >> fajl

Agħti l-output standard (jew n) għall-fajl.

[n]

Iddawwar l-input standard (jew n) mill-fajl.

[n1] <& n2

Duplikat input standard (jew n1) mid-deskrittur tal-fajl n2.

[n] <& -

Input standard qrib (jew n).

[n1]> & n2

Prodott standard duplikat (jew n1) minn n2.

[n]> & -

Agħlaq il-produzzjoni standard (jew n).

[n] <> fajl

Fajl miftuħ għal qari u kitba fuq input standard (jew n).

Id-direzzjoni mill-ġdid li ġejja ħafna drabi tissejjaħ '' dokument hawn '' '

[n] << delimiter

hawn-doc-text ...

delimiter

It-test kollu fuq linji suċċessivi sa l-delimiter jiġi ffrankat 'l bogħod u jkun disponibbli għall-kmand fuq input standard, jew id-deskrittur tal-fajl n jekk ikun speċifikat. Jekk id-delimiter kif speċifikat fil-linja tal-bidu huwa kkwotat, allura d-dokument hawnhekk-doc jiġi trattat litteralment, inkella t-test ikun soġġett għal espansjoni ta 'parametru, sostituzzjoni tal-kmand u espansjoni aritmetika (kif deskritt fit-taqsima dwar "Espansjoni"). "Jekk l-operatur huwa` `<< - '' minflok '` <<' 'allura tabs ewlenin fit-test hawn-doc-huma mqaxxra.

Fittex u Eżekuzzjoni

Hemm tliet tipi ta 'kmandi: funzjonijiet tal-qoxra, kmand mibni, u programmi normali - u l-kmand huwa mfittex (bl-isem) f'dak l-ordni. Dawn huma eżegwiti b'mod differenti.

Meta titwettaq funzjoni tal-qoxra, il-parametri posizzjonali kollha tal-qoxra (ħlief $ 0, li jibqgħu l-istess) huma ssettjati għall-argumenti tal-funzjoni tal-qoxra. Il-varjabbli li huma mqiegħda espliċitament fl-ambjent tal-kmand (billi jqiegħdu assenjazzjonijiet lilhom qabel l-isem tal-funzjoni) isiru lokali għall-funzjoni u huma ssettjati għall-valuri mogħtija. Imbagħad il-kmand mogħti fid-definizzjoni tal-funzjoni jiġi eżegwit. Il-parametri ta 'pożizzjoni jiġu rrestawrati għall-valuri oriġinali tagħhom meta l-kmand jitlesta. Dan kollu jseħħ fil-qoxra attwali.

Il-binarji tal-qoxra huma eżegwiti internament fil-qoxra, mingħajr ma jbid proċess ġdid.

Inkella, jekk l-isem tal-kmand ma jaqbilx ma 'funzjoni jew mibni, il-kmand huwa mfittex bħala programm normali fis-sistema tal-files (kif deskritt fit-taqsima li jmiss). Meta jitwettaq programm normali, il-qoxra tmexxi l-programm, tgħaddi l-argumenti u l-ambjent għall-programm. Jekk il-programm mhuwiex fajl eżekutibbli normali (jiġifieri, jekk ma jibdiex bin-numru magic "li r-rappreżentazzjoni ASCII tiegħu hija" #! ", Allura execve (2) jirritorna Er ENOEXEC imbagħad) il-qoxra se tinterpreta l-programm subshell. Il-qoxra tat-tfal tinbeda mill-ġdid innifsu f'dan il-każ, b'tali mod li l-effett ikun daqs li kieku qoxra ġdida kienet invokata biex timmaniġġja l-iskrittura ad hoc tal-qoxra, ħlief li l-lok ta 'kmandijiet mibrumin li jinsabu fil- tifel / tifla.

Innota li l-verżjonijiet preċedenti ta 'dan id-dokument u l-kodiċi sors innifsu b'mod qarrieqi u sporadiku jirreferu għal skrittura tal-qoxra mingħajr numru magic bħala "proċedura tal-qoxra".

Path Fittex

Meta ssib kmand, il-qoxra l-ewwel tidher biex tara jekk ikollhiex funzjoni ta 'qoxra minn dak l-isem. Imbagħad tfittex kmand mibni minn dak l-isem. Jekk kmand mibni ma jinstabx, wieħed minn żewġ affarijiet jiġri:

  1. L-ismijiet tal-kmand li fihom slash huma sempliċiment eżegwiti mingħajr ma jsiru tfittxijiet.
  2. Il-qoxra tfittxi kull entrata fil- PASSA min-naħa għall-kmand. Il-valur tal-varjabbli PATH għandu jkun serje ta 'daħliet separati minn setturi. Kull entrata tikkonsisti f'isem tad-direttorju. Id-direttorju attwali jista 'jiġi indikat impliċitament b'isem id-direttorju vojt, jew espliċitament b'perjodu wieħed.

Status ta 'Ħruġ tal-Kmand

Kull kmand għandu status ta 'ħruġ li jista' jinfluwenza l-imġiba ta 'kmandi oħra tal-qoxra. Il-paradigma hija li kmand joħroġ b'żero għal normali jew suċċess, u mhux żero għal nuqqas, żball, jew indikazzjoni falza. Il-paġna manwali għal kull kmand għandha tindika d-diversi kodiċijiet ta 'ħruġ u dak li tfisser. Barra minn hekk, il-kmand mibni jagħti lura l-kodiċijiet tal-ħruġ, kif ukoll il-funzjoni tal-qoxra mwettqa.

Kumplessi Kmand

Kmandi kumplessi huma kombinazzjonijiet ta 'kmandi sempliċi ma' operaturi ta 'kontroll jew kliem riservat, flimkien joħolqu kmand kumpless ikbar. B'mod aktar ġenerali, kmand huwa wieħed minn dawn li ġejjin:

  • kmand sempliċi
  • pipeline
  • lista jew lista kompost
  • kmand kompost
  • definizzjoni tal-funzjoni

Sakemm ma jkunx iddikjarat mod ieħor, l-istatus ta 'ħruġ ta' kmand huwa dak tal-aħħar kmand sempliċi li jkun sar mill-kmand.

Pipelines

Pipeline hija sekwenza ta 'kmand wieħed jew aktar separati mill-operatur tal-kontroll. L-output standard ta 'kull iżda l-aħħar kmand huwa konness mal-input standard tal-kmand li jmiss. Il-produzzjoni standard tal-aħħar kmand tintiret mill-qoxra, bħas-soltu.

Il-format għal pipeline huwa:

[!] Kmand1 [| kmand2 ...]

L-output standard tal-kmand1 huwa konness mal-input standard tal-kmand2. L-input standard, output standard, jew it-tnejn ta 'kmand huma kkunsidrati li jiġu assenjati mill-pipeline qabel kwalunkwe direzzjoni ġdida speċifikata minn operaturi ta' direzzjoni mill-ġdid li huma parti mill-kmand.

Jekk il-pipeline ma jkunx fl-isfond (diskuss aktar tard), il-qoxra tistenna li l-kmandi kollha jimtlew.

Jekk il-kelma riservata! ma jippreċedix il-pipeline, l-istatus tal-ħruġ huwa l-istatus tal-ħruġ tal-aħħar kmand speċifikat fil-pipeline. Inkella, l-istatus tal-ħruġ huwa l-MHUX loġiku tal-istatus tal-ħruġ tal-aħħar kmand. Jiġifieri, jekk l-aħħar kmand jirritorna żero, l-istatus tal-ħruġ huwa 1; jekk l-aħħar kmand jirritorna aktar minn żero, l-istatus tal-ħruġ huwa żero.

Minħabba li l-assenjazzjoni tal-pipeline ta 'input standard jew produzzjoni standard jew it-tnejn iseħħu qabel id-direzzjoni mill-ġdid, tista' tiġi mmodifikata permezz ta 'direzzjoni mill-ġdid. Pereżempju:

$ command1 2> & 1 | kmand2

jibgħat kemm l-output standard kif ukoll l-iżball standard ta 'kmand1 għall-input standard ta' kmand2.

A; jew terminator jikkawża li l-lista preċedenti U-JEW (deskritta li jmiss) tkun esegwita b'mod sekwenzjali; a & jikkawża eżekuzzjoni mhux sinkronika tal-lista AND-OR-preċedenti.

Innota li għall-kuntrarju ta 'xi qxur oħra, kull proċess fil-pipeline huwa tifel tal-qoxra li tinvoka (sakemm ma tkunx mibnija b'qoxra, f'liema każ hija tesegwixxi fil-qoxra attwali - iżda kwalunkwe effett li għandha fuq l-ambjent tintmesaħ).

Kmandijiet ta 'Sfond -

Jekk kmand jintemm mill-operatur tal-kontroll ampersand (&), il-qoxra tesegwixxi l-kmand b'mod asinkroniku - jiġifieri, il-qoxra ma tistenna li l-kmand jintemm qabel ma jwettaq il-kmand li jmiss.

Il-format għat-tmexxija ta 'kmand fl-isfond huwa:

kmand1 u [kmand2 & ...]

Jekk il-qoxra mhix interattiva, l-input standard ta 'kmand mhux sinkroniku huwa ssettjat għal / dev / null

Listi - Ġeneralment Taħdit

Lista hija sekwenza ta 'żero jew aktar kmandijiet separati b'linji ġodda, semikonduni, jew ampersands, u b'għażla mitmuma minn wieħed minn dawn it-tliet karattri. Il-kmandi f'lista huma esegwiti fl-ordni li huma miktuba. Jekk il-kmand ikun segwit minn ampersand, il-qoxra tibda l-kmand u immedjatament tipproċedi għall-kmand li jmiss; inkella jistenna li l-kmand jintemm qabel ma jgħaddi għal dak li jmiss.

Operaturi ta 'Lista ta' Short-Circuit

`` && '' u `` || '' huma operaturi ta 'lista ta' AND-OR. `` && '' tesegwixxi l-ewwel kmand, u mbagħad tesegwixxi t-tieni kmand l-istatus tal-ħruġ tal-ewwel kmand huwa żero. `` || '' 'huwa simili, iżda jesegwixxi t-tieni kmand fl-istat ta' ħruġ ta 'l-ewwel kmand huwa mhux żero. `` && '' u `` || '' '' tnejn għandhom l-istess prijorità.

Flow-Control Constructs - jekk, filwaqt li, għal, każ

Is-sintassi tal-kmand jekk hu

jekk lista
imbagħad lista
[lista elif
imbagħad lista] ...
[inkella lista]
fi

Is-sintassi tal-kmand meta tkun kmieni

filwaqt li lista
do lista
magħmul

Iż-żewġ listi jiġu eżegwiti ripetutament filwaqt li l-istatus tal-ħruġ tal-ewwel lista huwa żero. Il-kmand ta 'qabel huwa simili, iżda għandu l-kelma sakemm fil-waqt ta' waqt, li ġġiegħel jerġa 'jirrepeti sakemm l-istatus tal-ħruġ tal-ewwel lista jkun żero.

Is-sintassi tal-għall-kmand hija

għal varjabbli fil-kelma ...
do lista
magħmul

Il-kliem huwa estiż, u mbagħad il-lista titwettaq diversi drabi bil-varjabbli ssettjat għal kull kelma. do u done jista 'jiġi sostitwit b' `` {'' u ``} ''

Is-sintassi tal-waqfa u t-tkomplija tal-kmand hija

waqfa [num]
tkompli [numru]

Break ittermina n-numru l-aktar nadif għal jew waqt il-loops. Kompli tkompli bl-iterazzjoni li jmiss tal-linja tan-naħa ta 'ġewwa. Dawn huma implimentati bħala kmand mibni.

Is-sintassi tal-kmand tal-każ hija

kelma fil-każ
mudell) lista ;;
...
esac

Il-mudell jista 'attwalment ikun mudell wieħed jew aktar (ara Xejriet ta' Shell deskritti aktar tard), separati minn karattri `` ''.

Aggregazzjoni Kmandi Flimkien

L-ordnijiet jistgħu jinġabru flimkien bil-kitba jew

(lista)

jew

{lista;

L-ewwel minn dawn tesegwixxi l-kmandi f'sottoqa. Il-kmandi builtin miġbura fi (lista) mhux se jaffettwa l-qoxra attwali. It-tieni forma ma toqrobx qoxra oħra hekk hija xi ftit iktar effiċjenti. L-iggwidar tal-grupp b'dan il-mod jippermettilek li ddawwar l-output tagħhom daqslikieku kienu programm wieħed:

{printf hello; printf dinja \ n ";}> greeting

Funzjonijiet

Is-sintassi ta 'definizzjoni tal-funzjoni hija

isem () kmand

Id-definizzjoni tal-funzjoni hija dikjarazzjoni eżegwibbli; meta jiġi eżegwit jinstalla funzjoni bl-isem u jirritorna l-istatus ta 'ħruġ ta' żero. Il-kmand normalment ikun lista magħluqa bejn `` {'' u ``} ''

Il-varjabbli jistgħu jiġu ddikjarati bħala lokali għal funzjoni billi jużaw kmand lokali. Dan għandu jidher bħala l-ewwel dikjarazzjoni ta 'funzjoni, u s-sintassi hija

lokali [varjabbli | -] ...

Lokali huwa implimentat bħala kmand mibni.

Meta varjabbli ssir lokali, jirtu l-valur inizjali u bnadar esportati u rikonnoxxenti mill-varjabbli bl-istess isem fl-ambitu tal-madwar, jekk hemm wieħed. Inkella, il-varjabbli hija inizjalment mhux issettjata. Il-qoxra tuża skop dinamiku, b'tali mod li jekk tagħmel il-varjabbli lokali għal funzjoni f, li mbagħad imsejħa funzjoni g, ir-referenzi għall-varjabbli ġ magħmula ġewwa g se jirreferu għall-varjabbli x iddikjarat ġewwa f, mhux għall-varjabbli globali jismu x .

L-uniku parametru speċjali milli jista 'jsir lokali huwa `` -' 'Nagħmlu `` -' 'lokali kull għażla ta' qoxra li tinbidel permezz tal-kmand stabbilit ġewwa l-funzjoni biex terġa 'tiġi restawrata għall-valuri oriġinali meta l-funzjoni terġa' lura.

Is-sintassi tal-kmand tar-ritorn hija

ritorn [exitstatus

Temm il-funzjoni li teżegwixxi bħalissa. Ir-ritorn huwa implimentat bħala kmand mibni.

Varjabbli u Parametri

Il-qoxra għandha sett ta 'parametri. Parametru indikat b'isem jissejjaħ varjabbli. Meta tibda, il-qoxra taqsam il-varjabbli ta 'l-ambjent kollha f'varjoli tal-qoxra. Varjabbli ġodda jistgħu jiġu stabbiliti bl-użu tal-formola

isem = valur

Il-varjabbli stabbiliti mill-utent għandu jkollhom isem li jikkonsisti biss minn alfabetiċi, numeriċi, u qisien ta 'isfel - l-ewwel wieħed m'għandux ikun numeriku. Parametru jista 'jiġi indikat ukoll b'numru jew karattru speċjali kif spjegat hawn taħt.

Parametri pożizzjonali

Parametru posizzjonali huwa parametru indikat b'numru (n> 0). Il-qoxra tistabbilixxi dawn inizjalment għall-valuri tal-argumenti tal-linja tal-kmand li jsegwu l-isem tal-iskrittura tal-qoxra. Is- sett (1) builtin jista 'jintuża wkoll biex jiġu ssettjati jew issettjati mill-ġdid.

Parametri Speċjali

Parametru speċjali huwa parametru indikat minn wieħed mill-karattri speċjali li ġejjin. Il-valur tal-parametru huwa elenkat ħdejn il-karattru tiegħu.

*

Jespandi għall-parametri posizzjonali, li jibdew minn wieħed. Meta l-espansjoni sseħħ fi spaga kkwotata doppja hija tespandi għal qasam wieħed bil-valur ta 'kull parametru separat mill-ewwel karattru tal-varjabbli IFS , jew minn jekk l- IFS titwaqqaf.

@

Jespandi għall-parametri posizzjonali, li jibdew minn wieħed. Meta l-espansjoni sseħħ fi kwotazzjonijiet doppji, kull parametru posizzjonali jespandi bħala argument separat. Jekk ma jkun hemm l-ebda parametri pożizzjonali, l-espansjoni ta '@ tiġġenera argumenti żero, anke meta @ hija kkwotata darbtejn. Dak li bażikament ifisser, pereżempju, huwa jekk $ 1 hu `` abc '' u $ 2 huwa `` def ghi '' imbagħad Qq $ @ jespandi għaż-żewġ argumenti:

abc def ghi

#

Jespandi għan-numru ta 'parametri posizzjonali.

?

Jespandi għall-istatus tal-ħruġ tal-pipeline l-aktar reċenti.

- (Sinjal ta 'riferenza)

Jespandi għall-bnadar ta 'l-għażla attwali (l-ismijiet tal-għażla ta' ittra waħda kkonċinjati fi string) kif speċifikat fuq invokazzjoni, mill-kmand mibni stabbilit, jew impliċitament mill-qoxra.

$

Jespandi għall-ID tal-proċess tal-qoxra invokata. A subshell iżomm l-istess valur ta '$ bħala l-ġenitur tiegħu.

!

Jespandi għall-ID tal-proċess tal-kmand tal-isfond l-aktar riċenti eżegwit mill-qoxra attwali. Għal pipeline, l-ID tal-proċess huwa dak tal-aħħar kmand fil-pipeline.

0 (Zero.)

Jespandi għall-isem tal-iskrittura tal-qoxra jew tal-qoxra.

Espansjoni tal-Kelma

Din il-klawsola tiddeskrivi l-espansjonijiet varji li jsiru fuq il-kliem. Mhux l-espansjonijiet kollha jsiru fuq kull kelma, kif spjegat aktar 'il quddiem.

Espansjonijiet ta 'Tilde, espansjonijiet ta' parametri, sostituzzjonijiet tal-kmand, espansjonijiet aritmetiċi, u tneħħija ta 'kwotazzjonijiet li jseħħu fi kelma waħda jespandu għal qasam wieħed. Huwa biss qsim tal-qasam jew espansjoni tal-pathname li tista 'toħloq oqsma multipli minn kelma waħda. L-eċċezzjoni unika għal din ir-regola hija l-espansjoni tal-parametru speċjali @ fi kwotazzjonijiet doppji, kif ġie deskritt hawn fuq.

L-ordni tal-espansjoni tal-kelma hija:

  1. Espansjoni ta 'Tilde, Espansjoni tal-Parametri, Sostituzzjoni tal-Kmand, Espansjoni Aritmetika (dawn kollha jseħħu fl-istess ħin).
  2. Id-diviżjoni tal-Qasam issir fuq oqsma ġenerati mill-istadju (1) sakemm il-fattur IFS ma jkunx null.
  3. Isem tal-Path Espansjoni (sakemm is-sett - f ma jkunx fis-seħħ).
  4. Tneħħija tal-Kwotazzjoni.

Il-karattru $ jintuża biex jintroduċi espansjoni ta 'parametri, sostituzzjoni ta' kmand, jew evalwazzjoni aritmetika.

Espansjoni ta 'Tilde (li tissostitwixxi d-direttorju ta' l-utent)

Kelma li tibda b'karattri tilde mhux ikkwotati (~) hija soġġetta għal espansjoni ta 'tilde. Il-karattri kollha sa slash (/) jew it-tmiem tal-kelma huma trattati bħala username u huma mibdula bid-direttorju tad-dar ta 'l-utent. Jekk il-username huwa nieqes (bħal f'~ / foobar) it-tilde tinbidel bil-valur tal-varjabbli HOME (id-direttorju ta 'l-utent attwali).

Espansjoni tal-Parametru

Il-format għall-espansjoni tal-parametru huwa kif ġej:

fejn l-espressjoni tikkonsisti fil-karattri kollha sakemm it-tqabbil "` '' '' '' '' '' '' '' '' '' '' '' 'ħarbu minn backslash jew fi spaga kkwotata, u karattri f'edizzjonijiet aritmetiċi inkorporati, sostituzzjonijiet tal-kmand u espansjonijiet varjabbli, tqabbil "`) ''

L-aktar forma sempliċi għall-espansjoni tal-parametri hija:

Il-valur, jekk ikun hemm, tal-parametru huwa sostitwit.

L-isem jew is-simbolu tal-parametru jista 'jkun magħluq f'ċineg, li huma fakultattivi ħlief għal parametri posizzjonali b'aktar minn ċifra waħda jew meta l-parametru huwa segwit minn karattru li jista' jiġi interpretat bħala parti mill-isem. Jekk espansjoni ta 'parametru sseħħ fi kwotazzjonijiet doppji:

  1. L-espansjoni tal-isem tal-Path mhix imwettqa fuq ir-riżultati tal-espansjoni.
  2. Qsim tal-qasam ma jsirx fuq ir-riżultati tal-espansjoni, bl-eċċezzjoni ta '@.

Barra minn hekk, espansjoni tal-parametri tista 'tiġi mmodifikata bl-użu ta' wieħed mill-formati li ġejjin.

Uża Valuri Default. Jekk il-parametru huwa mwaqqaf jew null, l-espansjoni tal-kelma tiġi sostitwita; inkella, il-valur tal-parametru huwa sostitwit.

Assenja Valuri ta 'Default. Jekk il-parametru huwa mwaqqaf jew null, l-espansjoni tal-kelma hija assenjata għall-parametru. Fil-każijiet kollha, il-valur finali tal-parametru huwa sostitwit. Jistgħu jiġu assenjati biss il-varjabbli, mhux parametri posizzjonali jew parametri speċjali, b'dan il-mod.

Indika l-iżball jekk tkun Null jew Unset. Jekk il-parametru huwa mwaqqaf jew null, l-espansjoni tal-kelma (jew messaġġ li jindika li hija mwaqqfa jekk il-kelma titħalla barra) tinkiteb għal żball standard u l-qoxra toħroġ bi status ta 'ħruġ mhux żero. Inkella, il-valur tal-parametru huwa sostitwit. Qoxra interattiva m'għandhiex għalfejn toħroġ.

Uża l-Valur Alternattiv. Jekk il-parametru huwa mwaqqaf jew null, in-null huwa sostitwit; inkella, l-espansjoni tal-kelma hija sostitwita.

Fl-espansjonijiet tal-parametri murija qabel, l-użu tal-kolon fil-format jirriżulta f'test għal parametru li jkun mitluf jew null; l-ommissjoni tal-kolon tirriżulta f'test għal parametru li huwa biss imwaqqaf.

Tul ta 'String. It-tul f'karattri tal-valur tal-parametru.

L-erba 'varjetajiet ta' espansjoni tal-parametri li ġejjin jipprovdu għal ipproċessar ta 'substring. F'kull każ, in-notazzjoni li tqabbel il-mudell (ara d-Disinji Shell), minflok notazzjoni tal-espressjoni regolari, tintuża biex tevalwa l-mudelli. Jekk il-parametru huwa * jew @, ir-riżultat tal-espansjoni mhuwiex speċifikat. Inkludi s-sekwenza sħiħa ta 'espansjoni tal-parametri f'kwistjonijiet doppji ma jikkawżax li l-erba' varjetajiet ta 'karattri mudell li ġejjin jiġu kkwotati, filwaqt li jikkwota karattri fi ħdan iċ-ċineg għandu dan l-effett.

Neħħi l-iżgħar Issuffix Pattern. Il-kelma hija estiża biex tipproduċi mudell. L-espansjoni tal-parametru mbagħad tirriżulta fil-parametru, bl-iżgħar porzjon tas-suffiss imqabbel max-xejra mħassar.

Neħħi l-akbar Suffix Pattern. Il-kelma hija estiża biex tipproduċi mudell. L-espansjoni tal-parametru mbagħad tirriżulta fil-parametru, bl-akbar porzjon tas-suffiss imqabbel max-xejra mħassar.

Neħħi l-iżgħar mudell tal-prefiss. Il-kelma hija estiża biex tipproduċi mudell. L-espansjoni tal-parametru tirriżulta fil-parametru, bl-iżgħar porzjon tal-prefiss imqabbel max-xejra mħassar.

Neħħi l-Akbar Pattern tal-Prefix. Il-kelma hija estiża biex tipproduċi mudell. L-espansjoni tal-parametru mbagħad tirriżulta fil-parametru, bl-akbar porzjon tal-prefiss imqabbel max-xejra mħassar.

Sostituzzjoni ta 'Kmand

Is-sostituzzjoni tal-kmand tippermetti li l-output ta 'kmand jiġi sostitwit minflok l-isem tal-kmand nnifsu. Is-sostituzzjoni tal-kmand isseħħ meta l-kmand huwa magħluq kif ġej:

$ (kmand)

jew Po `` backquoted '' verżjoni Pc:

'kmand'

Il-qoxra tespandi s-sostituzzjoni tal-kmand billi teżegwixxi l-kmand f'ambjent subshell u tissostitwixxi s-sostituzzjoni tal-kmand bl-output standard tal-kmand, billi tneħħi sekwenzi ta 'linja waħda jew aktar fi tmiem is-sostituzzjoni. (Immarkati s qabel it-tmiem tal-produzzjoni ma jitneħħewx, madankollu, waqt il-qsim tal-kamp, ​​jistgħu jiġu tradotti f'spazju, skond il-valur ta ' IFS u billi jikkwotaw li huma fis-seħħ.

Espansjoni Aritmetika

L-espansjoni aritmetika tipprovdi mekkaniżmu għall-evalwazzjoni ta 'espressjoni aritmetika u tissostitwixxi l-valur tagħha. Il-format għall-espansjoni aritmetika huwa kif ġej:

$ ((espressjoni))

L-espressjoni hija ttrattata daqs li kieku kienet fil-kwotazzjonijiet doppji, ħlief li kwota doppja ġewwa l-espressjoni mhix trattata b'mod speċjali. Il-qoxra tespandi t-tokens kollha fl-espressjoni għall-espansjoni tal-parametri, is-sostituzzjoni tal-kmand, u t-tneħħija tal-kwotazzjoni.

Sussegwentement, il-qoxra tittratta dan bħala espressjoni aritmetika u tissostitwixxi l-valur tal-espressjoni.

Split Spazjali Bojod (Qsim tal-Qasam)

Wara l-espansjoni tal-parametru, is-sostituzzjoni tal-kmand, u l-espansjoni aritmetika, il-qoxra tiskannja r-riżultati ta 'espansjonijiet u sostituzzjonijiet li ma sarux f'kwistjonijiet doppji għal qsim ta' oqsma u oqsma multipli.

Il-qoxra tittratta kull karattru tal- IFS bħala delimiter u tuża d-delimiters biex taqsam ir-riżultati tal-espansjoni tal-parametru u s-sostituzzjoni tal-kmand f'oqsma.

Pathname Expansion (Ġenerazzjoni ta 'Isem tal-Fajl)

Sakemm il-bandiera- f tkun issettjata, il-ġenerazzjoni tal-isem tal-fajl issir wara li l-qsim tal-kelma jkun komplut. Kull kelma titqies bħala serje ta 'mudelli, separati minn linji ta' barra. Il-proċess ta 'espansjoni jieħu post il-kelma bl-ismijiet tal-fajls kollha eżistenti li l-ismijiet tagħhom jistgħu jiġu ffurmati billi tissostitwixxi kull mudell b'sinjal li jaqbel mad-disinn speċifikat. Hemm żewġ restrizzjonijiet dwar dan: l-ewwel, mudell ma jistax jaqbel b'sinjal li fih slash, u t-tieni, mudell ma jistax jaqbel ma 'sekwenza li tibda b'perjodu sakemm l-ewwel karattru tad-disinn ma jkunx perjodu. Is-sezzjoni li jmiss tiddeskrivi l-mudelli użati għaż-Żieda tal-Pathname u l-kmand tal-każ (1).

Disinji Shell

Mudell jikkonsisti f'karattri normali, li jaqblu bejniethom, u meta-karattri. Il-meta-karattri huma ``! '' `` * '' ``? '' U `` ['' Dawn il-karattri jitilfu t-tifsiriet speċjali tagħhom jekk ikunu kkwotati. Meta s-sostituzzjoni ta 'kmand jew varjabbli titwettaq u s-sinjal tad-dollaru jew il-kwotazzjonijiet lura mhumiex doppjament ikkwotati, il-valur tal-varjabbli jew ir-riżultat tal-kmand jiġi skannjat għal dawn il-karattri u jinbidel f'tip meta-karattri.

Asterisk (`` * '') jaqbel ma 'kwalunkwe sekwenza ta' karattri. Marka ta 'mistoqsijiet taqbel ma' xi karattru wieħed. Parenteġġ tax-xellug (`` ['') jintroduċi klassi ta 'karattri. It-tmiem tal-klassi tal-karattri huwa indikat minn (``] '') jekk il- ``] '' huwa nieqes imbagħad il- `` ['' jaqbel ma `` ['' aktar milli jintroduċi klassi ta 'karattru. Klassi tal-karattri tikkorrispondi ma 'kwalunkwe karattru bejn il-parentesi kwadri. Firxa ta 'karattri tista' tiġi speċifikata bl-użu ta 'sinjal imnaqqas. Il-klassi tal-karattri tista 'tkun ikkumplimentata billi tagħmel il-punt ta' exclamation l-ewwel karattru tal-klassi tal-karattru.

Biex tinkludi ``] '' fi klassi ta 'karattri, għamilha l-ewwel karattru elenkat (wara ċ-``!' 'Jekk ikun hemm). Biex tinkludi sinjal ta 'tnaqqis, tagħmilha l-ewwel jew l-aħħar karattru elenkat

Builtins

Din it-taqsima telenka l-kmandi mibnija li huma mibnija għax għandhom bżonn jagħmlu xi operazzjoni li ma tistax titwettaq bi proċess separat. Barra minn dawn, hemm diversi kmandi oħra li jistgħu jinbnew għall-effiċjenza (eż. Echo 1).

:

Kmand null li jirritorna valur ta 'ħruġ 0 (veru).

. fajl

Il-kmandi fil-fajl speċifikat jinqraw u jiġu eżegwiti mill-qoxra.

alias [ isem [ = sekwenza ... ]]

Jekk name = string huwa speċifikat, il-qoxra tiddefinixxi l- isem tal- psewdonimu b'katina ta ' valur. Jekk l- isem huwa speċifikat biss, il-valur tal- isem tal-alias huwa stampat. Bl-ebda argument, l- alias mibni juri l-ismijiet u l-valuri tas-psewdonimi definiti kollha (ara unalias)

bg [ impjieg] ...

Kompli l-impjiegi speċifikati (jew l-impjieg attwali jekk ma jingħatawx impjiegi) fl-isfond.

kmand kmand arg ...

Iwettaq il-kmand speċifikat mibni. (Dan huwa utli meta jkollok funzjoni tal-qoxra bl-istess isem bħal kmand mibni).

cd [ direttorju ]

Ibdel għad-direttorju speċifikat (default $ HOME) Jekk tidher dħul għal CDPATH fl-ambjent tal-kmand cd jew il-varjabbli tal-qoxra CDPATH hija ssettjata u l-isem tad-direttorju ma jibdiex ma 'slash, allura se jiġu mfittxija d-direttorji elenkati f'CDPATH għad-direttorju speċifikat. Il-format ta ' CDPATH huwa l-istess bħal dak ta' PATH F'qafas interattiv, il-kmand cd għandu jistampa l-isem tad-direttorju li attwalment qaleb jekk dan huwa differenti mill-isem li l-utent ta. Dawn jistgħu jkunu differenti jew minħabba li l-mekkaniżmu tas - CDPATH intuża jew minħabba li ġiet maqsuma rabta simbolika.

string ta 'l- eval ...

Ikkuntattja l-argumenti kollha bl-ispazji. Imbagħad terġa 'teżamina u tesegwixxi l-kmand.

exec [ kmand arg ... ]

Sakemm il-kmand ma jitħalliex, il-proċess tal-qoxra jiġi sostitwit bil-programm speċifikat (li għandu jkun programm reali, mhux mibni jew funzjonalment imqabbad). Kwalunkwe direzzjonijiet mill-ġdid fuq il-kmand ta 'l- eżekuzzjoni huma mmarkati bħala permanenti, sabiex dawn ma jitneħħewx meta titlesta l- kmand ta' l- eżekuzzjoni .

ħruġ [ exitstatus ]

Ittemm il-proċess tal-qoxra. Jekk jingħata l-istatus ta 'ħruġ jintuża bħala l-istatus tal-ħruġ tal-qoxra; inkella l-istatus tal-ħruġ tal-kmand preċedenti jintuża.

isem ta 'l- esportazzjoni ...

esportazzjoni -p

L-ismijiet speċifikati huma esportati sabiex jidhru fl-ambjent ta 'kmandi sussegwenti. L-uniku mod biex tiġi esportata mhux varjabbli huwa li titwaqqaf. Il-qoxra tippermetti li l-valur ta 'varjabbli jiġi stabbilit fl-istess ħin li jiġi esportat bil-kitba

isem tal-esportazzjoni = valur

Bl-ebda argument il-kmand tal-esportazzjoni jelenka l-ismijiet tal-varjabbli esportati kollha. Bl-għażla - p speċifikata l-output se jkun ifformattjat b'mod xieraq għal użu mhux interattiv.

fc [- e editur ] [l- ewwel [l- aħħar ]]

fc -l [- nr ] [l- ewwel [l- aħħar ]]

fc -s [ qodma = ġodda ] [l- ewwel ]

Il- fc builtin jelenka, jew jibdel u jerġa 'jeżegwixxi, jikkmanda li qabel daħal f'qafas interattiv.

-i editur

Uża l-editur imsemmi mill-editur biex jeditja l-kmandi. Is-sekwenza tal-editur hija isem tal-kmand, suġġett għal tfittxija permezz tal-varjabbli PATH . Il-valur fil-varjabbli FCEDIT jintuża bħala default meta - e ma jkunx speċifikat. Jekk FCEDIT hija nulla jew mhix stabbilita, jintuża l-valur tal- varjatur EDITOR . Jekk EDITOR huwa null jew mhux issettjat, ed (1) jintuża bħala l-editur.

-l (ell)

Agħti l-kmandi minflok ma tinvoka editur fuqhom. Il-kmandi jinkitbu fis-sekwenza indikata mill-ewwel u l-aħħar operandi, kif affettwati minn - r b'kull kmand preċedut bin-numru tal-kmand.

-n

Ikkopressa n-numri tal-kmand meta telenka ma '-l.

-r

Inbiddlu l-ordni tal-kmandi elenkati (ma '- jew editjat (la - Ni u lanqas )

-s

Erġa 'tesegwixxi l-kmand mingħajr ma tinvoka editur.

l-ewwel

l-aħħar

Agħżel il-kmandi biex telenka jew teditja. In-numru ta 'kmandi ta' qabel li jistgħu jiġu aċċessati huma ddeterminati mill-valur tal- varjabbli HISTSIZE . Il-valur ta 'l-ewwel jew l-aħħar wieħed jew it-tnejn huma wieħed minn dawn li ġejjin:

[+] in-numru

Numru pożittiv li jirrappreżenta numru ta 'kmand; numri tal-kmand jistgħu jintwerew bl-għażla - l .

-numru

Numru deċimali negattiv li jirrappreżenta l-kmand li ġie eżegwit numru ta 'kmandi qabel. Per eżempju, -1 huwa l-kmand immedjatament ta 'qabel.

spag

Sekwenza li tindika l-kmand imdaħħal l-aktar reċenti li tibda b'dik in-nisġa. Jekk l-operand il-ġdid = antik mhux speċifikat ukoll ma '- s il -forma ta' sekwenza ta 'l-ewwel operand ma jistax ikun fiha sinjal ugwali inkorporat.

Il-varjabbli ambjentali li ġejjin jaffettwaw l-eżekuzzjoni ta 'fc:

FCEDIT

Isem ta 'l-editur li għandu juża.

HISTSIZE

In-numru ta 'kmandi ta' qabel li huma aċċessibbli.

fg [ impjieg ]

Mexxi x-xogħol speċifikat jew l-impjieg kurrenti għat-tagħrif miksub.

getopts optstring var

Il-kmand tal- POSIX getopts , li m'għandux jiġi konfuż mal- Bell Labs - derivat getopt (1).

L-ewwel argument għandu jkun serje ta 'ittri, li kull waħda minnhom tista' tkun b'għażla segwita minn kolon biex tindika li l-għażla teħtieġ argument. Il-varjabbli speċifikata hija ssettjata għall-għażla parsed.

Il-kmand ta 'l- getopts jaqbeż l-utilità ta' l-anzjani (1) minħabba l-immaniġġjar ta 'l-argumenti li fihom spazju fuq il-kulur.

Il- getopts builtin jistgħu jintużaw biex jinkisbu l-għażliet u l-argumenti tagħhom minn lista ta 'parametri. Meta invokat, getopts ipoġġi l-valur tal-għażla li jmiss mis-sekwenza tal-għażla fil-lista fil-varjabbli tal-qoxra speċifikata mill- var u l-indiċi tagħha fil-varjabbli tal-qoxra OPTIND Meta l-qoxra tiġi invokata, OPTIND jiġi inizjalat għal 1. Għal kull għażla li teħtieġ argument, il- getopts mibnija jitqiegħdu fil-varjabbli tal-qoxra OPTARG Jekk għażla mhix permessa għall- optstring imbagħad OPTARG ser titwaqqaf .

optstring hija sensiela ta 'ittri tal-għażla rikonoxxuti. Jekk ittra tiġi segwita minn kolon, l-għażla hija mistennija li jkollha argument li jista 'jkun separat minnu bl-ispazju abjad. Jekk karattru ta 'għażla ma jinstabx fejn mistenni, getopts għandu jiffissa l- var varjabbli għal' `? '' ' Getopts mbagħad itfi OPTARG u jikteb ir-riżultat għal żball standard. Billi tispeċifika kolon bħala l-ewwel karattru ta ' optstring l-iżbalji kollha se jiġu injorati.

Qed jiġi rritornat valur nonzero meta tintlaħaq l-aħħar għażla. Jekk ma jkunx hemm argumenti li jifdal, getopts għandhom jistabbilixxu var għall-għażla speċjali, `` - '' inkella, se jistabbilixxu var għal ``? ''

Il-framment tal-kodiċi li ġej juri kif wieħed jista 'jipproċessa l-argumenti għal kmand li jista' jieħu l-għażliet [a] u [b] u l-għażla [c] li teħtieġ argument.

filwaqt li tinkiseb abc: f
do
każ $ f f '
a | b) bandiera = $ f ;;
c) carg = $ OPTARG ;;
\?) echo $ UŻU; ħruġ 1 ;;
esac
magħmul
shift 'expr $ OPTIND - 1'

Dan il-kodiċi ser jaċċetta kwalunkwe wieħed minn dawn li ġejjin bħala ekwivalenti:

cmd-fajl tal-fajl ta 'l-aċċess
fajl tal-fajl cmd -a -c arg
cmd -karg-fajl ta 'fajl
cmd -a-karg - fajl tal-fajl

kmand hash -rv ...

Il-qoxra għandha tabella tal-hash li tiftakar il-postijiet tal-kmandi. Bl-ebda argument, il-kmand tal- kmand jimmarka l-kontenut ta 'din it-tabella. L-entrati li ma ġewx eżaminati mill-aħħar kmand ta ' CD huma mmarkati b'asterisk; huwa possibbli li dawn l-iskrizzjonijiet ikunu invalidi.

Bl-argumenti, il-kmand tal - hash ineħħi l-kmandi speċifikati mit-tabella tal-hash (sakemm ma jkunux funzjonijiet) u mbagħad tqiegħedhom. Bl-għażla - v , hash timmarka l-postijiet tal-kmandi hekk kif issibhom. L-għażla - r tikkawża l-kmand tal-hash biex tħassar l-entrati kollha fit-tabella tal-hash ħlief għall-funzjonijiet.

jobid [ job ]

Stampa l-identifikazzjoni tal-proċess tal-proċessi tax-xogħol. Jekk l - argument tax - xogħol jitħalla barra, l-impjieg attwali jintuża.

impjiegi

Dan il-kmand jelenka l-proċessi kollha tal-isfond li huma tfal tal-proċess tal-qoxra attwali.

pwd

Stampa d-direttorju kurrenti. Il-kmand mibni jista 'jkun differenti mill-programm tal-istess isem minħabba li l-kmand mibni jiftakar x'inhu l-direttorju kurrenti minflok jerġa' jikkomputah kull darba. Dan jagħmilha aktar mgħaġġla. Madankollu, jekk id-direttorju attwali jingħata l-isem ġdid, il-verżjoni mibnija ta ' pwd se tkompli tipprintja l-isem antik għad-direttorju.

aqra l- varjabbli [- p fil-pront ] [- r ]

Il-pront hija stampata jekk l-għażla - p hija speċifikata u l-input standard huwa terminal. Imbagħad linja tinqara mill-input standard. Il-linja l-ġdida għad-dawra hija mħassra mil-linja u l-linja hija maqsuma kif deskritt fit-taqsima dwar il-qsim tal-kliem hawn fuq, u l-biċċiet huma assenjati għall-varjabbli fl-ordni. Ta 'l-inqas varjabbli waħda għandha tkun speċifikata. Jekk hemm aktar biċċiet minn varjabbli, il-biċċiet li fadal (flimkien mal-karattri f'IFS li separawhom ) huma assenjati għall-aħħar varjabbli. Jekk hemm aktar varjabbli minn biċċiet, il-varjabbli li fadal huma assenjati s-sekwenza nulla. Il-mibnija fil-qosor jindika s-suċċess sakemm ma jinstabx EOF fuq l-input, f'liema każ in-nuqqas jiġi rritornat.

B'mod awtomatiku, sakemm l-għażla r hija speċifikata, il-backslash `` \ '' jaġixxi bħala karattru ta 'salvataġġ, u jikkawża li l-karattru li ġej jiġi trattat litteralment. Jekk backslash jiġi segwit b'linja ġdida, il-backslash u l-linja l-ġdida se titħassar.

l- isem readonly ...

readonly -p

L-ismijiet speċifikati huma mmarkati bħala moqrija biss, sabiex ma jkunux jistgħu jiġu mmodifikati jew mitlufa sussegwentement. Il-qoxra tippermetti li l-valur ta 'varjabbli jiġi stabbilit fl-istess ħin ikun immarkat jinqara biss bil-kitba

isem irriservat = valur

Bl-ebda argument il-kmand li jaqra jelenka l-ismijiet tal-varjabbli kollha li jinqraw biss. Bl-għażla - p speċifikata l-output se jkun ifformattjat b'mod xieraq għal użu mhux interattiv.

Issettja [(- għażliet | + għażliet | - arg ... ]

Il-kmand stabbilit iwettaq tliet funzjonijiet differenti.

Bl-ebda argument, huwa jelenka l-valuri tal-varjabbli kollha tal-qoxra.

Jekk jingħataw għażliet, jistabbilixxi l-bnadar ta 'l-għażla speċifikata, jew ikklerjahom kif deskritt fit-taqsima msejħa Sx Argument List Processing.

It-tielet użu tal-kmand stabbilit huwa li jiġu stabbiliti l-valuri tal-parametri posizzjonali tal-qoxra għall-args speċifikati. Biex ibiddel il-parametri posizzjonali mingħajr ma tbiddel xi għażliet, uża `` - '' bħala l-ewwel argument li għandu jiġi stabbilit. Jekk ma jkun hemm l-ebda args, il-kmand stabbilit għandu jneħħi l-parametri posizzjonali (ekwivalenti għal eżekuzzjoni " ċaqliq $ #". ''

valur varjabbli

Jassenja valur lill-varjabbli. (B'mod ġenerali huwa aħjar li tikteb il-valur varjabbli = minflok tuża setvar setvar hija maħsuba biex tintuża f'funzjonijiet li jassenjaw valuri għal varjabbli li l-ismijiet tagħhom huma mgħoddija bħala parametri.)

bidla [ n ]

Tibdil il-parametri pożizzjonali n-ħinijiet. Bidla jiffissa l-valur ta ' $ 1 għall-valur ta' $ 2 il -valur ta ' $ 2 għall-valur ta' $ 3 u hekk, inaqqas il-valur ta ' $ # kull wieħed. Jekk n huwa akbar min-numru ta 'parametri pożizzjonali, iċ-ċaqliq se joħroġ messaġġ ta' żball, u joħroġ bi status ta 'ritorn 2.

ħinijiet

Stampa l-utent akkumulat u l-ħinijiet tas-sistema għall-qoxra u għall-proċessi mmexxija mill-qoxra. L-istatus tar-ritorn huwa 0.

sinjal ta ' azzjoni ta' nassa ...

Iġġenera l-qoxra biex tivverifika u tesegwixxi azzjoni meta xi sinjali speċifikati jiġu rċevuti. Is-sinjali huma speċifikati bin-numru tas-sinjal. Jekk is- sinjal huwa 0 l -azzjoni hija eżegwita meta l-qoxra toħroġ. azzjoni tista 'tkun nulla jew `` -' 'l-ewwel tikkawża li s-sinjal speċifikat jiġi injorat u dan ta' l-aħħar jikkawża l-azzjoni default. Meta l-qoxra titfi barra mill-qoxra tas- subsib , din terġa 'tistabbilixxi sinjali maqbuda (iżda mhux injorati) għall-azzjoni awtomatika. Il-kmand tan-nassa m'għandux effett fuq sinjali li ġew injorati mad-dħul fil-qoxra.

tip [ isem ... ]

Interpretar kull isem bħala kmand u stampa r-riżoluzzjoni tat-tfittxija tal-kmand. Riżoluzzjonijiet possibbli huma: kelma prinċipali tal-qoxra, alias, builtin tal-qoxra , kmand, alias li ssegwi u mhux misjuba. Għall-psewdonimi l-espansjoni tal-alias hija stampata; għall-kmandi u l-psewdonimi ssorveljati, il-pathname tal-kmand huwa stampat.

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

Ikkonsulta jew issettja l-limiti iebsin jew ħorox fuq il-proċessi jew issettja limiti ġodda. L-għażla bejn il-limitu iebes (li l-ebda proċess ma jitħalla jikser u li ma jistax jinġabar ladarba jitbaxxa) u l-limitu limitat (li jikkawża li l-proċessi jiġu rreġistrati iżda mhux neċessarjament maqtula u li jista 'jiżdied) dawn il-bnadar:

-H

issettja jew tinvestiga dwar limiti iebsin

-S

issettja jew tistaqsi dwar limiti rotob. Jekk la - H nor- S hija speċifikata, il-limitu l-baxx huwa muri jew iż-żewġ limiti huma stabbiliti. Jekk it-tnejn huma speċifikati, l-aħħar wieħed jirbaħ.

Il-limitu li għandu jiġi interrogat jew stabbilit, imbagħad, huwa magħżul billi tispeċifika kwalunkwe wieħed minn dawn il-bnadar:

-a

uri l-limiti attwali kollha

-t

uri jew stabbilixxi l-limitu fuq il -ħin tal-CPU (f'sekondi)

-f

uri jew stabbilixxi l-limitu fuq l-ikbar fajl li jista 'jinħoloq (fi blokki ta' 512-byte)

-d

uri jew stabbilixxi l-limitu fuq id-daqs tas-segment tad-dejta ta 'proċess (f'kilobytes)

-s

uri jew stabbilixxi l-limitu fuq id-daqs tal-munzell ta 'proċess (f'kilobytes)

-c

uri jew stabbilixxi l-limitu fuq l-ikbar daqs tal-qabda ċentrali li jista 'jiġi prodott (fi blokki ta' 512-byte)

-m

turi jew issettja l-limitu fuq il-memorja fiżika totali li tista 'tintuża minn proċess (f'kilobytes)

-l

uri jew stabbilixxa l-limitu fuq kemm memorja proċess jista 'jissakkar ma mlock (2) ( f'kilobytes )

-p

uri jew iwaqqaf il-limitu fuq in-numru ta 'proċessi li dan l-utent jista' jkollu f'ħin wieħed

-n

uri jew iwaqqaf il-limitu fuq il-fajls tan-numru li proċess jista 'jkollu miftuħ f'daqqa

Jekk l-ebda minn dawn m'hu speċifikat, huwa l-limitu fuq id-daqs tal-fajl li jintwera jew jiġi stabbilit. Jekk il-valur huwa speċifikat, il-limitu huwa stabbilit għal dak in-numru; inkella l-limitu kurrenti jintwera.

Limiti ta 'proċess arbitrarju jistgħu jintwerew jew jiġu stabbiliti bl-użu tas-sistema sysctl (8).

umask [ maskra ]

Issettja l-valur ta 'umask (ara umask (2)) mal-valur octal speċifikat. Jekk l-argument jitħalla barra, il-valur umask huwa stampat.

unalias [- a ] [ isem ]

Jekk l- isem huwa speċifikat, il-qoxra tneħħi dak l-alias. Jekk - a hija speċifikata, il-psewdonomi kollha jitneħħew.

niżżel l- isem ...

Il-varjabbli u l-funzjonijiet speċifikati huma mwaqqfa u mhux esportati. Jekk isem partikolari jikkorrispondi kemm għal varjabbli kif ukoll għal funzjoni, kemm il-varjabbli kif ukoll il-funzjoni ma jiġux imwaqqfa.

stenna [ xogħol ]

Stenna biex ix-xogħol speċifikat jimla u jirritorna l-istatus tal-ħruġ tal-aħħar proċess fl-impjieg. Jekk l-argument jitħalla barra, stenna li l-impjiegi kollha jitlestew u r-ritorn status ta 'ħruġ ta' żero.

Editjar tal-Linja tal-Kmand

Meta sh qed jintuża b'mod interattiv minn terminal, il-kmand attwali u l-istorja tal-kmand (ara fc f'Sx Builtins) jistgħu jiġu editjati bl-użu ta 'editjar tal-linja tal-kmand vi-mode. Din il-modalità tuża kmandi, deskritti hawn taħt, simili għal subsett ta 'dawk deskritti fil-paġna tal-bniedem. Il-kmand "sett" -o vi jippermetti l-editjar tal-vi-mode u poġġi t-sh fil-mod ta 'daħħal vi. Bil-vi-mode attivat, sh jista 'jinxtegħel bejn il-mod tad-dħul u l-mod ta' kmand. L-editur mhux deskritt b'mod sħiħ hawnhekk, iżda se jkun f'dokument aktar tard. Huwa simili għal vi: ittajpjar Aq ESC ser tarmi fil-kmand tal-kmand tal-kmand VI. Meta tolqot ir-ritorn ta 'Aq waqt li fil-mod ta' kmand tgħaddi l-linja għall-qoxra.

Importanti: Uża l- kmand tal- bniedem ( % raġel ) biex tara kif tintuża kmand fuq il-kompjuter partikolari tiegħek.