Tshauv - Hais kom ua Linux - Kev hais ua haujlwm Unix

NPE

sh - tus neeg txhais lus ( plhaub )

SYNOPSIS

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

KEV POM ZOO

Sh yog tus txhais lus tus qauv txhais lus rau lub cev. Tam sim no version ntawm sh yog nyob rau hauv tus txheej txheem ntawm hloov mus ua raws cov POSIX 1003.2 thiab 1003.2a specifications rau lub plhaub. Cov ntawv no muaj ntau lub nta uas ua rau nws zoo ib yam li hauv Korn lub plhaub, tab sis nws tsis yog Korn plhaub clone (saib ksh (1)). Tsuas nta tau xaiv los ntawm POSIX thiab ntxiv ob peb ncua sij hawm ntawm Berkeley, tab tom muab tso rau hauv lub plhaub. Peb cia siab tias POSIX yuav tsum ua raws li lub sij hawm 4.4 BSD raug tso tawm. Tus txiv neej no tsis yog los ua ib qho kev qhia lossis kev ua tiav ntawm lub plhaub.

Txheeb xyuas

Lub plhaub yog ib lo lus txib uas nyeem cov kab los ntawm cov ntaub ntawv lossis lub davhlau ya nyob twg, txhais lawv, thiab feem ntau ua lwm yam lus txib. Nws yog qhov kev pab cuam uas khiav thaum ib tus neeg siv teev rau hauv qhov system (txawm tias tus neeg siv yuav xaiv tau ib lub plhaub txawv nrog lub chsh (1) hais kom ua). Lub plhaub yog siv ib hom lus uas muaj kev tswj tuav, tsim kom muaj ntau yam nta ntxiv rau cov ntaub ntawv cia, nrog rau kev ua hauv keeb kwm thiab kab tsim kho. Nws txuas nrog ntau yam nta los pab kev sib tham sib siv thiab muaj qhov kom zoo dua tias cov lus txhais ua lus yog ib qho siv rau kev sib tham sib thiab siv tsis sib tham (plhaub ntawv sau). Ntawd yog, commands tuaj yeem raug ntaus ncaj nraim mus rau lub plhaub khiav los sis muab tso rau hauv ib daim ntawv thiab cov ntaub ntawv yuav raug tua ncaj qha los ntawm lub plhaub.

Tsav lus

Yog hais tias tsis muaj args tam sim no thiab yog hais tias tus txheej txheem ntawm lub plhaub yog txuas nrog lub davhlau ya nyob twg (lossis yog tus cim - kuv tus chij), thiab qhov c xaiv tsis muaj, lub plhaub yog xam qhov kev sib tham ntawm plhaub . Ib qho kev sib tham ua plhaub feem ntau pib ua ntej txhua qhov hais kom ua thiab cov kev tshaj tawm thiab cov lus txib yuam kev txawv (raws li tau hais hauv qab). Thaum pib ua ntej, lub plhaub yuav ntsuam xyuas kev sib cav 0, thiab yog tias nws pib nrog lub khiav ceev - - 'lub plhaub tseem pom tias yog tus ID nkag mus plhaub. Qhov no feem ntau ua tau los ntawm lub cev thaum tus neeg siv thawj zaug hauv. Ib tus ID nkag mus plhaub thawj nyeem ntawm cov ntaub ntawv / lwm yam / profile thiab .profile yog tias lawv muaj nyob. Yog tias qhov chaw hloov ENV yog teem rau kev nkag mus rau lub plhaub, los yog muab tso rau hauv .profile ntawm tus ID nkag mus plhaub, lub plhaub tom qab nyeem cov lus txib ntawm cov ntaub ntawv hu ua ENV Yog li, tus neeg siv yuav tsum tso cov lus txib uas yuav tsum tau ua tiav ntawm tus ID nkag mus lub sij hawm nyob rau hauv cov ntaub ntawv .profile, thiab cov commands uas yog tseg rau txhua lub plhaub hauv ENV ntaub ntawv. Txhawm rau muab tus ENV kuj hloov mus rau qee cov ntaub ntawv, muab cov kab hauv qab no rau koj .profile ntawm koj cov tsev directory

ENV = $ TSEV / .shinit; export ENV

substituting rau `` .shinit '' txhua filename koj xav. Vim cov ntaub ntawv ENV tau nyeem rau txhua lub invocation ntawm lub plhaub, nrog rau cov ntawv plhaub thiab cov tsis sib tham sib zoo li cas, cov txheej txheem hauv qab no yuav pab tau rau kev txwv cov lus txib hauv ENV cov ntaub ntawv rau kev sib tham invocations. Muab cov lus txib hauv lub rooj sib hais thiab lub esac '' hauv qab (cov lus txib tom qab ntawd):

case $ - hauv * kuv *)

# commands rau kev sib tham sib siv xwb

...

esac

Yog hais tias kab lus sib cav ntxiv rau cov kev xaiv tau raug teev tseg, ces lub plhaub yog thawj qhov sib cav ua cov npe ntawm cov ntaub ntawv los ntawm kev nyeem cov lus txib (lub plhaub tsab ntawv), thiab cov lus sib tw ntxiv yog teeb tsa ntawm qhov chaw hauv plhaub ($ 1 , $ 2, thiab lwm yam). Txwv tsis pub, lub plhaub nyeem ntawv txib ntawm nws cov lus tawm tswv yim.

Kev sib cav ua lag luam

Tag nrho cov ntawv xaiv tsuas muaj lub npe sib thooj uas siv tau los ua kev sib cav rau qhov - qhov kev xaiv. Lub teeb - Lub npe yog muab ib qho ntawm ib qho kev xaiv nyob hauv nqe lus hauv qab no. Specifying a khiav ceev '`-' 'hloov cov kev xaiv, thaum uas siv ib qho ntxiv` `+' 'disables qhov kev xaiv. Cov kev xaiv hauv qab no tau teem los ntawm cov kab hais kom ua los yog nrog lub teeb tsa (1) builtin (tom qab piav).

-ib kev sib foob

Export tag nrho cov qhab-nees rau. (UNIMPLEMENTED rau 4.4alpha)

-c

Nyeem cov lus txib ntawm kab lus txib. Tsis pub commands ntawm nyeem cov lus qhia.

-C noclobber

Tsis txhob 't overwrite cov ntaub ntawv uas muaj'=>' (UNIMPLEMENTED rau 4.4alpha)

-e errexit

Yog hais tias tsis sib tham, tawm tam sim ntawd yog tias tsis muaj kev hais kom ua tsis tiav. Qhov kev tawm ntawm qhov kev hais tawm yog xav kom pom tseeb tias qhov kev hais kom siv los tswj hwm yog tias yog thaum lossis txog thaum los yog los yog yog tias qhov kev hais tau yog sab laug tes ua haujlwm ntawm "` && 'or `` ||' 'tus neeg teb xov tooj.

-f noglob

Lov tes taw pathname expansion.

-n noexexec

Yog hais tias tsis sib tham sib, nyeem cov lus txib tab sis tsis txhob ua lawv. Qhov no yog qhov tseem ceeb rau kev kuaj cov syntax ntawm plhaub scripts.

-u nounset

Sau cov lus qhuab qhia rau kev ua yuam kev thaum sim ua kom muaj kev sib txawv uas tsis muaj teeb meem, thiab yog lub plhaub tsis sib tham, tawm tam sim ntawd. (UNIMPLEMENTED rau 4.4alpha)

-v verbose

Lub plhaub sau nws cov tswv yim rau kev ua yuam kev thaum nws nyeem. Pab tau kev debugging.

-x xtrace

Sau txhua lo lus txib rau tus qauv yuam kev (preceded los ntawm ib '+' ua ntej nws tseg. Pab rau debugging.

-q ntsiag to

Yog hais tias cov - v lossis - x xaiv tau teem, tsis txhob siv lawv thaum nyeem cov ntaub ntawv initialization, cov ua / lwm yam / profile .profile thiab cov ntaub ntawv teev tseg los ntawm ENV qhov chaw sib txawv.

-Kuv tsis quav ntsej

Leeg EOF ntawm kev tawm tswv yim thaum sib tham.

-i sib tham sib

Quab yuam lub plhaub kom coj zoo.

-m saib

Taws txoj hauv kev ua haujlwm (teem caij thaum sib tham sib).

-ntxwv

Nyeem cov lus txib ntawm kev tawm tswv yim (teev cia yog tias tsis muaj cov lus sib cav). Qhov kev xaiv no tsis muaj tshwm sim li cas tom qab lub plhaub tau pib khiav (piv txwv li nrog teeb (1)).

-V vi

Pab kom tus vi (1) hais ua kab editor (ua haujlwm rau - E yog hais tias nws tau teeb tsa).

-A emacs

Pab kom cov built-in emacs (1) hais kom ua kab editor (disables - V yog nws tau teeb tsa).

-tej ceeb toom

Pab asynchronous ceeb toom txog tom qab txoj haujlwm tiav. (UNIMPLEMENTED rau 4.4alpha)

Lexical Structure

Lub plhaub nyeem cov tswv yim ntawm cov kab ntawm cov ntaub ntawv thiab muab nws tso rau hauv cov lus ntawm whitespace (kab sab nraud thiab cov tabs), thiab nyob rau ntawm cov cim uas tshwj xeeb rau lub plhaub hu ua `cov neeg tsav tsheb 'Muaj ob hom tswv: tswj cov tswv thiab cov tswv lag luam tawm (lawv lub ntsiab lus yog tham tom qab). Nram qab no yog cov npe ntawm cov neeg teb xov tooj:

"Tswj cov neeg teb xov tooj:"

& && (); ;; | ||

"Tus neeg teb xov tooj hloov tshiab:"

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

Quoting

Quoting yog siv los tshem cov ntsiab lus tshwj xeeb ntawm cov cim los yog cov lus rau lub plhaub, xws li cov tswv, cov ntsiab lus, lossis cov lus tseem ceeb. Muaj peb hom quoting: matched single quotes, matched double quotes, thiab backslash.

Backslash

Tus backslash khaws cov ntsiab lus ntawm cov lus hauv qab no, nrog rau kev zam ntawm tus newline. Ib tug backslash ua ntej tus Aq tshiab yog kho raws li ib txoj kab txuas ntxiv.

Ib Quotes

Taw cov cim hauv cov quotes khaws cia cov ntsiab lus ntawm txhua lub cim (tsis suav ib qho quotes, ua rau nws tsis muaj quotes hauv ib txoj hlua uas muaj ib kab zauv).

Ob Quotes

Kev hais txog cov cim hauv ob chav quotes khaws cov ntsiab lus ntawm txhua tus cim tshwj tsis yog $ (back) ($) backslash (`) thiab backslash (\) Lub backslash hauv ob quotes yog keeb kwm weird, thiab ua hauj lwm pab rau cov cim nram no tsuas yog cov cim nram qab no:

$ \

Txwv tsis pub nws tseem nyob ntawm tus qauv.

Txais Cov Lus

Cov lus tshwj tseg yog cov ntsiab lus uas muaj lub ntsiab lus tshwj xeeb rau lub plhaub thiab pom zoo thaum pib ntawm ib kab thiab tom qab tus neeg tswj kev tswj xyuas. Cov hauv qab no yog cov lus tshwj tseg:

! Ta elif Ta fi Ta thaum Ta xwm

lwm Ta rau Ta ces Ta {Ta}

ua Ta tiav Ta kom Ta yog Taacas

Lawv lub ntsiab lus yog tham tom qab.

Aliases

Tus cai yog ib lub npe thiab sib luag nqi uas siv cov kev cai (1) builtin alias . Thaum twg lo lus tseg cia yuav tshwm sim (saib saum toj saud), thiab tom qab tshawb xyuas cov lo lus tseg, lub plhaub tshawb xyuas lo lus los saib seb nws puas sib haum. Yog hais tias nws ua, nws hloov nws hauv cov kwj tawm tswv yim nrog nws cov nqi. Piv txwv, yog muaj ib qho npe hu ua `lf '' nrog tus nqi '` ls -F' 'ces lub tswv yim:

lf foobar

yuav dhau mus

ls -F foobar

Aliases muab ib txoj kev yooj yim rau cov neeg siv khoom muag los tsim shorthands rau commands tsis tau kawm paub yuav ua li cas los tsim kev ua haujlwm nrog cov lus. Lawv tuaj yeem siv los tsim cov lej tsis muaj tseeb. Qhov kev siv no yog kev poob siab.

Lus txib

Lub plhaub txhais cov lus nws nyeem raws li ib yam lus, qhov kev qhia tawm ntawm sab nraud ntawm tus txiv neej daim ntawv no (saib mus rau BNF hauv daim ntawv POSIX 1003.2). Yeej tseem zoo dua, tab tom nyeem ib kab thiab nyeem yog thawj lo lus ntawm kab (los yog tom qab ib tus tswj hwm) tsis yog lo lus tseg, ces lub plhaub tau lees paub ib lo lus txib yooj yim. Txwv tsis pub, qhov hais kom ua los sis qee qhov tshwj xeeb feem ntau tau raug lees paub.

Cov lus txib yooj yim

Yog tias cov lus qhia tau yooj yim tau raug lees paub, lub plhaub ua tiav cov yeeb yam nram no:

  1. Ua cov lus ntawm daim ntawv '`lub npe = tus nqi' 'raug muab tshem tawm thiab muab xa mus rau ib puag ncig ntawm cov lus txib yooj yim. Cov neeg tawm tswv yim thiab lawv cov lus (raws li tau hais tseg hauv qab no) raug muab tshem tawm thiab tau txais kev cawmdim rau kev ua haujlwm.
  2. Cov lus ntxiv yog muab nthuav dav raws li tau piav qhia nyob rau hauv nqe lus hu ua `Expansions '' thiab thawj lo lus ntxiv yog qhov kev txiav txim lub npe thiab cov lus txib nyob hauv. Cov lus ntxiv yuav pom tias cov lus sib cav ntawm cov lus txib. Yog hais tias tsis muaj cov lus txib lub npe, ces tus 'lub npe = tus nqi' 'kuj tsis txawv txav assignments pom zoo nyob rau hauv yam khoom 1 cuam tshuam rau lub plhaub tam sim no.
  3. Cov kev hloov tshiab tau ua tiav raws li tau hais hauv tshooj txuas ntxiv.

Redirections

Redirections yog siv los pauv qhov twg ib lo lus txib nyeem nws lub tswv yim lossis xa nws cov zis. Feem ntau, rov qhib, kaw, lossis sib txuas cov ntawv uas twb muaj lawm rau cov ntaub ntawv. Tag nrho hom kev siv rau kev txhim kho yog:

[n] redir-op ntawv

qhov twg redir-op yog ib qho ntawm cov neeg teb xov tooj tau hais ua ntej. Nram qab no yog ib daim ntawv teev npe ntawm kev tuaj yeem hloov. Tus Bq n yog tus lej xaiv, xws li hauv 3 '(tsis yog' Bq 3 'uas yog hais txog cov ntaub ntawv teev lus piav qhia.

[n]> ua ntaub ntawv

Redirect txheem tso zis (los yog n) mus ua ntaub ntawv.

[n]> | cov ntaub ntawv

Tib, tab sis override qhov - C xaiv.

[n] >> cov ntaub ntawv

Tshaj tawm cov zis tawm (lossis n) mus ua ntaub ntawv.

[n]

Redirect txheem input (los yog n) los ntawm cov ntaub ntawv.

[n1] <& n2

Duplicate cov tswv yim txheem (los yog n1) ntawm cov ntaub ntawv piav qhia n2.

[n] <& -

Kaw cov lus tawm tswv yim (lossis n).

[n1]> & n2

Duplicate cov zis tawm (los yog n1) ntawm n2.

[n]> & -

Kaw cov zis tawm (lossis n).

[n] <> cov ntaub ntawv

Qhib cov ntaub ntawv rau kev nyeem ntawv thiab sau ntawv ntawm cov tswv yim (lossis n).

Cov nram qab no rov qab feem ntau hu ua '`document-document' '

[n] << delimiter

here-doc-text ...

delimiter

Tag nrho cov ntawv nyob rau ntawm cov kab txuas mus txog qhov delimiter txuag tawm thiab ua kom muaj rau qhov kev hais kom ua rau cov tswv yim tawm, los yog cov ntaub ntawv hais txog tus neeg n yog tias nws teev. Yog hais tias qhov kev txiav txim siab raws li tau hais tseg rau hauv thawj kab ntawv tau hais tseg, ces ntawm no-doc-text yog kho cov lus, txwv tsis pub cov ntawv nyeem yog qhov kev hloov loj ntxiv, kev ua haujlwm hloov chaw, thiab cov ntsiab lus ntxiv (raws li tau hais hauv seem "` Expansions) ' 'Yog tus neeg teb xov tooj yog' << << - '' es tsis txhob '`<< ces ces tabs hauv no-doc-text yog stripped.

Tshawb nrhiav thiab Tiav

Muaj peb hom lus txib: plhaub functions, builtin commands, thiab cov kev pab cuam zoo li qub - thiab cov lus txib raug tshawb rau (ntawm lub npe) ntawm qhov kev txiav txim. Lawv txhua tus raug tua nyob rau hauv ib txoj kev sib txawv.

Thaum lub plhaub ua haujlwm raug tua, tag nrho cov plhaub poses tsis tau (tshwj tsis yog $ 0, uas tsis hloov pauv) yog teem rau cov lus sib tham ntawm lub plhaub. Cov kev hloov uas tau muab tso rau hauv qhov chaw ntawm cov lus txib (los ntawm kev muab cov ntawv ua tiav rau lawv ua ntej lub npe muaj npe) raug ua haujlwm hauv zos thiab raug teem rau cov txiaj ntsig tau muab. Tom qab ntawd qhov kev hais ua nyob rau hauv qhov kev txhais ua hauj lwm yog tseg. Cov cwj pwm tsis tseem ceeb yog muab txum tim rov qab rau lawv qhov tseem ceeb thaum lub sij hawm ua tiav. Qhov no tag nrho tshwm sim hauv plhaub tam sim no.

Plhaub builtins yog tseg hauv internally mus rau lub plhaub, tsis muaj spawning tus txheej txheem tshiab.

Txwv tsis pub, yog hais tias qhov kev txib npe tsis haum ib qho kev ua haujlwm lossis kev ua haujlwm, qhov kev hais kom ua yog tshawb xyuas raws li ib qho kev pabcuam hauv filesystem (raws li tau hais hauv seem txuas). Thaum ib qho kev ua haujlwm tiav, lub plhaub khiav dej num qhov kev zov me nyuam, kev sib cav thiab qhov chaw nyob rau hauv qhov kev zov me nyuam. Yog hais tias qhov kev zov me nyuam tsis yog ib qho kev ua kom tiav (piv txwv, yog tias nws tsis pib nrog "tus nab npawb khiab" uas nws lub ASCII sawv cev yog "#!", Yog li execve (2) rov qab ER ENOEXEC ces lub plhaub yuav txhais tau qhov kev zov me nyuam hauv subshell. Tus me nyuam lub plhaub yuav rov qab ua tus kheej dua rau qhov no, kom qhov kev tshwm sim ntawd yuav zoo li yog tias lub plhaub tshiab tau raug xa mus ua haujlwm hauv daim ntawv khoob khiab tsev, tshwj tsis yog tias qhov chaw ntawm cov lus cog tseg muaj nyob hauv niam txiv lub plhaub yuav nco ntsoov los ntawm tus me nyuam.

Nco ntsoov tias yav dhau los ntawm daim ntawv no thiab qhov chaws nws tus kheej siv tsis ncaj thiab thaij xa mus rau lub plhaub tsab ntawv tsis muaj ib tug lej xov tooj raws li "plhaub txheej txheem".

Kev tshawb nrhiav

Thaum nrhiav kev hais kom ua, lub plhaub thawj zaug saib seb nws puas muaj lub plhaub los ntawm lub npe ntawd. Tom qab ntawd nws tig rau kev hais kom ua los ntawm lub npe ntawd. Yog hais tias tsis tau pom ib lo lus ua kom yog, ib yam ntawm ob yam tshwm sim:

  1. Hais kom cov npe muaj ib lub luaj luaj mas tsuas yog ua tsis tau cov kev tshawb nrhiav.
  2. Lub plhaub tshawb txhua txhua qhov nkag ntawm PATH los ntawm txoj haujlwm. Tus nqi ntawm PATH kuj sib txawv thiab yuav tsum yog ib qho kev sau npe sib cais ua ke. Txhua qhov nkag muaj npe ntawm lub npe. Cov npe tam sim no tej zaum yuav qhia implicitly los ntawm ib lub npe npliag, los yog ntsees los ntawm ib zaug xwb.

Kev Tawm Tawm Dej Num Tawm

Txhua cov lus txib muaj ib qho kev tawm ntawm txoj cai uas cuam tshuam tau tus cwj pwm ntawm lwm lub plhaub lus txib. Qhov kev ua tau zoo yog tias qhov kev txiav txim tawm nrog xoom rau ib qho los sis ua tiav, thiab tsis muaj xoom vim tsis ua hauj lwm, yuam kev, lossis qhia tsis tseeb. Cov txiv neej nplooj ntawv rau txhua nqe lus qhia yuav tsum tau qhia txog ntau yam tawm kev khiav tawm thiab lawv txhais li cas. Tsis tas li ntawd, cov kev cai hauv tuam tsev tsim rov qab tawm cov npav, raws li kev tua plhaub.

Complex Lus txib

Cov lus txib yog ob peb yam ntawm cov lus txib yooj yooj yim nrog cov neeg tswj kev tswj los yog cov lus qhia tseg, ua ke kom muaj cov lus txib loj. Feem ntau, qhov kev txib yog ib qho ntawm cov hauv qab no:

  • lus txib yooj yim
  • raj dej
  • sau los yog cov npe sau ntawv
  • compound hais kom ua
  • kev txhais

Tshwj tsis yog tias tau teev, qhov kev tawm ntawm qhov kev txiav txim siab yog tias ntawm cov lus txib yooj yim kawg uas ua tiav los ntawm kev hais kom ua.

Pipelines

Lub raj xa dej yog ib qho sib lawv liag ntawm ib los sis ob peb yam lus txib sib cais los ntawm tus neeg teb xov tooj. Tus txheej txheem tsim txhua yam tab sis qhov kawg lus txib txuas nrog rau cov txheej txheem ntawm qhov kev qhia tom ntej. Qhov tso zis tawm ntawm cov lus sam thiaj tas los ntawm lub plhaub, li qub.

Lub hom phiaj rau lub raj xa dej yog:

[!] command1 [| command2 ...]

Qhov tso zis txheem ntawm command1 txuas nrog rau cov tswv yim txheej txheem ntawm command2. Cov txheej txheem tawm tswv yim, tus txheej txheem tso tawm, lossis ob qho lus txib raug txiav txim siab raug xa mus los ntawm lub raj xa khoom ua ntej muaj kev hloov ntawm cov tswv lag luam uas yog ib feem ntawm qhov kev hais kom ua.

Yog tias qhov kav dej tsis nyob hauv keeb kwm yav dhau los (tom qab ntawd tham), lub plhaub tos rau tag nrho cov lus txib kom tiav.

Yog hais tias lo lus tseg! tsis ua ntej qhov kav dej, qhov tawm ntawm kev tawm yog qhov tawm ntawm qhov kawg cov lus hais tseg hauv cov raj xa dej. Txwv tsis pub, qhov tawm ntawm kev tawm lus yog qhov tsis yog qhov tawm ntawm qhov kev txiav txim siab zaum kawg. Ntawd ces yog, yog hais tias qhov kawg hais kom rov qab xoom, qhov kev tawm ntawm qhov tawm yog 1; Yog hais tias qhov kawg hais kom ua rov ua dua xoom, qhov kev tawm ntawm kev tawm yog xoom.

Vim hais tias qhov kev xa dej ntawm cov qauv hauv txheem los yog tus qauv tso tawm los yog ob qho tib si yuav tsum ua ntej ua ntej, nws hloov tau los ntawm kev hloov. Piv txwv li:

$ command1 2> & 1 | command2

xa tag nrho ob qho kev tso zis thiab kev ua yuam kev ntawm command1 rau tus txheej txheem ntawm command2.

A; lossis terminator ua rau ua ntej THIAB-LOS YOG-daim ntawv teev (tau qhia ntxiv) yuav tsum tau ua tiav raws li; tus & ua rau asynchronous tiav ntawm lub ntej thiab-LOS YOG-daim ntawv teev.

Nco ntsoov tias tsis zoo li lwm cov me me, txhua txoj hauv cov raj xa dej yog ib tug me nyuam ntawm cov lus khaum uas tau txais (tshwj tsis yog tias nws yog ib lub plhaub rau hauv, qhov twg nws ua rau hauv lub plhaub tam sim no - tab sis txhua yam cuam tshuam nws muaj nyob rau ntawm qhov chaw).

Tom qab cov lus txib -

Yog hais tias ib tug hais kom ua tiav los ntawm tus tswj neeg teb xov tooj ampersand (&), lub plhaub executes qhov hais kom ua asynchronously - uas yog, lub plhaub tsis tos qhov lus txib kom tiav ua ntej executing cov lus txib tom ntej.

Cov hom ntawv rau kev khiav cov lus txib hauv keeb kwm yav dhau yog:

command1 & [command2 & ...]

Yog hais tias lub plhaub tsis sib tham sib, cov txheej txheem ntawm ib qho kev txiav txim asynchronous yog teem rau / dev / thov

Cov Npe - Feem ntau Kev Hais Lus

Ib daim ntawv teev yog ib qho ntawm cov xoom los yog ntau dua commands sib cais los ntawm newlines, semicolons, los yog ampersands, thiab optionally tshem los ntawm ib qho ntawm cov cim peb. Cov lus txib nyob rau hauv ib daim ntawv teev npe yog ua tiav raws li lawv tau sau tseg. Yog tias cov lus txib ua raws li los ntawm ib tug ampersand, lub plhaub pib qhov kev hais kom ua thiab ua tib zoo npaj mus rau cov lus txib ntxiv mus; txwv tsis pub nws tos rau qhov kev hais kom ua kom tiav ua ntej kev pib mus rau lwm qhov.

Short-Circuit List Operators

`` && '' thiab `` || '' yog THIAB-LOSSIS cov npe tswv. '`& &' 'executes thawj cov lus txib, thiab tom qab ntawd executes tus thib ob command iff tus txheej xwm tawm ntawm thawj cov lus txib yog xoom. '`||' 'yog zoo li, tab sis executes tus thib ob hais khauj iff qhov tawm ntawm tus thawj txib yog nonzero. '`&&' 'thiab'` ||| '' ob leeg muaj qhov tseem ceeb sib luag.

Txuas-Tswj Constructs - yog, thaum, rau, rooj plaub

Lub syntax ntawm yog hais kom ua

yog tias sau
ces sau
[Elif sau
ces sau] ...
[lwm daim ntawv]
nkaus

Lub syntax ntawm lub sij hawm hais kom ua yog

thaum lub npe
ua npe
ua li cas

Ob lub npe teev tseg dua li thaum qhov tawm ntawm thawj lub npe yog xoom. Lub kom txog thaum hais kom zoo ib yam, tab sis muaj lo lus kom txog thaum nyob rau hauv qhov chaw ntawm lub sij hawm, uas ua rau nws rov ua kom txog thaum tawm ntawm thawj daim ntawv teev npe xoom.

Lub syntax ntawm qhov kev hais kom ua yog

rau cov lus sib txawv hauv cov lus ...
ua npe
ua li cas

Cov lus yog nthuav, thiab tom qab ntawd ces daim ntawv teev npe sau tseg nrog qhov txawv ntawm cov lus sib txawv rau txhua lo lus. ua thiab ua tiav yuav raug hloov nrog '`{' 'thiab` `}' '

Lub syntax ntawm so thiab txuas ntxiv mus

so [zo]
txuas ntxiv [num]

Tawg ua qhov num ntsuas phom sij los yog thaum lub sijhawm loops. Txuas ntxiv mus nrog tus tom ntej iteration ntawm lub vev sab hauv. Cov no yog siv raws li cov lus tsa kev ua haujlwm.

Lub syntax ntawm cov lus txib hais yog

rooj plaub hauv
qauv) sau;
...
esac

Cov qauv no yuav yog ib qho los yog ntau cov qauv (saib Cov Kab Txha uas tau piav tawm tom qab), sib cais los ntawm '' '' characters.

Grouping Commands Ua Ke

Tej zaum cov lus txib yuav raug muab tso ua ke los ntawm kev sau ntawv

(sau)

los yog

{sau;

Thawj ntawm cov executes cov lus txib hauv ib subshell. Builtin commands grouped rau hauv (daim ntawv teev) yuav tsis cuam tshuam rau lub plhaub tam sim no. Qhov thib ob daim ntawv no tsis yog rab diav rawg lwm lub plhaub yog li ntawm me ntsis. Grouping commands ua ke no txoj kev tso cai rau koj mus redirect lawv cov zis li lawv yog ib qhov kev pab cuam:

{sau nyob zoo; printf ntiaj teb \ n ""}> tos txais

Zog

Lub syntax ntawm lub ntsiab lus txhais yog

npe () hais kom ua

Ib qho kev ua haujlwm txhais tau tias yog cov lus sau; thaum tseg nws installs ib tug muaj nuj nqi npe thiab rov tawm tus txheej xwm ntawm xoom. Qhov hais kom ua yog ib daim ntawv teev npe ntawm "` {'' thiab ``} ''

Cov qhab-nees yuav raug tshaj tawm mus ua haujlwm hauv zos los ntawm kev siv cov lus txib hauv zos. Qhov no yuav tsum tshwm li thawj nqe lus ntawm kev ua haujlwm, thiab cov syntax yog

hauv zos [txawv | -] ...

Lub zos yog siv raws li cov lus tsa tau ua.

Thaum twg ib tug kuj sib txawv thiab ua rau hauv zos, nws tau txais txiaj ntsig zoo thiab xa tawm thiab chij readonly los ntawm qhov sib txawv ntawm nrog tib lub npe nyob hauv ib puag ncig, yog tias muaj ib qho. Txwv tsis pub, qhov txawv kuj yog pib ua haujlwm tsis zoo. Lub plhaub tis siv qhov chaw tawm tsam, qhov ntawd yog tias koj ua qhov txawv kuj x hauv kev ua haujlwm f, uas yog hu ua g, cov neeg ua pov thawj rau cov kuj sib txawv x ua hauv g yuav xa mus rau qhov txawv x tshaj tawm hauv f, tsis rau lub ntiaj teb no hloov npe x .

Qhov tsuas yog tshwj xeeb ntawm parameter dua tuaj yeem ua rau hauv zos yog '`-' 'Tsim'` - '' lub zos txhua lub plhaub kev xaiv uas raug hloov ntawm cov lus txib hauv kev ua haujlwm kom rov qab mus rau lawv qhov tseem ceeb thaum muaj nuj nqi rov qab.

Lub syntax ntawm cov lus txib rov qab los yog

rov qab los [tawm mus

Nws terminates tam sim no executing muaj nuj nqi. Kev rov qab yog siv raws li kev hais kom ua.

Cov qhob thiab cov qhoos kas

Lub plhaub tuav ib txheej tsis. Ib qho uas qhia tau los ntawm lub npe yog hu ua qhov txawv txav. Thaum pib, lub plhaub puv tag nrho cov tsiaj ntawv ua rau cov tsiaj ntawv khauj. Cov qhob tshiab tuaj yeem kho tau daim ntawv

npe = tus nqi

Cov kev hloov ntawm tus neeg siv yuav tsum muaj ib lub npe uas muaj cov alphabetics, numerics, thiab underscores nkaus xwb - thawj cov uas yuav tsum tsis yog cov zauv. Ib qho tseem ceeb kuj raug cim tau los ntawm tus lej lossis tus cim tshwj xeeb raws li tau piav qhia hauv qab no.

Lub Plaub Hlis Nres

Ib tus positional parameter yog qhov parameter denoted by a number (n> 0). Lub plhaub ntim cov chiv no rau qhov tseem ceeb ntawm nws cov kab kev hais cov kab lus uas ua raws li lub npe ntawm daim ntawv plhaub. Cov txheej txheem (1) builtin kuj tseem siv tau los teeb tsa lossis pib dua.

Cov Kev Ntsuas Tshwj Xeeb

Tus tshwj xeeb parameter yog qhov parameter uas qhia los ntawm ib qho ntawm cov cim tshwj xeeb nram qab no. Tus nqi ntawm cov parameter yog nyob ib sab ntawm nws lub cim.

*

Nthuav mus rau qhov tsis muaj ceem, pib ntawm ib qho. Thaum qhov kev tshwm sim tshwm sim hauv ib txoj hlua uas muaj ob-nqe lus nws nthuav dav mus rau ib qho teb nrog tus nqi ntawm txhua qhov parameter sib cais los ntawm thawj tus cwj pwm ntawm qhov IFS variable, los yog lub yog tias IFS tsis ua haujlwm.

@

Nthuav mus rau qhov tsis muaj ceem, pib ntawm ib qho. Thaum qhov kev tshwm sim tshwm sim nyob rau hauv ob-lus, txhua tus parameter positional nce raws li kev sib cav cais. Yog hais tias tsis muaj cov tsis muaj positional, cov expansion ntawm @ generates xoom cov lus, txawm tias thaum @ yog double-quoted. Qhov no txhais li cas, piv txwv li, yog $ 1 yog 'abc' 'thiab $ 2 yog `def ghi' 'ces Qq $ @ expands rau ob nqe lus:

abc def ghi

#

Nthuav tawm rau cov xov tooj ntawm cov tsis muaj tus cwj pwm.

?

Nthuav tawm rau qhov kev tawm ntawm qhov kav dej.

- (Hyphen.)

Nthuav mus rau tam sim no xaiv chij (ib tsab ntawv xaiv lus npe ua npe rau hauv ib txoj hlua) raws li tau hais tseg hauv kev thov, los ntawm kev hais kom ua, los yog implicitly ntawm lub plhaub.

$

Nthuav tawm rau tus txheej txheem ID ntawm lub plhaub invoked. Lub subshell khaws tus nqi qub $ yog nws niam nws txiv.

!

Nthuav rau tus txheej txheem ID ntawm cov lus txib tom qab tshaj tawm uas tau ua los ntawm lub plhaub tam sim no. Rau cov kav dej, tus txheej txheem ID yog qhov ntawm cov lus txib kawg hauv cov kav dej.

0 (Xoom.)

Nthuav rau lub npe ntawm lub plhaub los sis daim plhaub.

Lo lus Expansions

Lub ntsiab lus no piav qhia txog ntau lub ntsiab lus uas tau ua los ntawm cov lus. Tsis yog txhua txoj kev loj hlob ntawm txhua lo lus, raws li tau piav qhia tom qab.

Tilde expansions, parameter expansions, hloov substitutions, arithmetic expansions, thiab tsocai tshem tawm uas nyob rau hauv ib lo lus ntxiv mus rau ib qho teb. Nws tsuas yog field splitting los yog pathname expansion uas muaj peev xwm tsim tau ntau yam tswv yim los ntawm ib lo lus. Ib qho kev zam rau txoj cai no yog qhov nthuav ntawm qhov tshwj xeeb parameter @ li ntawm ob-quotes, raws li tau piav saum toj no.

Qhov kev txiav txim ntawm lo lus nthuav dav yog:

  1. Tilde Expansion, Expansion Parameter, Kev Hloov Muab Tub Ntxhais, Kev Tshawb Xyuas Ntaus (tag nrho cov no tshwm sim tib lub sijhawm).
  2. Field Splitting yog ua tiav rau ntawm cov lus teb los ntawm kauj ruam (1) tshwj tsis yog tias qhov IFS kuj txawv txav tsis tuaj.
  3. Pathname Expansion (tshwj tsis yog teeb tsa - f tseem siv tau).
  4. Tshem tawm Kev Tshem tawm.

Tus $ ua cim yog siv los ua kom paub ntau ntxiv txog qhov kev hloov, qhov kev hloov ua kev hloov, lossis kev ntsuas xyuas.

Tilde Expansion (hloov ib tus neeg siv & tsev s directory)

Ib lo lus pib nrog ib tus cwj pwm unquoted tilde (~) yog siv cov lus qhia ntxiv. Tag nrho cov cim mus rau ib tug luaj (/) los yog qhov kawg ntawm lo lus raug kho raws li tus username thiab raug hloov nrog tus neeg siv tsev cov npe. Yog hais tias tus username yog ploj lawm (raws li hauv ~ / foobar) tilde hloov nrog tus nqi ntawm lub TSIS TAU TUS TSO TAWS TSEV (tus tam sim no tus neeg siv lub tsev directory).

Parameter Expansion

Cov hom ntawv rau qhov kev nthuav dav ntxiv yog raws li nram no:

qhov kev qhia muaj tag nrho cov cim mus txog rau qhov kev sib txuam '`}' 'uas muaj kev rov qab los ntawm ib tug backslash los yog tsis pub dhau ib txoj hlua hais, thiab cov cim hauv kev nkag teb chaws ntawm kev xam pom, kev hloov kev hloov, thiab cov nce kev hloov, tsis raug soj ntsuam hauv kev txiav txim siab txuam '`}' '

Lub simplest daim ntawv rau qhov kev nthuav tawm parameter yog:

Tus nqi, yog tias muaj, ntawm cov parameter yog hloov.

Lub npe lub cim los sis lub cim muaj peev xwm yuav muab xa nrog rau kev kos duab, uas yog kev xaiv tsa tshwj tsis yog tias tsis muaj ntau tshaj ib tug zauv los yog thaum twg tus cim tau ua raws li tus cim uas txhais tau tias yog ib feem ntawm lub npe. Yog tias qhov kev txwv loj tshwm sim hauv cov quotes ob:

  1. Pathname expansion tsis tau ntawm cov ntsiab lus ntawm qhov kev nthuav dav.
  2. Teb splitting tsis tau ntawm qhov kev tshwm sim ntawm qhov kev nthuav dav, nrog rau cov kos @.

Tsis tas li ntawd, qhov kev nthuav tawm parameter tuaj yeem hloov tau los ntawm kev siv ib hom hauv qab no.

Siv qhov tseem ceeb. Yog tias tus parameter tsis ua haujlwm lossis thov, qhov kev hloov ntawm lo lus yog hloov; txwv tsis pub, tus nqi ntawm parameter yog hloov.

Muab tus nqi zoo. Yog tias tus parameter tsis ua haujlwm lossis thov, qhov ntxiv ntawm lo lus yog muab rau qhov ntsuas. Nyob rau txhua rooj plaub, qhov kawg ntawm tus parameter yog hloov. Tsuas yog cov qhob, tsis yog qhov tsis muaj lossis tsis muaj kev tshwj xeeb, tuaj yeem muab ua li no.

Qhia yuam kev yog tias thov lossis tsis ua haujlwm. Yog tias tus parameter tsis ua haujlwm lossis tsis thov, qhov nthuav ntawm lo lus (lossis cov lus qhia tias nws tsis ua haujlwm yog tias lo lus rho tawm) sau rau qhov yuam kev thiab lub plhaub tawm nrog lub sijhawm tsis muaj kev tawm tsam. Txwv tsis pub, qhov value ntawm parameter yog hloov. Ib qho kev sib tham sib plhaub tsis xav tawm.

Siv Tus Nqi Ntxiv. Yog tias tus parameter tsis ua haujlwm lossis thov, thov muab hloov; txwv tsis pub, qhov nthuav ntawm lo lus yog hloov.

Hauv qhov kev ntsuas loj uas tau pom yav tas los, kev siv cov nyuv rau hauv hom kev tshwm sim rau qhov kev ntsuas rau ib qho parameter uas tsis ua haujlwm lossis thov; omission ntawm cov nyuv qhov kuaj tau rau ib qho kev ntsuas uas tsuas yog ua tsis tau.

String Length. Qhov ntev ntawm cov cim ntawm tus nqi ntawm parameter.

Cov nram qab no plaub ntau hom kev txwv ntxiv rau kev ua rau kev ua cov substring. Nyob rau hauv txhua qhov teeb meem, kev sib piv cov lus cim (saib Kab Txha Qub), ntau tshaj qhov qhia txog kev qhia, yog siv los ntsuas cov qauv. Yog tias tus parameter * los yog @, qhov tshwm sim ntawm qhov kev nthuav tawm tsis muaj tseeb. Kev hais kom tag nrho cov lus qhia txog kev loj hlob ntxiv hauv cov quotes tsis ua rau cov plaub hom kab hauv qab ntawm cov qauv cim tau hais, txawm tias quoting cov cim nyob rau hauv cov kev zawm hniav no muaj txiaj ntsig.

Tshem Tshem Tsawg Tshem Tsawg Tshem Tawm. Lo lus nthuav dav kom tsim tau ib tug qauv. Qhov kev hloov ua kom pom ntxiv ces ua rau qhov parameter, nrog rau feem me tshaj plaws ntawm qhov SRI raug sib koom ua ke los ntawm tus qauv deleted.

Tshem Tsawg Tshem Tawm Tsawg Tshem Tawm. Lo lus nthuav dav kom tsim tau ib tug qauv. Qhov kev loj hlob ntawm cov parameter ces ua rau cov parameter, nrog rau feem ntau ntawm cov SRI sib npaug los ntawm tus qauv deleted.

Tshem Tshem Tsawg Tshaj Tsawg Tshooj. Lo lus nthuav dav kom tsim tau ib tug qauv. Qhov kev loj hlob ntawm qhov parameter ces ua rau cov parameter, nrog rau feem tsawg ntawm tus prefix matched los ntawm tus qauv deleted.

Tshem Tsawg Tshaj Tawm Tsawg Tshem Tawm. Lo lus nthuav dav kom tsim tau ib tug qauv. Qhov kev loj hlob ntawm cov parameter ces ua rau cov parameter, nrog ntau seem ntawm qhov prefix matched los ntawm tus qauv deleted.

Hais kom Hloov

Kev hais kom hloov chaw tso cai tso cai rau qhov kev txiav txim kom muaj kev hloov ntawm qhov chaw ntawm lub npe nws tus kheej. Kev hais kom hloov txoj kev hloov no tshwm sim thaum uas muaj lus sam fwm raws li hauv qab no:

$ (hais kom ua)

los yog Po `` backquoted '' version Pc:

'hais kom ua'

Lub plhaub nthuav tawm cov lus txib hloov los ntawm executing txib hauv subshell ib puag ncig thiab hloov cov lus txib hloov nrog tus qauv tso tawm ntawm cov lus txib, tshem sequences ntawm ib los sis ntau dua s thaum kawg ntawm qhov kev hloov chaw. (Embedded s ua ntej qhov xaus ntawm cov zis tsis tshem tawm; txawm li cas los, thaum lub caij tawg, lawv yuav muab txhais ua s, nyob ntawm qhov txiaj ntsim ntawm IFS thiab quoting uas siv tau.)

Arithmetic Expansion

Arithmetic expansion muab lub tswv yim rau kev ntsuam xyuas ib qho kev qhia tawm thiab hloov nws cov nqi. Cov hom ntawv nthuav dav yog li nram qab no:

$ ((qhia))

Qhov kev qhia yog kho li yog nws nyob hauv ob nqe lus, tsuas yog tias ob-qhov kev tawm tsam hauv kev qhia tsis raug kho tshwj xeeb. Lub plhaub nthuav dav rau txhua tus tokens hauv qhov kev qhia rau qhov kev loj hlob ntxiv, qhov kev hloov kev hloov, thiab daim ntawv tshem tawm.

Tom ntej no, lub plhaub kam ua li no yog ib qho kev qhia thiab hloov cov nqi ntawm qhov kev qhia.

Dawb Chaw Splitting (Field Splitting)

Tom qab kev hloov ua tiav, ua haujlwm hloov chaw, thiab cov ntsiab lus ntxiv rau cov kev soj ntsuam ntawm cov khoom siv thiab cov kev hloov uas tsis tshwm sim hauv ob-quotes rau kev cais splitting thiab ntau lub teb yuav ua rau.

Lub plhaub rau txhua tus cim ntawm IFS raws li lub ntsiab lus thiab siv cov kev txiav txim siab los faib cov txiaj ntsim ntawm qhov kev tawm tsam thiab kev ua haujlwm hloov chaw.

Pathname Expansion (Cov Ntaub Ntawv Npe Tawm)

Tshwj tsis yog - f chij, cov ntaub ntawv lub npe yog ua tiav tom qab lo lus cais ua tiav. Txhua lo lus yog saib raws li cov qauv ntawm cov qauv, sib cais los ntawm slashes. Cov txheej txheem ntawm txoj kev loj hlob hloov cov lus nrog cov npe ntawm txhua cov ntaub ntawv uas muaj npe uas nws muaj peev xwm ua tau los ntawm kev hloov txhua tus qauv nrog ib txoj hlua uas ua raws li cov qauv teev tseg. Muaj ob txoj kev txwv rau qhov no: ua ntej, ib qho qauv tsis tuaj yeem phim ib txoj hlua uas muaj ib txoj hlua, thiab qhov thib ob, qhov txawv tsis tuaj yeem phim ib txoj hlua pib lub sijhawm tshwj tsis yog thawj tus cwj pwm ntawm tus qauv. Tshooj txuas ntxiv piav qhia cov qauv siv rau ob qho tib si Pathname Expansion thiab cov lus txib (1).

Plhaub Tus Qauv

Ib tug qauv muaj cov cim zoo li, uas sib npaug rau lawv tus kheej, thiab cov cim ua yeeb yam. Cov cim-meta no yog '`!' '` `*' '` `??' 'Thiab' \" 'Cov cim no tsis tau lawv cov lus tshwj xeeb yog hais tias lawv hais. Thaum hais kom ua los yog hloov txoj kev sib hloov tseem tsis tau muaj thiab cov cim nyiaj los yog rov qab quotes tsis yog ob nqe lus, qhov nqi ntawm qhov sib txawv los yog cov lus tso tawm ntawm cov lus txib yog luam rau cov cim no thiab lawv muab ua yeeb yam.

Ib tus cim ("` * '') ua yeeb yam txhua txoj hlua ntawm cov cim. Lo lus nug kos cim txhua tus cim. Ib sab bracket ("` '') qhia txog tus cwj pwm hauv chav kawm. Qhov kawg ntawm lub cim hoob yog qhia los ntawm ('`)' ') yog hais tias qhov` `] yog qhov uas ploj lawm ces qhov` `' match nrog '' ['' es tsis yog qhia txog tus cwj pwm hauv chav kawm. Ib tus cwj pwm hauv chav kawm yog qhov sib txawv ntawm cov cim ntawm lub nkhaus square. Ib cov cim ntawm cov cim yuav raug sau tseg tias siv lub npe rho tawm. Tus cwj pwm hauv chav kawm yuav tsum tau ua kom tiav los ntawm kev ua tus taw tes rau tus cwj pwm thawj tus cwj pwm hauv chav kawm.

Yuav kom muaj qhov ``] '' hauv ib tus cwj pwm, ua rau thawj tus cwj pwm teev (tom qab lub '!!' 'Yog tias muaj). Xws li sau ntawv cim npe, ua tus thawj zaug los sis tus cwj pwm cim teev tseg

Builtins

Tshooj no teev cov kev cai uas tsim tsa uas tau ua vim lawv yuav tsum tau ua qee yam lag luam uas tsis tuaj yeem ua tau los ntawm kev sib cais. Ntxiv nrog rau cov no, muaj ob peb lwm cov lus txib uas tau ua rau kev ua tau zoo (piv txwv li ncha 1).

:

Ib nqe lus txib rov qab uas rov tawm tus nqi tawm 0 tawm (tseeb) tawm.

. cov ntaub ntawv

Cov lus txib hauv cov ntaub ntawv qhia raug nyeem thiab raug tua los ntawm lub plhaub.

alias [ name [ = string ]]]

Yog tias lub npe = hlua teev, lub plhaub npog lub npe ntawm lub npe nrog cov hlua muaj nqis Yog tias lub npe tsuas yog teev, tus nqi ntawm lub npe tseeb yog luam tawm. Tsis muaj kev sib ceg, cov kev cai hauv lub tuam tsev ua tus sau cov npe thiab qhov tseem ceeb ntawm txhua tus neeg lub npe (saib cov tsis pom kev )

bg [ txoj hauj lwm] ...

Mus ntxiv cov hauj lwm uas tau teev (lossis txoj hauj lwm tam sim no yog tias tsis muaj cov hauj lwm) tom qab.

hais kom ua command arg ...

Execute tau hais kom ua tiav kev hais kom ua. (Qhov no yog qhov tseem ceeb thaum koj muaj lub plhaub ua haujlwm nrog tib lub npe raws li kev hais kom ua.

cd [cov npe ]

Hloov mus rau lub npe teev (default $ HOME) Yog tias kev nkag teb chaws rau CDPATH tshwm nyob rau ntawm ib puag ncig ntawm cd hais kom ua los yog lub plhaub CDPATH kuj sib txawv thiab cov npe lub npe tsis pib nrog luaj, ces cov npe hauv CDPATH yuav raug tshawb rau lub npe teev. Lub hom phiaj ntawm CDPATH yog tib yam li ntawm PATH Nyob rau hauv ib qho kev sib tham hauv plhaub, tus cd hais yuav sau tawm lub npe ntawm cov npe uas nws tau hloov mus rau yog qhov txawv ntawm lub npe uas tus neeg siv tau muab. Cov no tej zaum yuav txawv dua vim hais tias CDPATH mechanism siv los yog vim muaj lub cim qhov cim tau hla.

eval hlua ...

Hais tag nrho cov lus sib ceg nrog qhov chaw. Tom qab ntawd rov-parse thiab ua tus hais kom ua.

exec [ hais kom ua arg ... ]

Yog tias tsis tau hais kom ua, lub plhaub txheej txheem yuav hloov nrog qhov kev qhia (uas yuav tsum yog ib qhov kev pab cuam tiag tiag, tsis yog lub plhaub los ua haujlwm). Cov kev hloov ntawm cov lus txib exec yog cim tas li, kom lawv tsis ua raws li cov lus txib exec ua tiav.

tawm [ tawm tawm ]

Terminate plhaub txheej txheem. Yog tias muab tawm rau tus menyuam nqa tawm nws yog siv tawm ntawm lub plhaub; txwv tsis pub tawm ntawm tus txheej txheem ua ntej siv.

export npe ...

export -p

Cov npe ntawm cov npe yog raug xa tawm kom lawv yuav tshwm nyob rau ntawm ib puag ncig ntawm cov lus txib tom ntej. Tib txoj kev rau un-export ib tug kuj sib txawv thiab yog ua kom tsis tau nws. Lub plhaub tso cai rau tus nqi sib txawv ntawm qhov yuav tsum tau teem rau tib lub sijhawm uas nws tau xa tawm los ntawm kev sau ntawv

export name = tus nqi

Uas tsis muaj kev sib ceg cov lus txib export sau cov npe ntawm tag nrho cov exported zog. Nrog rau qhov kev xaiv - p xaiv qhov tso zis yuav raug tsim kom haum rau kev siv sib tham tsis siv.

fc [- e editor ] [ thawj [ kawg ]]

fc -l [- nr ] [ thawj [ kawg ]]

fc -s [ qub = tshiab ] [ thawj ]

Lub npe fc tau kho, los yog kho thiab rov ua tiav, commands twb nkag mus rau ib lub plhaub sib tham sib.

-e editor

Siv cov editor hu ua editor los hloov cov lus txib. Txoj hlua editor yog ib lo lus txib, uas yuav tau tshawb ntawm PATH kuj sib txawv thiab. Tus nqi hauv FCEDIT kuj sib txawv thiab siv raws li lub sijhawm thaum - e tsis teev. Yog FCEDIT tsis tau los sis tsis ua haujlwm, qhov txawv ntawm qhov EDITOR kuj sib txawv. Yog tias EDITOR yog thov lossis tsis ua haujlwm, ed (1) yog siv los ua tus editor.

-l (ell)

Sau cov lus txib es tsis txhob mus koom nrog tus editor. Cov lus txib sau rau hauv cov kab ke uas tau qhia los ntawm cov thawj thiab cov neeg ua haujlwm dhau los, raws li cuam tshuam los ntawm - r nrog txhua nqe lus txib ua ntej los ntawm tus xov tooj.

-n

Suppress hais kom ua zauv thaum teev nrog -l.

-r

Rov qab hais txog qhov kev txiav txim ntawm cov lus txib (nrog - l lossis kho (nrog rau qhov tsis yog - l tsis - s)

-S

Re-execute qhov hais kom ua tsis tau invoking ib editor.

thawj

kawg

Xaiv cov lus txib los sau lossis hloov. Tus naj npawb ntawm cov lus txib yav dhau los uas tuaj yeem nkag tau raug txiav txim los ntawm tus nqi ntawm HISTSIZE kuj sib txawv thiab . Tus nqi ntawm thawj zaug los yog xeem los yog ob qho tib si yog ib qho ntawm cov hauv qab no:

[+] tus naj npawb

Tus nab npawb zoo uas sawv cev ntawm tus zauv txuas lus; cov zauv zauv tuaj yeem tshwm nrog qhov kev xaiv - l .

-number

Tus zauv negative number uas sawv cev rau qhov kev hais kom ua tiav cov lus txib yav dhau los. Piv txwv, -1 yog qhov kev txiav txim yav dhau los.

txoj hlua

Ib txoj hlua uas qhia cov lus tshaj tawm uas nyuam qhuav nkag tau ua los ntawm txoj hlua ntawd. Yog hais tias tus laus = kev ua haujlwm tshiab kuj tsis tau hais nrog - s daim ntawv ntawm cov thawj txoj haujlwm tsis tuaj yeem muaj cov ntawv kos npe sib npaug.

Cov nram qab no ib puag ncig lub zog ua rau kev tua ntawm fc:

FCEDIT

Lub npe ntawm tus editor siv.

HISTSIZE

Cov naj npawb ntawm cov lus txib dhau los uas yoojyim.

fg [ txoj hauj lwm ]

Tshem tawm txoj hauj lwm uas tau teev tseg los yog txoj hauj lwm tam sim no mus rau qhov kev xav tau.

getopts optstring var

POSIX getopts hais kom ua, tsis yog yuav tsum tsis meej pem nrog lub Tswb Labs - txais tau getopt (1).

Qhov kev sib cav thawj zaug yuav tsum yog cov ntawv sau, txhua tus ntawm cov uas yuav tsum tau xaiv ua raws li los ntawm ib tug nyuv los qhia tias kev xaiv yuav tsum muaj kev sib cav. Cov kab lus kuj sib txawv thiab teev cia rau qhov kev xaiv parsed.

Cov lus hais kom tau txais kev pabcuam tshem tawm qhov kev pabcuam qub (1) vim nws tuav cov nqe lus uas muaj cov ntsiab lus.

Cov neeg tau txais kev pabcuam tau siv los nrhiav cov kev xaiv thiab lawv cov lus los ntawm daim ntawv teev cov tsis tau. Thaum invoked, getopts tso cov nqi ntawm qhov kev xaiv tom ntej los ntawm txoj hlua xaiv nyob rau hauv daim ntawv ntawm kab sib txawv plhaub tau teev los ntawm var thiab nws qhov Performance index hauv kab sib txawv plhaw OPTIND Thaum lub plhaub invoked, OPTIND yog pib rau 1. Rau txhua qhov kev xav tau qhov kev sib cav, cov neeg tau txais kev pabcuam tau muab tso rau hauv cov kabmob plhaw OPTARG Yog tias kev xaiv tsis raug tso cai rau hauv qhov kev pom zoo ces OPTARG yuav tsis ua haujlwm.

Optstring yog ib txoj hlua ntawm kev xaiv cov tsiaj ntawv. Yog tias ib tsab ntawv ua raws li los ntawm ib txoj hnyav, qhov kev xaiv ntawd yuav tsum muaj kev sib cav uas yuav los sis tsis muab cais tawm ntawm qhov chaw dawb. Yog hais tias ib qho kev xaiv ua cim tsis pom qhov twg qhov kev xav tau, getopts yuav teev cov var variab rau ib lub ''? '' Getopts yuav ces unset OPTARG thiab sau cov zis los txheem yuam kev. Los ntawm specifying ib nyuv yog thawj tus cwj pwm ntawm optstring tag nrho cov teeb meem yuav tsum ignored.

Tus nqi ntawm nonzero yuav xa rov qab thaum xaiv qhov kawg. Yog hais tias tsis muaj cov lus sib tw ntxiv, cov neeg tau txais kev tso cai yuav tau muaj qhov tshwj xeeb xaiv, '' '' txwv tsis pub, nws yuav teev var rau ``? ''

Tsab zauv hauv qab no qhia tau hais tias ib tus neeg twg yuav ua tus txheej txheem rau ib qho kev hais kom muaj peev xwm xaiv [a] thiab [b] thiab qhov kev xaiv [c] uas yuav tsum muaj kev sib cav.

thaum tau txais abc: f
ua
case $ f hauv
ib qho | b) chij = $ f ;;
c) carg = $ OPTARG;
\?) echo $ USAGE; tawm 1;
esac
ua li cas
ua haujlwm 'expr $ OPTIND - 1`

Txoj cai no yuav lees txais ib qho twg hauv qab no kom zoo li:

cmd -carg ua ntaub ntawv thov
cmd -a -c arg file file
cmd -carg -a ua ntaub ntawv thov
cmd -a -carg - ua ntaub ntawv thov

hash -rv hais kom ua ...

Lub plhaub tswj hwm lub rooj sib zog uas yog nco txog cov chaw ntawm cov lus txib. Uas tsis muaj cov lus tsis tshua muaj, cov lus txib hash tau luam tawm cov lus ntawm cov lus no. Nkag ntawv uas tsis tau ntsia txij li qhov kawg cd hais kom ua nrog cim nrog lub hnub qub; nws yog qhov ua tau rau cov npe nkag no yuav tsis muaj tseeb.

Nrog cov nqe lus, cov lus txib hash tau tshem tawm cov lus txib ntawm lub rooj sib sau hash (tshwj tsis yog lawv muaj kev khiav haujlwm) thiab mam nrhiav lawv. Nrog rau - v xaiv, hash prints qhov chaw ntawm lub commands raws li nws pom lawv. Qhov - r kev xaiv ua qhov kev hash hash rho tawm tag nrho cov nkag rau hauv lub rooj seem hash tshwj tsis yog kev khiav dej num.

txoj hauj lwm [ txoj hauj lwm ]

Sau cov txheej txheem tus txheej txheem ntawm cov txheej txheem hauv txoj haujlwm. Yog tias txoj haujlwm tsis sib thooj, tshem tawm txoj haujlwm tam sim no.

hauj lwm

Cov lus txib no sau tawm tag nrho cov txheej txheem tom qab uas yog cov me nyuam hauv plhaub txheej txheem tam sim no.

pw

Sau cov npe tam sim no. Cov kab lus builtin yuav txawv ntawm qhov kev pab cuam ntawm tib lub npe vim hais tias cov lus txib builtin remembers dab tsi cov directory tam sim no es nws tsis thas nws txhua lub sijhawm. Qhov no ua rau nws sai dua. Txawm li cas los xij, yog hais tias cov npe tam sim no raug muab kho dua, cov txheej txheem kho ntawm lub txua hauv phab ntsa yuav tseem sau cov qub npe rau cov npe.

nyeem [- p prompt ] [- r ] kuj sib txawv thiab ...

Qhov kev tshwm sim yog luam tawm yog hais tias qhov kev xaiv - p xaiv tau thiab cov txheej txheem txheem yog lub davhlau ya nyob twg. Tom qab ntawd muaj ib txoj kab los ntawm cov txheej txheem tawm tswv yim. Cov kev qhia tshiab yog rho tawm los ntawm kab thiab cov kab yog cais raws li tau piav qhia nyob rau hauv seem ntawm lo lus cais saum toj no, thiab cov khoom raug muab tso rau cov kev hloov hauv kev txiav txim. Tsawg kawg ib qhov txawv kuj yuav tsum tau sau tseg. Yog tias muaj ntau ntau dua li cov tsiaj ntawv, cov khoom seem (nrog rau cov cim hauv IFS uas tau muab cais tawm) raug xa mus rau qhov sib txawv kawg. Yog hais tias muaj ntau yam ntxiv dua li cov ntawv, qhov seem ntxiv tau muab tso rau hauv txoj hlua thov. Cov ntaub ntawv uas tau nyeem tau yuav qhia tau zoo yog tias EOF tsis tuaj txog ntawm cov tswv yim, thaum twg tsis ua haujlwm rov qab.

Yog lub neej ua ntej, tshwj tsis yog qhov kev xaiv ntawm r - r , tus backslash `\ '' ua raws li kev khiav tawm kev ua, ua rau cov cim nram qab no yuav tsum tau kho cia. Yog hais tias tus backslash taug qab los ntawm tus newline, cov nraub qaum ris thiab tus tshiab yuav muab deleted.

readonly npe ...

readonly -p

Cov npe uas tau teev muaj cim ua kev nyeem ntawv nkaus xwb, yog li ntawd lawv tsis tuaj yeem hloov kho lossis tsis hloov. Lub plhaub tso cai rau tus nqi ntawm ib qho txawv txav kom tau tib lub sij hawm nws yog cim nyeem los ntawm sau ntawv xwb

readonly lub npe = tus nqi

Tsis muaj kev sib cav cov lus qhuab qhia los ntawm cov ntawv nyeem tag nrho cov ntawv nyeem xwb. Nrog rau qhov kev xaiv - p xaiv qhov tso zis yuav raug tsim kom haum rau kev siv sib tham tsis siv.

teeb tsa {{- kev xaiv | + kev xaiv | - arg ... ]

Cov lus txib txheej tau ua peb qho haujlwm sib txawv.

Tsis muaj kev sib ceg, nws teev cov txiaj ntsim ntawm txhua tus tsiaj ntawv.

Yog hais tias muaj kev xaiv, nws teev cov kev cai xaiv cov chij, los yog ua haujlwm rau lawv raws li tau hais hauv seem hu ua Sx Argument List Processing.

Qhov peb siv ntawm cov lus txib txheej txheem yog los teeb lub qhov tseem ceeb ntawm lub plhaub qhov chaw tsis yog rau qhov kev cai tswjhwm args. Txhawm kom hloov tsis tau qhov tsis muaj qhov tsis hloov tsis tau xaiv, siv qhov `` - '' raws li qhov sib cav thawj zaug. Yog hais tias tsis muaj args, tam sim no cov lus txib txheej txheem yuav tshem tag nrho cov kev tsis sib haum (sib npaug rau executing ' ua haujlwm $ #.' '

kuj sib txawv li cas

Muab tus nqi rau qhov txawv. (Feem ntau nws yog qhov zoo los sau cov nqi txawv = qhov nqis es tsis siv cov setvar setvar yog siv los ntawm kev ua haujlwm uas muab qhov tseem ceeb rau cov haujlwm uas muaj npe dhau los.)

ua haujlwm [ n ]

Hloov cov tsis muaj chaw nyob n. Kev hloov teev cov nqi ntawm $ 1 rau tus nqi ntawm $ 2 tus nqi ntawm $ 2 rau tus nqi ntawm $ 3 thiab ntxiv rau, txo tus nqi ntawm $ # ntawm ib. Yog n muaj ntau tshaj qhov tsis muaj tus cwj pwm tsis txaus, hloov yuav muab cov lus yuam kev tawm, thiab tawm nrog kev rov qab los 2.

sij hawm

Sau cov neeg siv khoom siv thiab lub sijhawm rau lub plhaub thiab rau cov txheej txheem khiav tawm ntawm lub plhaub. Tus txheej txheem xa rov qab yog 0.

trap kev teeb liab ...

Ua rau lub plhaub rau parse thiab ua txhaum kev txiav txim thaum muaj ib yam ntawm cov cim tseg tau txais. Cov cim qhia tau hais tseg los ntawm tus xov tooj npawb. Yog qhov teeb meem yog 0 qhov kev txiav txim yuav raug tua thaum lub plhaub tawm. kev txiav txim tej zaum yuav thov los yog `` - '' tus qub ua rau lub teeb liab hais tias yuav tsum raug ignored thiab tom kawg ua rau qhov kev txiav txim ua ntej yuav raug coj. Thaum lub plhaub rab phom tawm ntawm ib lub subshell , nws pib khawb (tab sis tsis muaj qhov tsis pom) cov teeb tseg rau qhov kev ua txhaum. Qhov kev hais ua kom tsis txhob muaj kev cuam tshuam rau cov teeb meem uas tau pom ntawm nkag mus rau lub plhaub.

hom [ npe ... ]

Txhais txhua lub npe ua ib lo lus txib thiab luam qhov kev daws teeb meem ntawm kev hais kom ua. Cov tswv yim tseem ceeb yog: lo lus tseem ceeb hauv plhaub, txuag, plhaub tau ua , hais kom ua, taug qab taug cai thiab tsis pom. Rau cov neeg tuaj yeem ua cov ntawv cog lus txhawb ntxiv; rau cov lus txib thiab taug qab cov npe ntawm cov lus txib tiav.

ulimit [- H-S ] [- a -tfdscmlpn [ tus nqi ]]

Nug txog los yog teeb tsa qhov nyuaj los yog cov kev txwv ntawm cov txheej txheem los yog tsim cov kev txwv tshiab. Kev xaiv ntawm qhov txwv tsis pub (uas tsis muaj txoj cai tau ua txhaum cai, thiab tsis muaj peev xwm yuav tsum tau tsa ceg thaum nws raug txo qis) thiab qhov muag txwv tsis pub ua haujlwm (uas ua rau muaj kev qhia tab sis tsis tas tua, thiab yuav raug tsa) cov chij:

-H

teem caij lossis nug txog cov kev txwv nyuab

-S

teem caij lossis nug txog kev txwv me. Yog tias tsis yog - H tsis yog - S tau teev, qhov muag txwv tsis pub tshaj tawm lossis ob qhov kev txwv. Yog tias ob leeg teev, qhov kawg ib tus yeej.

Cov kev txwv yuav tsum tau interrogated los yog teem, ces, yog xaiv los ntawm specifying ib yam ntawm cov chij:

-a

qhia tag nrho cov kev txwv tam sim no

-t

qhia lossis teem caij rau CPU sij hawm (hauv vib nas this)

-f

qhia lossis teev cov kev txwv ntawm cov ntaub ntawv ntau tshaj plaws uas tsim tau (hauv 512-byte blocks)

-d

qhia los yog teev cov kev txwv ntawm cov ntaub ntawv me me ntawm cov txheej txheem (hauv kilobytes)

-S

qhia lossis tsim kom muaj qhov txwv ntawm qhov pawg me me ntawm cov txheej txheem (hauv kilobytes)

-c

qhia lossis tsim kom muaj kev txwv rau qhov loj tshaj plaws hauv cov dej ciav hlau uas tsim tau (hauv 512-byte blocks)

-m

qhia lossis tsim kom muaj kev txwv ntawm tag nrho lub cim xeeb uas siv tau los ntawm kev siv (hauv kilobytes)

-l

qhia lossis tsim kom muaj kev txwv ntau npaum li cas nco tau tus txheej txheem ntsuas tau nrog mlock (2) (hauv kilobytes )

-p

qhia lossis tsim kom muaj cov kev txwv ntawm tus nab npawb ntawm cov txheej txheem no tus neeg siv tau ntawm ib zaug

-n

qhia lossis teev tseg qhov kev txwv ntawm tus naj npawb cov ntaub ntawv tus txheej txheem tuaj yeem qhib ib zaug

Yog hais tias tsis muaj cov no teev, nws yog qhov txwv ntawm cov ntaub ntawv loj uas pom los sis teev. Yog hais tias tus nqi teev, qhov txwv ntawd teev rau tus lej ntawd; txwv tsis pub qhov txwv tam sim no tso tawm kom pom.

Cov kev txwv ntawm kev ua raws cai yuav tuaj yeem tso tawm los yog teem caij siv lub sysctl (8).

umask [ npog ncauj ]

Teem cov nqi ntawm kev ntsuas (saib umask (2)) mus rau qhov nqi nplua nuj. Yog hais tias qhov kev sib cav tsis muab rho tawm, qhov nqi ntawm cov nqi ntawv yog luam tawm.

unalias [- ib tug ] [ npe ]

Yog lub npe teev, lub plhaub tshem tawm cov cai. Yog tias - ib daim ntawv teev, tag nrho cov neeg txawv tebchaws raug tshem tawm.

unset lub npe ...

Cov kev cai tswjfwm thiab kev khiav haujlwm yog cov tsis ua haujlwm thiab tsis muaj kev txwv. Yog tias lub npe muab sib txawv rau ob qho tib si thiab qhov ua haujlwm, ob qhov sib txawv thiab qhov kev ua haujlwm tsis ua haujlwm.

tos [ txoj hauj lwm ]

Tos rau qhov hauj lwm uas tau teev tseg kom tiav thiab xa tawm qhov txheej txheem tawm ntawm txoj haujlwm dhau los hauv txoj haujlwm. Yog tias qhov kev sib cav tsis muab rho tawm, tos tag nrho cov hauj lwm kom tiav thiab qhov xa rov qab tawm ntawm kev xoom.

Hais kom ua Editing

Thaum sh yog siv interactively ntawm lub davhlau ya nyob twg, cov lus txib tam sim no thiab cov lus qhuab qhia txog yav dhau los (saib fc hauv Sx Builtins) muaj peev xwm muab kho tau siv vi-mode command-line editing. Cov hom no siv cov lus txib, uas tau piav rau hauv qab no, zoo ib yam li cov npe ntawm cov txiv neej tau hais nyob hauv vi txiv neej. Qhov hais kom ua 'teeb' -o vi enables hom tsim kho thiab muab tso rau hauv vi insert hom. Nrog vi-hom enabled, sh tau hloov ntawm nruab hom thiab hais kom ua hom. Tus editor tsis tau piav nyob rau hauv daim ntawv no tag nrho, tab sis yuav nyob rau hauv ib daim ntawv tom qab. Nws yog zoo li vi: typing Aq ESC yuav muab pov rau koj mus rau kev hais kom ua VI kev hais kom ua hom. Ntaus ncaj xa thaum nyob rau hauv kev hais kom ua hom yuav dhau txoj kab mus rau lub plhaub.

Tseem ceeb: Siv tus txiv neej hais kom ua ( % tus txiv neej ) seb qhov kev hais kom raug siv hauv koj lub computer.