Sh - Linux Command - Kev hais ua haujlwm Unix

NPE

bash - GNU Bourne-dua plhaub

SYNOPSIS

bash [xaiv] [cov ntaub ntawv]

KEV POM ZOO

Bash yog txhais tau cov lus txhais lus uas txhais tau hais tias siv executes lus nyeem los ntawm cov tswv yim tawm lossis los ntawm cov ntaub ntawv. Bash kuj sib txuas ntxiv cov yam ntxwv tseem ceeb ntawm Korn thiab C shells ( ksh thiab csh ).

Bash yog tsim los ua raws li kev qhia ntawm IEEE POSIX Plhaub thiab cov cuab yeej tawm (IEEE Working Group 1003.2).

XAIV

Ntxiv nrog rau ib cov cim cim xeeb ua cim sau hauv cov lus piav qhia ntawm cov txheej txheem kev teeb tsa builtin, bash txhais cov kev xaiv nram qab no thaum nws raug xa mus:

-c hlua

Yog hais tias lub -c xaiv tam sim no, ces cov lus txib tau nyeem ntawm txoj hlua . Yog hais tias muaj cov lus sib tham tom qab txoj hlua , lawv raug xa mus rau qhov tsis muaj ceem, pib nrog $ 0 .

-i

Yog hais tias qhov kev xaiv -i yog tam sim no, lub plhaub yog sib tham sib .

-l

Ua bash ua ib yam li yog nws tau raug hu raws li tus ID nkag mus lub plhaub (saib INVOCATION hauv qab).

-r

Yog tias qhov -r xaiv tuaj, lub plhaub tau txwv tsis pub (saib TXHEEJ XWM hauv qab).

-S

Yog hais tias qhov kev xaiv -s yog muaj, los yog tsis muaj cov lus nyob tom qab xaiv ua, ces cov lus txib tau nyeem ntawm cov txheej txheem tawm tswv yim. Qhov kev xaiv no tso cai rau qhov tsis muaj teeb meem yuav tsum muab teev cia thaum thov ib lub plhaub sib tham.

-D

Ib daim ntawv teev tag nrho cov hlua hais ob zaug uas tau sau los ntawm $ yog luam tawm ntawm cov txheej txheem tus txheej txheem. Cov no yog cov hlua uas yuav raug rau kev txhais lus thaum lub zos tam sim no tsis yog C los yog POSIX . Qhov no implies qhov -n xaiv; tsis muaj commands yuav raug tua.

[- +] O [ shopt_option ]

shopt_option yog ib qho ntawm lub plhaub xaiv uas tau txais los ntawm lub tuam tsev ua lag luam (saib QHOV TSEV UA HAUJLWM hauv qab). Yog tias shopt_option tuaj, -O teev tus nqi ntawm qhov kev xaiv ntawd; + Nws tsis paub nws. Yog tias shopt_option tsis muaj khoom noj, cov npe thiab qhov tseem ceeb ntawm lub plhaub xaiv uas txais los ntawm cov khoom siv yog luam tawm ntawm tus qauv tso tawm. Yog hais tias tus xaiv invocation yog + O , cov zis tso tawm kom pom hauv ib hom ntawv uas tau rov qab siv dua li cov tswv yim.

A - Pib ntsais koj teeb rau qhov kawg ntawm cov kev xaiv thiab kev txwv ntxiv kev xaiv ua. Cov lus sib tham tom qab - raug kho raws li filenames thiab cov lus sib cav. Kev sib cav ntawm - sib npaug - .

Bash kuj txhais cov ntau cov cim kev ua cim. Cov kev xaiv no yuav tsum tshwm sim nyob rau ntawm kab lus hais ua ntej cov cim kev ua cim ib leeg los lees paub.

-dump-po-strings

Sib npaug rau -D , tab sis cov zis yog nyob hauv GNU gettext po (portable object) cov ntaub ntawv hom ntawv.

-dump-strings

Sib npaug rau -D .

- pabcuam

Muab cov lus qhia txog kev tso zis tso tawm thiab tawm tau zoo.

- ua ntaub ntawv thov

--rcfile file

Execute commands ntawm cov ntaub ntawv es tsis txhob siv tus txheej txheem tus kheej initialization ~ / .bashrc yog lub plhaub sib tham (saib INVOCATION hauv qab).

--login

Sib npaug rau -l .

- kev xaiv tsa

Tsis txhob siv cov ntawv nyeem GNU nyeem ntawv nyeem cov kab lus thaum lub plhaub sib tham.

- tsis pom kev

Tsis txhob nyeem cov ntaub ntawv-thoob cov ntaub ntawv pib / lwm yam / profile lossis ib yam ntawm tus kheej initialization ntaub ntawv ~ / .bash_profile , ~ / .bash_login , los yog ~ / .profile . Yog vim li cas, bash nyeem cov ntaub ntawv no thaum nws yog invoked li tus ID nkag mus plhaub (saib INVOCATION hauv qab).

- tsis tau

Tsis txhob nyeem thiab ua rau tus kheej initialization ntaub ntawv ~ / .bashrc yog hais tias lub plhaub yog sib tham sib. Qhov kev xaiv no yog nyob ntawm qhov yog vim hais tias lub plhaub yog invoked li sh .

- kawg

Hloov qhov kev coj cwj pwm ntawm qhov ntsej muag uas qhov kev ua lag luam tsis zoo los ntawm POSIX 1003.2 tus qauv kom phim cov qauv ( posix hom ).

- tsoo

Lub plhaub tau txwv (saib TXHEEJ XWM hauv qab).

--rpm-yuav tsum tau

Tsim cov npe ntawm cov ntaub ntawv uas yuav tsum tau ua rau daim ntawv plhaub khiav. Qhov no implies '-n' thiab yog nyob ntawm tib cov kev txwv li compile lub sij hawm yuam kev kuaj xyuas; Cov Backticks, [] kev xeem, thiab evals tsis parsed ces tej zaum yuav tsis tuaj yeem ua haujlwm. - sib npaug sib npaug ntawm -v .

--version

Qhia cov lus qhia txog qhov no rau ntawm qhov kev tso tawm ntawm tus qauv tso tawm thiab tawm tau zoo.

Cov lus sib cav

Yog hais tias cov lus nyob tom qab xaiv kev, thiab ob qho tsis -c tsis tau - qhov kev xaiv tau muab tau, thawj sib cav yog kwv yees tau lub npe ntawm cov ntaub ntawv uas muaj cov lus txib plhaub. Yog tias kev ntaus pob yog hu rau hauv no zam, $ 0 yog teem rau lub npe ntawm cov ntaub ntawv, thiab qhov tsis muaj tus cwj pwm tsis yog teeb tsa rau cov lus sib tham ntxiv. Bash nyeem thiab executes commands los ntawm cov ntaub ntawv no, ces tawm. Bash 's tawm txheej xwm yog qhov tawm ntawm cov lus txib kawg uas tau sau tseg hauv tsab ntawv. Yog tias tsis muaj cov lus txib, qhov kev tawm yog 0. Ib qho kev sim ua ntej los qhib cov ntaub ntawv rau hauv cov npe tam sim no, thiab, yog tias tsis muaj cov ntaub ntawv pom, ces lub plhaub nrhiav cov kev tshawb hauv PATH rau tsab ntawv.

INVOCATION

Ib tus ID nkag mus plhaub yog ib qho uas nws thawj tus cwj pwm sib cav ntawm xoom yog tus - , los yog ib tug pib nrog rau - kev xaiv kev xaiv.

Ib qho kev sib tham sib plhaub yog ib qho pib tsis muaj kev xaiv cov lus thiab tsis muaj qhov kev xaiv -c xaiv uas nws tus qauv tawm tswv yim thiab cov zis yog txuas nrog cov terminals (raws li tau txiav txim los ntawm isatty (3)), los yog ib pib nrog qhov kev xaiv. PS1 yog teem thiab $ - xam kuv yog tias pob yog sib tham, pub lub plhaub tsab ntawv los yog pib ua ntaub ntawv mus sim rau lub xeev no.

Cov nqe lus hauv qab no piav qhia li cas bash executes nws cov ntaub ntawv pib. Yog tias ib qho ntawm cov ntaub ntawv muaj nyob tab sis tsis tuaj yeem nyeem, bash hais qhia ib qho yuam kev. Tildes muab nthuav tawm rau hauv cov npe hauv qab no raws li tau hais tseg hauv qab ntawm Tilde Expansion hauv chav EXPANSION .

Thaum bash yog invoked raws li ib lub plhaub sib tham hauv lub plhaub, los yog ua ib lub plhaub tsis-sib tham nrog qhov kev xaiv - kev xaiv, nws xub nyeem thiab executes commands los ntawm cov ntaub ntawv / yam / profile , yog tias cov ntaub ntawv no tshwm sim. Tom qab nyeem ntawv ntawd, nws zoo li ~ / .bash_profile , ~ / .bash_login , thiab ~ / .profile , nyob rau hauv qhov kev txiav txim, thiab nyeem thiab executes commands ntawm tus thawj uas muaj thiab nyeem tau. Kev xaiv - kev xaiv yuav siv tau thaum lub plhaub yog pib los thaiv qhov kev coj cwj pwm no.

Thaum tus ID nkag mus plhaub tawm, bash nyeem thiab executes commands los ntawm cov ntaub ntawv ~ / .bash_logout , yog tias nws tshwm sim.

Thaum twg ib qho kev sib tham sib plhaub uas tsis yog tus ID nkag mus plhaub, pib nyeem thiab executes commands ntawm ~ / .bashrc , yog tias cov ntaub ntawv ntawd tshwm sim. Qhov no yuav raug inhibited los ntawm kev siv qhov kev xaiv - tsis xaiv. Cov ntaub ntawv xaiv --ccfile yuav yuam bash nyeem thiab ua cov lus txib ntawm cov ntaub ntawv tsis yog ~ / .bashrc .

Thaum pib ua haujlwm tsis yog kev sib tw, khiav cov ntawv plhaub, piv txwv li, nws xav txog BASH_ENV hauv qhov chaw, nws nthuav tawm nws qhov txiaj ntsig yog tias nws tshwm muaj, thiab siv cov nqi loj dua li lub npe ntawm cov ntaub ntawv nyeem thiab ua . Bash pib ua raws li cov lus hais hauv qab no:

yog tias [-n "$ BASH_ENV"]; ces. "$ BASH_ENV"; nkaus

tab sis tus nqi ntawm PATH kuj sib txawv thiab tsis yog siv los tshawb nrhiav cov ntaub ntawv lub npe.

Yog hais tias kev ntaus pob yog hu nrog sh lub npe, nws sim ua kom muaj tus cwj pwm kev pib ntawm cov keeb kwm ntawm sh kom zoo li zoo tau, thaum ua raws li tus qauv POSIX thiab. Thaum invoked ua lub plhaub tsis sib tham sib sau ntawv, los yog ib lub plhaub tsis muaj kev sib tham nrog qhov kev xaiv - kev xaiv, nws thawj zaug nyeem thiab ua cov lus txib ntawm / yam / profile thiab ~ / .profile , nyob rau hauv qhov kev txiav txim. Txoj kev xaiv - yuav tsum siv los tiv thaiv tus cwj pwm no. Thaum invoked raws li lub plhaub sib tham nrog lub npe sh , bash saib rau qhov kev hloov ntawm ENV , nthuav nws cov nqi yog tias nws tau sau tseg, thiab siv cov nqi ua dua li lub npe ntawm cov ntaub ntawv nyeem thiab ua. Vim tias lub plhaub invoked li sh tsis tau sim nyeem thiab ua cov lus txib los ntawm lwm cov ntaub ntawv startup, qhov kev xaiv --rcfile tsis muaj cov nyhuv. Ib lub plhaub tsis sib tham nrog invoked nrog rau lub npe sh tsis sim nyeem lwm cov ntaub ntawv startup. Thaum invoked li sh , bash nkag rau posix hom tom qab pib ntaub ntawv pib.

Thaum tawm pob yog pib hauv posix hom, xws li nrog qhov kev xaiv ua qhov kev xaiv kab lus, nws ua raws li POSIX tus qauv rau cov ntaub ntawv pib. Hauv hom no, sib tham sib shells nthuav cov ENV kuj sib txawv thiab cov lus txib tau nyeem thiab raug tua los ntawm cov ntaub ntawv uas nws lub npe yog qhov muab nthuav tawm. Tsis muaj lwm cov ntaub ntawv pib nyeem.

Bash npaj txiav txim siab thaum nws tseem tab tom khiav ntawm lub plhaub ntom kab nrib , feem ntau yog rshd . Yog bash txiav txim tias nws yog khiav los ntawm rshd , nws nyeem thiab executes commands ntawm ~ / .bashrc , yog tias cov ntaub ntawv ntawd tshwm sim thiab yog tshwmsim. Nws yuav tsis ua qhov no yog hu ua sh . Cov kev xaiv - norc siv tau rau kev tiv thaiv tus cwj pwm no, thiab qhov kev xaiv --ccfile siv tau los quab yuam lwm cov ntaub ntawv nyeem, tab sis rshd feem ntau tsis tuaj yeem thov lub plhaub nrog cov kev xaiv lossis tso cai rau lawv tau teev.

Yog hais tias lub plhaub tau pib nrog tus neeg siv (kev sib tw) tsis zoo sib xws rau cov neeg siv tiag tiag (pawg neeg) tus id, thiab qhov tsis ua haujlwm -p , tsis muaj cov ntaub ntawv pib, plhaub ua haujlwm tsis tau txais los ntawm ib puag ncig, qhov SHELLOPTS kuj sib txawv thiab, yog tias nws tshwm nyob rau hauv lub cheeb tsam, yog ignored, thiab tus neeg zoo siv tus id yog teem rau tus neeg siv tiag tiag tus ID. Yog hais tias qhov kev xaiv -p xaiv tau thaum tuaj yeem, tus cwj pwm tsav pib zoo li qub, tab sis tus neeg siv tus neeg zoo siv tsis tau rov qab.

TXHAIS LUS

Cov ntsiab lus hauv qab no yog siv thoob plaws hauv daim ntawv no.

dawb paug

Ib qhov chaw los sis tab.

lo lus

Ib qib ntawm cov cim uas xam raws li ib chav tsev ntawm lub plhaub. Kuj hu ua tus token .

npe

Ib lo lus uas suav cov tsiaj ntawv ntawm alphanumeric thiab underscores xwb, thiab pib ua cim los yog ib qho cim hauv qab. Kuj hu ua tus cim cim npe .

metacharacter

Ib tug cwj pwm uas, thaum tsis muaj cwj pwm, cais cov lus. Ib ntawm cov hauv qab no:

| &; () <> qhov chaw tab

tswj tus neeg teb xov tooj

Tus token uas ua tus tswj kev ua haujlwm. Nws yog ib qho ntawm cov cim nram qab no:

|| & & ;; ;; () |

TXOJ CAI LUS

Cov lus tshwj tseg yog cov lus uas muaj lub ntsiab lus tshwj xeeb rau lub plhaub. Cov lus hauv qab no raug pom zoo tseg thaum tsis muaj leej twg thiab thawj lo lus ntawm cov lus txib yooj yim (saib TXELL GRAMMAR hauv qab) los yog lo lus thib peb ntawm rooj plaub los yog lus txib:

! cov ntaub ntawv ua elif lwm esac fi rau kev ua haujlwm yog thaum xaiv ces txog thaum uas {} sij hawm [[]]

QHOV TSEEB GRAMMAR

Cov lus txib yooj yim

Ib cov lus txib yooj yim yog ib qib ntawm cov kev xaiv ua haujlwm uas tsis sib haum (optional assignments) ua raws nraim li dawb paug- tshem tawm cov lus thiab redirections, thiab tshem tawm los ntawm ib tus tswj hwm . Thawj lo lus hais tias lo lus txib kom raug tua, thiab dhau ntawm kev sib cav xoom. Cov lus uas tshuav ntxiv yuav dhau mus raws li cov lus sib cav rau cov lus txib.

Tus nqi xa tawm ntawm cov lus txib yooj yim yog nws qhov kev tawm, los yog 128+ n yog hais tias qhov kev hais kom ua tiav ntawm lub teeb meem n .

Pipelines

Lub raj xa dej yog ib qho sib lawv liag ntawm ib los sis ob peb nqe lus txib sib cais los ntawm tus cwj pwm | . Lub hom phiaj rau lub raj xa dej yog:

[ sijhawm [ -p ]] [! ] hais kom ua [ | command2 ...]

Qhov kev tso tawm ntawm cov lus txib txuas nrog ntawm cov yeeb nkab rau cov tswv yim txheem ntawm command2 . Qhov kev sib txuas no tau ua tiav ua ntej muaj kev tshuam xyuas los ntawm kev hais kom ua (saib REDIRECTION hauv qab).

Yog hais tias lo lus tseg ! precedes lub raj xa dej, qhov kev tawm ntawm tus kav xa dej ntawd yog qhov tsis yog qhov tawm ntawm qhov kev txiav txim siab dhau los. Txwv tsis pub, qhov xwm txheej ntawm qhov kav dej yog qhov kev tawm ntawm cov lus txib kawg. Lub plhaub tseem tos rau tag nrho cov lus txib hauv cov raj xa dej kom tiav ua ntej rov qab muaj nqis.

Yog hais tias lub sij hawm tseg lo lus ua ntej lub kav dej, lub sij hawm dhau los nrog tus neeg siv thiab lub sijhawm siv los ntawm nws qhov kev ua tiav tau qhia thaum lub kav xaij tas. Cov kev xaiv -p xaiv hloov cov lus tso tawm rau qhov teev ntawm POSIX. Tus TIMEFORMAT kuj sib txawv li cas yuav tsum tau teem rau ib hom ntawv hlua uas qhia meej tias cov sijhawm cov ntaub ntawv yuav tsum muaj tshwm sim li cas; pom cov lus piav qhia ntawm TIMEFORMAT nyob rau hauv Plhaub Tus Neeg Hloov Pauv hauv qab no.

Txhua cov lus txib hauv qhov kav dej yog tseg raws li tus txheej txheem cais (piv txwv li, nyob rau hauv ib lub subshell).

Cov npe

Ib daim ntawv teev npe yog ib qho sib lawv liag ntawm ib lossis ntau qhov kav dej sib cais los ntawm ib qho ntawm cov neeg teb xov tooj ; , & , && , los sis || , thiab optionally ntsig los ntawm ib qho ntawm ; , & , lossis .

Ntawm cov npe tswv, && thiab || muaj kev vaj huam sib luag, ua raws li los ntawm ; thiab &, uas muaj vaj huam sib luag.

Ib qho sib lawv liag ntawm ib los sis ntau dua tshiab yuav tshwm sim hauv ib daim ntawv teev lus tsis muaj semicolon los txiav txim lus txib.

Yog hais tias ib tug hais kom ua tiav los ntawm tus neeg teb xov tooj tswj & lub plhaub executes qhov hais kom ua nyob rau hauv tus keeb kwm yav dhau los hauv ib qho subshell. Lub plhaub tsis tos qhov lus txib kom tiav, thiab qhov kev rov qab tuaj yog 0. Cov lus sib cais los ntawm ib ; raug sau los ua ke; lub plhaub tos rau txhua qhov hais kom ua kom tiav. Kev xa rov qab yog qhov tawm ntawm cov lus txib kawg.

Tus tswj kev tswj & & thiab || txhais tau tias THIAB cov npe thiab LOS SIS teev, feem. IB THIAB daim ntawv muaj daim ntawv

command1 & & command2

command2 yog tseg yog, thiab tsuas yog, command1 rov tawm tus naj npawb ntawm xoom.

Daim LOSSIS muaj daim ntawv teev npe

command1 || command2

command2 yog tseg yog thiab tsuas yog tias command1 rov tawm tsis-xoom tawm txheej xwm. Txoj kev rov qab tuaj txog THIAB THIAB LOSSIS LOSSIS cov npe yog qhov kev tawm ntawm cov lus txib kawg uas tau teev tseg hauv daim ntawv.

Compound Lus txib

Ib nqe lus txib compound yog ib qho ntawm cov hauv qab no:

( sau )

cov npe sau tseg rau hauv ib lub subshell. Cov kev hloov pauv thiab kev ua vaj tse uas ua rau lub plhaub cheeb tsam tsis nyob rau tom qab qhov ua tiav. Kev xa rov qab yog qhov kev tawm ntawm cov npe .

{ sau ; }

daim ntawv teev npe no tsuas yog sau rau hauv qhov chaw khoob plawv niaj hnub no. daim ntawv teev npe yuav tsum raug kaw nrog ib qho tshiab lossis semicolon. Qhov no yog hu ua pawg neeg hais kom ua . Kev xa rov qab yog qhov kev tawm ntawm cov npe . Nco ntsoov tias tsis zoo li cov metacharacters ( thiab ) , { thiab } yog cov lus tseg thiab yuav tsum tshwm sim thaum twg lo lus tseg cia raug lees paub. Txij li thaum lawv tsis ua kom muaj lus so, lawv yuav tsum tau sib cais los ntawm cov npe ntawm cov ntsiab lus.

(( qhia ))

Cov kev qhia yog ntsuam xyuas raws li cov cai tau hais hauv qab no hauv ARITHMETIC EVALUATION . Yog tias tus nqi ntawm qhov qhia tsis yog xoom, qhov kev rov qab tuaj yog 0; txwv tsis pub tus txheej xwm rov qab yog 1. Qhov no yog qhov sib npaug kom " qhia ".

[[ qhia ]]

Xa rov qab tuaj rau ntawm 0 los sis 1 nyob ntawm qhov kev luj xyuas ntawm kev qhia tawm . Cov kab lus yog tshwm sim los ntawm kev xub pib raws li hauv qab no raws li TXHEEJ TXHEEM . Lo lus splitting thiab pathname expansion tsis tau rau cov lus ntawm [[ thiab ]] ; tilde expansion, parameter thiab nce kuj nce ntxiv mus, kev xam phaj ntxiv, ua haujlwm hloov chaw, kev hloov chaw, thiab daim ntawv tshem tawm tshem tawm.

Thaum siv lub == thiab ! = Cov neeg siv, txoj hlua mus rau ntawm sab xis ntawm tus neeg teb xov tooj yog xam tus qauv thiab sib phim raws li cov cai hauv qab hauv qab Txwj Sib Luag . Tus nqi xa tuaj yog 0 yog qhov hlua sib dhos lossis tsis ua raws li tus qauv, ntsig txog, thiab 1 lwm yam. Ib feem ntawm qhov qauv yuav raug hais kom yuam kom nws muab coj los ua ib txoj hlua.

Cov lus qhia yuav muab sib xyaw ua ke nrog cov neeg khiav lag luam hauv qab no, uas teev nyob rau hauv qhov kev txiav txim ntawm qhov nqis ua ntej:

( qhia )

Rov qab tus nqi ntawm kev qhia . Qhov no yuav raug siv los ua kom dhau qhov ua ntej ntawm cov tswv.

! kev qhia

Muaj tseeb yog tias qhov qhia tsis tseeb.

expression1 & tus expression2

Yeej muaj tseeb tias ob qho tib si qhia1 thiab qhia 2 yog qhov tseeb.

expression1 || expression2 Muaj tseeb yog hais tias qhia1 los yog expression2 yog qhov tseeb.

Tus & & thiab || cov neeg tsav tsheb tsis ntsuas qhov kev qhia2 yog tias qhov value of expression1 txaus los txiav txim siab txog tus nqi xa tawm ntawm tag nrho cov cai qhia.

rau lub npe [ hauv lo lus ]; ua ntawv ; ua li cas

Cov npe ntawm cov lus hauv qab no yog nthuav, tsim cov npe ntawm cov khoom. Lub npe kuj yog teev rau txhua lub caij ntawm daim ntawv no, thiab sau txhua lub sijhawm. Yog hais tias cov lus hauv qab no rho, cov lus txib executes sau ib zaug rau txhua qhov parameter positional uas yog teeb tsa (saib PARAMETERS hauv qab). Txoj kev rov qab tuaj yog qhov kev tawm ntawm qhov kawg lus txib uas ua. Yog tias qhov nthuav tawm ntawm cov khoom nram qab no hauv kev tshwm sim hauv ib daim ntawv teev npe, tsis muaj cov lus txib, thiab qhov kev rov qab yog 0.

rau (( expr1 ; expr2 ; expr3 )); ua ntawv ; ua li cas

Ua ntej, qhov kev qhia ua expr1 raug soj ntsuam raws li cov cai hais hauv qab no hauv ARITHMETIC EVALUATION . Tus zauv qhia tawm expr2 yog ces soj ntsuam dua txog thaum nws ntsuam xyuas xoom. Txhua lub sij hawm expr2 ntsuas mus rau ib qho tsis-tus nqi xoom, cov npe sau tseg thiab qhov kev ntsuam xyuas expr3 yog kev ntsuam xyuas. Yog tias muaj cov lus qhia tawm, nws ua raws li yog tias nws ntsuas mus rau 1. Tus nqi xa tawm yog qhov teeb meem tawm ntawm cov lus txib kawg rau hauv daim ntawv teev npe uas ua tiav, los yog tsis tseeb yog tias ib qho ntawm cov kab lus tsis muaj tseeb.

xaiv lub npe [ hauv lus ]; ua ntawv ; ua li cas

Cov npe ntawm cov lus hauv qab no yog nthuav, tsim cov npe ntawm cov khoom. Cov lus ntawm cov lus nthuav tawm tau sau rau ntawm qhov yuam kev, txhua tus preceded los ntawm tus xov tooj. Yog hais tias cov lus tsis muab rho tawm, cov nqe lus tsis tseem ceeb yog muab luam tawm (saib PARAMETERS hauv qab). Lub PS3 tam sim ntawd yog tso tawm kom pom thiab ib tug kab nyeem los ntawm tus qauv tawm tswv yim. Yog hais tias cov kab muaj tus lej sib thooj rau ib qho ntawm cov lus tso tawm, ces tus nqi ntawm lub npe yog teem rau lo lus ntawd. Yog tias kab ntawv tsis muaj dab tsi, cov lus thiab lub caij tam sim no rov tshwm dua. Yog hais tias EOF tau nyeem, qhov kev ua tiav. Lwm cov nqi nyeem ntawv ua rau lub npe teev rau kev thov. Cov kab ntawv nyeem tau txais kev cawmdim hauv qhov sib txawv ntawm REPLY . Daim ntawv sau tseg tom qab xaiv txhua lub sijhawm mus txog qhov kev txiav txim tawm tawg . Qhov kev tawm ntawm qhov kev xaiv yog qhov kev tawm ntawm qhov kawg hais tseg nyob rau hauv daim ntawv , los yog xoom yog tias tsis muaj cov lus txib.

cov lus hais hauv [[]] pattern [ | pattern ]

Cov lus hais ua ntej pib nthuav cov lus , thiab sim ua kom sib haum rau txhua qhov qauv , siv cov kev cai sib npaug raws li txoj kab ntxiv pathname (saib Pathname Expansion hauv qab). Thaum pom ib qho kev ua si, cov npe coj los ua tiav. Tom qab thawj zaug sib tw, tsis muaj cov khub txuas ntxiv tom qab. Qhov kev tawm ntawm qhov tawm yog xoom yog tias tsis muaj cov qauv sib tw. Txwv tsis pub, nws yog qhov teeb meem tawm ntawm qhov kawg hais tseg nyob rau hauv daim ntawv teev npe .

yog sau ; ces sau; [ Elif sau ; ces sau ; ] ... lwm daim ntawv teev npe ; ] fi

Yog tias daim ntawv teev npe tseg. Yog tias nws tawm ntawm kev tawm xoom, ces daim ntawv teev npe tseg. Txwv tsis pub, txhua daim ntawv teev kev xaiv elif yog rho tawm, thiab yog tias nws tawm ntawm kev tawm xoom, qhov sib luag ces sau tseg thiab qhov kev ua tiav. Txwv tsis pub, lwm cov npe sau tseg, yog tias tam sim no. Qhov kev tawm ntawm kev tawm yog qhov tawm ntawm cov lus txib kawg uas tau ua tiav, los yog xoom yog tias tsis muaj kev ntsuam xyuas qhov tseeb.

thaum sau daim ntawv ; ua ntawv ; ua li cas

txog thaum sau ; ua ntawv ; ua li cas

Lub sijhawm ua haujlwm tsis tu ncua ua raws li cov lus teev tseg ua ntev li thaum kawg cov lus txib nyob rau hauv daim ntawv teev rov qab tawm ntawm kev xoom. Kom txog rau thaum cov lus txib zoo tib yam rau lub sijhawm tseem ceeb , tshwj tsis yog tias qhov kev ntsuam xyuas tsis raug muab tso tseg; daim ntawv teev cov npe sau tseg yog ntev li cov lus txib kawg hauv daim ntawv teev rov qab tsis muaj kev tawm xoom. Txij tawm ntawm lub sijhawm thiab txog thaum commands yog qhov tawm ntawm qhov kawg ua npe sau tseg, los yog xoom yog tias tsis muaj kev tua.

[ function ] name () { sau ; }

Qhov no txhais cov haujlwm uas muaj npe . Lub cev ntawm qhov ua haujlwm yog cov lus txib ntawm {thiab}. Daim ntawv teev npe no yog sau thaum twg lub npe teev muaj lub npe ntawm cov lus txib yooj yim. Qhov kev tawm ntawm ib qho kev ua yog qhov kev tawm ntawm cov lus txib kawg uas tau ua tseg nyob rau hauv lub cev. (Saib FUNCTIONS hauv qab no.)

COV LUS QHIA

Hauv ib lub plhaub tsis muaj kev sib tham, los yog kev sib tham hauv plhaub ( interactive_comments) rau qhov kev kho khoom siv khov kho (saib SIS PLUAJ COMMANDS hauv qab no), ib lo lus pib nrog # ua rau lo lus thiab tag nrho cov cim ntxiv rau ntawm txoj kab kom tsis raug. Ib qho kev sib tham sib plhaub yam tsis muaj kev sib tham sib txuas lus tsis pub tso cai. Qhov kev sib txuas lus sib tham yog nyob ntawm qhov ua neej nyob hauv kev sib tham sib zoo li cas.

QUOTING

Quoting yog siv los tshem tawm cov lus tshwj xeeb ntawm cov cim lossis lo lus rau lub plhaub. Quoting yuav siv tau los lov tes taw kev tshwj xeeb rau cov cim tshwj xeeb, los tiv thaiv cov lo lus tseg los ntawm kev pom zoo li ntawd, thiab kom tsis txhob muaj kev txwv ntxiv.

Txhua yam ntawm cov xov xwm teev tseg saum toj saud hauv qab no muaj lub ntsiab tshwj xeeb rau lub plhaub thiab yuav tsum tau hais yog tias nws yog los sawv cev rau nws tus kheej.

Thaum siv cov ntawv cog lus keeb kwm yav dhau los, cov keeb kwm nthuav tawm keeb kwm , feem ntau yog ! , yuav tsum tau hais kom tsis txhob muaj keeb kwm nthuav tawm.

Muaj peb qho kev xaiv tsa: tus cim kev ua si , ib qho quotes, thiab ob chav quotes.

Ib qho tsis muaj kev hais lus rov qab ( \ ) yog txoj kev khiav tawm . Nws preserves tus nqi ntawm tus cim tom ntej uas raws li nram qab no, nrog rau cov kev zam . Yog hais tias tus khub pom tshwm, thiab qhov nraub qaum kev tsis yog nws tus kheej tau hais, tus raug kho raws li ib txoj kab continuation (uas yog, nws raug tshem tawm ntawm cov kwj tawm tswv yim thiab tau txais kev pom zoo).

Taw cov cim rau hauv ib qho quotes preserves tus nqi ntawm txhua tus neeg hauv cov quotes. Ib qho kev tsocai nkaus xwb yuav tsis tshwm sim ntawm ib qho quotes, txawm tias thaum dhau los ntawm tus nraub qaum ris.

Taw cov cim hauv ob chav quotes preserves tus nqi ntawm tag nrho cov cim hauv cov quotes, nrog rau cov nyiaj ntawm $ , ` , thiab \ . Cov cim $ thiab ' khaws lawv cov ntsiab lus tshwj xeeb hauv ob chav quotes. Tus backslash khaws nws cov lus tshwj xeeb tsuas yog thaum ua raws li los ntawm ib qho ntawm cov cim nram qab no: $ , ` , " , \ , or .

Qhov tshwj xeeb tsis * thiab @ muaj cov ntsiab lus tshwj xeeb thaum nyob rau hauv ob chav quotes (saib PARAMETERS hauv qab).

Cov lus ntawm daim ntawv $ ' hlua ' raug kho tshwj xeeb. Lo lus nthuav dav rau txoj hlua , nrog cov nraub qaum-dim hauv cov cim hloov raws li tus qauv ANSI C. Backslash khiav tawm sequences, yog tias tam sim no, raug kho raws li nram no:

\ a

alert (tswb)

b

backspace

e

ib qho kev khiav tawm

\ f

daim ntawv pub

\ n

kab tshiab

\ r

xa rov qab

\ t

Kab rov tav

\ v

ntsug tab

\\

backslash

Yawg

ib qho tsocai

\ nnn

lub yim-ntsis cim uas nws tus nqi yog qhov octal tus nqi nnn (ib rau peb tug lej)

\ x HH

lub yim-ntsis lub cim uas nws muaj nqis yog tus nqi hexadecimal HH (ib los yog ob lub hex digits)

\ x x

tus yeeb yam- x tus cwj pwm

Kev nthuav dav yog ib qho-hais, xws li yog tias lub cim nyiaj tsis tshua muaj lawm.

Ib qho hlua sau ob kab sau ua ntej los ntawm ib daim ntawv sau nyiaj ( $ ) yuav ua rau txoj hlua tuaj yeem txhais ua ntej hauv thaj chaw tam sim no. Yog hais tias thaj chaw tam sim no C los sis POSIX , qhov cim sau nyiaj cim tsis raug. Yog tias txoj hlua txhais thiab hloov, qhov hloov yog muab ob npaug rau.

PARAMETERS

Ib qhov parameter yog qhov chaw uas khaws cov khoom tseem ceeb. Nws yog ib lub npe , tus lej, los yog ib qho ntawm cov cim tshwj xeeb hauv qab hauv Special Parameters . Rau lub plhaub lub hom phiaj, ib qho txawv kuj yog qhov kev ntsuas uas tau qhia los ntawm lub npe . Ib qho txawv kuj muaj nuj nqis thiab xoom lossis ntau dua cov cwj pwm . Cov cwj pwm tau muab tso rau kev siv cov lus qhuab qhia ( declare builtin) (saib nqe hauv qab no hauv SHELL PLUAS COMMANDS ).

Ib qho parameter yog teev yog tias nws tau muab ib qho muaj nqis. Lub null hlua yog tus nqi siv tau. Thaum muaj kev sib txawv, nws yuav ua tsis tau yog tias siv cov lus hais kom ua tsis tau zoo (saib QHOV TSIS TAU HAUJ LWM TXHUA YAM nram qab no).

Ib qho txawv kuj yuav raug tso rau los ntawm ib nqe lus hauv daim ntawv

npe = [ tus nqi ]

Yog hais tias tus nqi tsis muab, qhov txawv kuj raug muab tso rau hauv txoj hlua. Txhua qhov tseem ceeb yog tsim kom muaj kev loj hlob, qhov ntsuas thiab nce mus nce siab, qhov kev hloov kev hloov, kev sib txuas zais, thiab daim ntawv tshem tawm (saib EXPANSION hauv qab). Yog hais tias qhov sib txawv ntawm nws cov cim integer teeb, ces tus nqi yuav yog xam nthuav txawm tias yog $ ((...)) tsis siv (saib Arithmetic Expansion hauv qab). Lo lus splitting yog tsis tau, nrog tsuas yog "$ @" raws li tau piav qhia hauv qab hauv Special Parameters . Pathname expansion tsis tau. Cov ntaub ntawv tso cai kuj tseem tuaj yeem tshwm sim rau cov lus tshaj tawm , hom , export , readonly , thiab nyob hauv zos cov lus tsa.

Lub Plaub Hlis Nres

Ib qhov chaw parameter yog ib qhov kev ntsuas uas qhia los ntawm ib los yog ntau tus lej, uas tsis yog tus lej 0. Qhov tsis muaj qhov raug xa tawm ntawm cov lus sib cav thaum nws tau txais, thiab tej zaum yuav rov qab siv qhov kev hais kom siv tau. Cov kev tsis pom zoo yuav tsis raug tso npe nrog cov ntawv sau npe. Qhov tsis muaj tus cwj pwm tsis yog thaj tsam hloov lub sij hawm thaum lub plhaub ua haujlwm raug tua (saib FUNCTIONS hauv qab).

Thaum twg ib tus positional parameter uas muaj ntau tshaj ib tug zauv ntxiv, nws yuav tsum muab xa nrog rau kev sib npaug (saib EXPANSION hauv qab).

Cov Kev Ntsuas Tshwj Xeeb

Lub plhaub tsev kho mob ntau yam tshwj xeeb. Cov kev txwv no tsuas siv tau; txoj haujlwm rau lawv tsis raug tso cai.

*

Nthuav mus rau qhov tsis muaj ceem, pib ntawm ib qho. Thaum qhov kev tshwm sim tshwm sim nyob rau hauv ob chav quotes, nws nthuav mus rau ib lo lus nrog tus nqi ntawm txhua tus parameter sib cais los ntawm thawj tus cwj pwm ntawm lub IFS tshwj xeeb kuj sib txawv thiab. Ntawd yog \ " $ * \" yog sib npaug rau " $ 1 c $ 2 c ... ", qhov twg c yog thawj tus cwj pwm ntawm tus nqi ntawm IFS qhov txawv txav. Yog tias IFS tsis ua haujlwm, qhov tsis muaj qhov sib txawv los ntawm qhov chaw. Yog tias IFS yog qhov tsis thov, cov cwj pwm tsis tuaj yeem tsis cuam tshuam nrog cov neeg cais tawm.

@

Nthuav mus rau qhov tsis muaj ceem, pib ntawm ib qho. Thaum qhov kev tshwm sim tshwm sim hauv ob chav quotes, txhua qhov parameter nthuav mus rau ib lo lus sib txawv. Lus hauv no teb Tus ntawd, \ " $ @ \" yog sib npaug rau \ " $ 1 \" $ 2 \ "... Thaum tsis muaj tsis muaj positional," $ @ "thiab $ @ nthuav rau ib yam dabtsi (ie, lawv raug tshem tawm).

#

Nthuav mus rau pes tsawg tus tsis nyob hauv cov zauv.

?

Nthuav mus rau qhov xwm txheej ntawm cov nyuam qhuav raug tua rau kev sib fais foreground.

-

Nthuav tawm rau cov kev xaiv tam sim no raws li tau hais tseg hauv invocation, los ntawm cov txheej txheem builtin, los yog cov teeb tsa los ntawm lub plhaub nws tus kheej (xws li -i xaiv).

$

Nthuav mus rau tus txheej txheem ID ntawm lub plhaub. Nyob hauv ib qho () subshell, nws nthuav mus rau tus txheej txheem ID ntawm lub plhaub tam sim no, tsis yog lub subshell.

!

Nthuav tawm rau tus txheej txheem ID ntawm cov keeb kwm yav dhau los ua tiav (asynchronous) hais kom ua.

0

Nthuav rau lub npe ntawm lub plhaub los sis daim plhaub. Qhov no yog teev nyob rau hauv plhaub pib txheej txheem. Yog tias kev ntaus pob yog hu nrog cov ntaub ntawv ntawm cov lus txib, $ 0 muab teev rau lub npe ntawm cov ntaub ntawv ntawd. Yog hais tias kev sib tsoo pib nrog qhov kev xaiv -c , ces $ 0 yog teem rau thawj sib cav tom qab txoj hlua yuav raug tua, yog tias muaj ib tus tuaj. Txwv tsis pub, nws yog teem rau cov ntaub ntawv npe uas siv los tuav bash , raws li tau muab los ntawm kev sib cav xoom.

_

Ntawm plhaub pib lub plhaub, teem caij rau lub npe ntawm lub plhaub lossis lub plhaub tsab ntawv sau tseg raws li tau sau tseg rau hauv daim ntawv teev lus sib cav. Tom qab, nthuav mus rau qhov kev sib cav dhau los rau cov lus txib yav dhau los, tom qab nthuav. Kuj teem caij rau tag nrho cov ntaub ntawv lub npe ntawm txhua hais kom ua tiav thiab muab tso rau hauv qhov chaw exported rau qhov hais kom ua. Thaum tshawb xyuas cov ntawv xa tawm, qhov ntsuas no muaj cov npe ntawm cov ntawv xa tuaj tam sim no.

Plhaub qhob qhob

Cov qhob nram qab no raug teem los ntawm lub plhaub:

KHOOM NTSWS

Nthuav tawm rau tag nrho cov ntaub ntawv npe siv los ua kom muaj tus piv txwv ntawm kev sib tw.

BASH_VERSINFO

Ib tus leeb readonly uas nws cov tswv cuab tuav cov ntaub ntawv qhia txog qhov teeb meem ntawm kev sib tsoo . Cov kev cai muab rau cov neeg hauv cov tswv cuab yog cov hauv qab no:

BASH_VERSINFO [ 0]

Tus loj version tooj ( tso tawm ).

BASH_VERSINFO [ 1]

Tus menyuam yaus tus xov tooj (tus version ).

BASH_VERSINFO [ 2]

Lub thaj level.

BASH_VERSINFO [ 3]

Tus tsim version.

BASH_VERSINFO [ 4]

Txoj kev tso tawm (piv txwv, beta1 ).

BASH_VERSINFO [ 5]

Tus nqi ntawm MACHTYPE .

BASH_VERSION

Nthuav mus rau ib txoj hlua piav qhia txog qhov txheej txheem ntawm qhov no.

COMP_CWORD

COMP_LINE

Tam sim no hais kom ua kab. Qhov kev hloov no kuj muaj nyob rau hauv cov cim ntiag tug thiab lwm cov lus txib los ntawm cov kev pabcuam tiav (saib Programmable Completion hauv qab).

COMP_POINT

COMP_WORDS

Ib qho txawv kuj txawv txav (saib Arrays hauv qab) uas muaj cov lus ntawm ib tug neeg nyob hauv kab lus hais tam sim no. Qhov kev hloov no kuj muaj nyob rau hauv lub plhaub kev ua haujlwm ntawm cov chaw pabcuam tiav (saib Programmable Completion hauv qab).

DIRSTACK

Ib qho txawv kuj txawv txav (saib Arrays hauv qab) uas muaj cov khoom tam sim no ntawm cov tshooj. Cov kev paub tshwm sim nyob rau hauv tshooj nyob rau hauv qhov kev txiav txim lawv muaj tshwm sim los ntawm cov dirs builtin. Muab tso rau cov tswv cuab ntawm qhov sib txawv ntawm qhov sib txawv no yuav raug siv los hloov cov kev tshawb fawb tau nyob hauv pawg, tab sis cov kev thawb thiab cov duab ntawm cov tsiaj ntawv yuav tsum raug siv los ntxiv thiab tshem cov kab lus. Kev ua haujlwm rau qhov hloov no yuav tsis hloov cov npe tam sim no. Yog tias DIRSTACK tsis ua haujlwm, nws poob nws cov khoom tshwj xeeb, txawm tias nws rov qab pib dua.

EUID

Nce mus rau tus neeg siv tus ID zoo ntawm tus neeg siv tam sim no, pib ntawm plhaub startup. Qhov sib txawv ntawm no yog readonly.

FUNCNAME

Lub npe ntawm txhua lub sij hawm uas tau ua haujlwm hauv plhaub. Qhov kev hloov no kuj muaj nyob rau hauv thaum lub plhaub ua haujlwm khiav. Cov dej num rau FUNCNAME yeej tsis muaj txiaj ntsig thiab xa rov qab yuam kev. Yog tias FUNCNAME tsis ua haujlwm, nws poob nws cov khoom tshwj xeeb, txawm tias nws rov qab pib dua.

GROUPS

Ib qho txawv kuj txawv txav uas muaj cov npe ntawm cov neeg siv tam sim no yog ib tug tswv cuab. Cov dej num rau pawg GROUPS tsis muaj txiaj ntsim zoo li cas thiab xa rov qab yuam kev. Yog GROUPS tsis ua haujlwm, nws poob nws cov khoom tshwj xeeb, txawm tias nws rov qab pib dua.

HISTCMD

Lub keeb kwm naj npawb, los yog cov cim nyob rau hauv daim ntawv teev keeb kwm, ntawm cov lus txib tam sim no. Yog tias HISTCMD tsis ua haujlwm, nws poob nws cov khoom tshwj xeeb, txawm tias nws rov qab pib dua.

HOSTNAME

Yuav tsum tau teem rau lub npe ntawm tus tswv tsev tam sim no.

HOSTTYPE

Yuav tsum tau teem rau ib txoj hlua uas qhia meej txog hom tshuab ntawm qhov kev sib tw ua haujlwm. Lub neej ntawd yog qhov system-nyob.

LINENO

Txhua lub sij hawm qhov kev ntsuas no tau hais txog, lub plhaub hloov cov zauv zauv los sawv cev tam sim no tus lej ntawm kab lus (pib nrog 1) hauv tsab ntawv los yog kev ua haujlwm. Thaum tsis nyob hauv tsab ntawv los yog kev ua haujlwm, qhov kev hloov ntawm tus nqi yog tsis lav tias yuav muaj nuj nqis. Yog tias LINENO tsis ua haujlwm, nws poob nws cov khoom tshwj xeeb, txawm tias nws rov qab pib dua.

MACHTYPE

Yuav tsum tau teem caij rau txoj hlua uas piav meej txog hom kab mob uas ua haujlwm tawm, hauv cov txheej txheem GNU cpu-company-system . Lub neej ntawd yog qhov system-nyob.

OLDPWD

Cov ua hauj lwm yav dhau los raws li tau teev los ntawm cd hais kom ua.

OPTARG

Tus nqi ntawm qhov kev sib tw kawg uas tau ua tiav los ntawm qhov kev txiav txim los ntawm qhov tau txais qhov kev txiav txim (saib SIS PLUAJ HAUV hauv qab).

OPTIND

Qhov kev sib tw ntawm qhov kev sib tw tom ntej no yuav raug ua tiav los ntawm cov lus hais kom ua tau los ntawm cov neeg tau txais kev kho (saib SAUM PLAUB HAU hauv qab).

TSEEB

Cia li teem caij rau txoj hlua uas piav txog kev khiav hauj lwm uas siv rau ntawm qhov kev ua haujlwm yog kev ua haujlwm. Lub neej ntawd yog qhov system-nyob.

PIPESTATUS

Ib qho txawv ntawm qhov sib txawv (saib Arrays hauv qab no) uas muaj cov npe ntawm qhov tseem ceeb tawm ntawm qhov kev ua hauv cov txheej txheem hauv feem ntau-nyuam qhuav tseg rau kev sib txuas (uas yuav muaj kev txwv ib zaug xwb).

PPID

Tus txheej txheem ID ntawm lub plhaub tus niam txiv. Qhov sib txawv ntawm no yog readonly.

PWD

Cov npe ua hauj lwm tam sim no raws li teev los ntawm cd hais kom ua.

RANDOM

Txhua lub sij hawm no cov lus ceeb toom tau hais, ib qho integer random ntawm 0 thiab 32767 yog generated. Cov kab zauv ntawm cov lej random yuav raug pib los ntawm qhov muab tus nqi rau RANDOM . Yog hais tias RANDOM tsis ua haujlwm, nws poob nws cov khoom tshwj xeeb, txawm tias nws rov qab pib dua.

LUS QHIA

Teem rau txoj kab ntawm cov lus nyeem nyeem los ntawm kev hais kom ua nyob rau hauv kev nyeem ntawv thaum tsis muaj lus sib cam.

SECONDS

Txhua lub sij hawm no cov lus ceeb toom tau hais txog, cov vib thab nyub txij thaum plhaub invocation rov qab. Yog tias tus nqi raug xa mus rau SECONDS , tus nqi xa rov qab rau cov chiv keeb tom qab yog tus naj npawb vib nas this txij thaum kev xa mus ntxiv nrog tus nqi raug xa mus. Yog tias SECONDS tsis ua haujlwm, nws poob nws cov khoom tshwj xeeb, txawm tias nws rov qab pib dua.

NOOB

Daim ntawv teev lus sib cais uas nyias muaj nyias ntawm cov kev xaiv plhaub. Txhua lo lus nyob rau hauv daim ntawv teev npe no yog ib qho kev sib cav uas yuav siv tau rau -o kev xaiv rau kev hais kom ua tau teeb tsa (saib SAUM PLAUB HAU hauv qab). Cov kev xaiv uas tshwm nyob rau hauv SHELLOPTS yog cov uas tau tshaj tawm los ntawm kev teeb tsa-tawm . Yog hais tias qhov sib txawv ntawm no yog nyob rau hauv qhov chaw thaum pib pob, txhua qhov kev xaiv plhaub hauv daim ntawv yuav tsum tau qhib ua ntej nyeem cov ntaub ntawv pib. Qhov sib txawv ntawm no yog nyeem nkaus xwb.

SHLVL

Ntaus ib zaug los ntawm ib lub sij hawm ib qho piv txwv ntawm kev ua pob yog pib.

UID

Nthuav tawm rau tus neeg siv ID ntawm tus neeg siv tam sim no, pib ntawm plhaub startup. Qhov sib txawv ntawm no yog readonly.

Cov nram qab no yog siv los ntawm lub plhaub. Nyob rau hauv qee zaus, bash muab qhov value default rau ib qhov txawv; cov xwm txheej no tau sau rau hauv qab no.

BASH_ENV

Yog hais tias qhov kev ntsuas no tau muab tso rau hauv kev sib tw ua haujlwm, nws qhov txiaj ntsim txhais tau tias yog ib qho filename uas muaj cov lus txib kom pib lub plhaub, xws li tom ~ / .bashrc . Tus nqi ntawm BASH_ENV ua rau kev txwv kev ua haujlwm, kev hloov kev hloov, thiab kev ua zauv nce ua ntej txhais ua ib tus neeg filename. PATH tsis yog siv los tshawb nrhiav cov ntaub ntawv npe.

CDPATH

Kev tshawb nrhiav kev rau cd hais kom ua. Qhov no yog ib daim ntawv teev cov kab ntawv cais ntawm cov kab lus uas lub plhaub saib rau cov chaw qhia lo lus uas peb tau hais los ntawm cd cov lus txib. Ib qho piv txwv yog ".: ~: / Usr".

Daim ntawv qhia

Siv los ntawm qhov kev xaiv tsa builtin los txiav txim siab dav dav dav dav thaum sau cov npe xaiv. Yuav tsum tau teem caij thaum tau txais daim ntawv ceeb toom SIGWINCH.

Sib tham

Ib qho txawv ntawm qhov kev sib tw uas tau nyeem txog qhov ua tau tiav los ntawm lub plhaub ua haujlwm tau txais los ntawm qhov chaw ua tiav tiav (saib Programmable Completion hauv qab).

FCEDIT

Cov pauv neeg lub neej rau kev hais kom ua fc .

FIGNORE

Daim ntawv teev lus sib txawv ntawm cov ntawv hnyav kom tsis pom zoo thaum ua daim filename tiav (saib NYEEM hauv qab). Ib filename uas nws SRS sib dhos ib qho ntawm cov ntaub ntawv nyob rau hauv FIGNORE yog cais tawm ntawm daim ntawv teev npe ntawm filenames. Ib qho piv txwv yog ".o: ~".

GLOBIGNORE

Daim ntawv teev lus sib cais uas nyias muab nyias cais tawm ntawm cov qauv uas teev cov txheej txheem filenames yuav tsum tau pom los ntawm txoj kev loj hlob ntxiv. Yog tias ib daim ntawv filename los ntawm ib txoj kab dav dav pathname kuj zoo ib yam ntawm cov qauv hauv GLOBIGNORE , nws raug tshem tawm ntawm daim ntawv teev cov ntais ntawv.

HISTCONTROL

Yog tias teem rau qhov nqi ntawm kev tsis txaus siab, cov kab pib uas muaj qhov chaw cim tsis raug sau rau hauv daim ntawv teev keeb kwm. Yog tias teem rau ib qho kev ntsuas ntawm qhov tsis pom kev , cov kab sib piv cov kab ntawv dhau los tsis raug ntaus. Tus nqi ntawm kev tsis pom zoo muab ob qho kev xaiv. Yog tias tsis ua haujlwm, lossis yog tias muaj nqis rau lwm qhov nqi tshaj li cov saum toj no, txhua cov kab uas nyeem ntawm tus parser tau txais kev cawmdim rau ntawm daim ntawv teev keeb kwm, raws li tus nqi ntawm HISTIGNORE . Qhov sib txawv ntawm qhov kev ua no yog superseded los ntawm HISTIGNORE . Qhov thib ob thiab cov kab tom qab ntawm kev hais ua ke ntawm cov kev ua haujlwm ntawm ntau qhov kev sib txuas lus tsis raug xeem, thiab ntxiv rau keeb kwm tsis hais tus nqi ntawm HISTCONTROL .

HISTFILE

Lub npe ntawm cov ntaub ntawv uas cov lus txib tau txais kev cawmdim (saib KEEB KWM hauv qab). Lub neej ntawd tus nqi yog ~ / .bash_history . Yog tias tsis ua li, cov lus txib yav tas los tsis yog thaum muaj kev sib tham ntawm plhaub.

HISTFILESIZE

Qhov ntau ntawm cov kab uas muaj nyob rau hauv cov ntaub ntawv keeb kwm. Thaum qhov txawv txav no tau muab tus nqi, lub keeb kwm ntawm cov ntaub ntawv keeb kwm yog truncated, yog tias tsim nyog, kom tsis muaj ntau tshaj li cov kab. Cov nqi pheej yig yog 500. Cov ntaub ntawv keeb kwm yav dhau los kuj tseem ceeb rau qhov me me no tom qab sau ntawv thaum muaj kev sib tham hauv plhaub tawm.

HISTIGNORE

Daim ntawv teev lus sib cais uas nyias xaiv nyias los siv los txiav txim seb cov kab lus txib yuav raug cawm li cas rau ntawm daim ntawv teev keeb kwm. Txhua tus qauv yog khi rau ntawm qhov pib ntawm kab thiab yuav tsum muab cov kab tiav (tsis muaj implicit ` * 'yog appended). Txhua tus qauv raug kuaj tawm tsam cov kab tom qab cov tshev uas HISTCONTROL tau sau tseg. Ntxiv nrog rau cov qauv plhaub qub txuam cov cim, ' & ' ua si hauv cov keeb kwm yav dhau los. ' & ' tej zaum yuav dim ntawm kev siv lub nraub qaum ris; tus backslash raug muab tshem tawm ua ntej sim ua kom tiav. Qhov thib ob thiab cov kab tom qab ntawm kev hais ua ke ntawm cov kev ua haujlwm ntawm ntau qhov kev sib txuas lus tsis raug xeem, thiab ntxiv rau keeb kwm tsis hais tus nqi ntawm HISTIGNORE .

HISTSIZE

Tus naj npawb ntawm cov lus txib kom nco ntsoov hauv keeb kwm kev coj ua (saib hauv qab). Lub neej ntawd tus nqi yog 500.

TSEV

Cov khoom hauv tsev ntawm tus neeg siv tam sim no; qhov kev sib cav pheej yig rau qhov hais kom ua cd . Tus nqi ntawm qhov sib txawv ntawm no kuj siv tau thaum ua rau kev nthuav dav tiller.

HOSTFILE

Muaj lub npe ntawm cov ntaub ntawv hauv tib hom ntawv / etc / hosts uas yuav tsum tau nyeem thaum lub plhaub yuav tsum ua kom tiav ib lub hostname. Daim ntawv teev npe ntawm cov qhabnias yuav muab hloov thaum lub plhaub khiav; lub sij hawm tom qab hostname tiav sim tom qab tus nqi hloov, bash ntxiv cov ntsiab lus ntawm cov ntaub ntawv tshiab rau cov npe uas twb muaj lawm. Yog HOSTFILE teeb, tab sis nws tsis muaj nqis, kev sib tw ua rau kom nyeem / lwm yam / hosts kom tau daim ntawv teev npe ntawm tus qhab nias ua tiav. Thaum twg HOSTFILE tsis ua haujlwm, lub npe ntawm tus naj npawb muaj tseeb.

IFS

Qhov Tshawb Fawb Separator uas yog siv rau lo lus faib tom qab kev nthuav dav thiab cais cov lus ua lus nrog cov lus qhuab qhia uas tau nyeem . Lub neej ntawd tseem ceeb yog ' ' '.

IGNOREEOF

Ntawm qhov kev txiav txim ntawm qhov kev sib tham ntawm lub plhaub ntawm daim ntawv txais ntawm ib qho kev ua EOF raws li ib qho kev tawm tswv yim. Yog tias muaj, qhov value yog tus naj npawb ntawm EOF cim sib law liag uas yuav tsum tau ntaus ua tus cim thawj ntawm ib qho kev tawm tswv yim ua ntej kev tawm rooj tawm. Yog tias qhov txawv kuj tshwm sim, tiam sis tsis muaj qhov ntaus nqi, los sis tsis muaj nqis, qhov nqi pheej yig yog 10. Yog tias nws tsis muaj, EOF qhia txog qhov kawg ntawm cov tswv yim rau lub plhaub.

INPUTRC

Lub filename rau readline startup ntawv, overriding lub neej ntawd ntawm ~ / .inputrc (saib NYEEM hauv qab).

LANG

Siv los txiav txim seb pawg neeg hauv cheeb tsam twg rau txhua pawg tsis tau xaiv nrog ib qho txawv ntawm pib nrog LC_ .

LC_ALL

Qhov kev hloov no dhau los yog ua rau tus nqi LANG thiab lwm LC_ qhov txawv ntawm qhov ntawm ib thaj chaw.

LC_COLLATE

Qhov kev hloov no kuj pom tau tias qhov kev cai sib sau ua ke siv thaum qhov kev soj ntsuam kev tawm ntawm cov kab zauv, thiab txiav txim siab txog tus cwj pwm ntawm kab zauv ntau, cov kev kawm sib npaug, thiab sib sau ua ke hauv txoj kev ntxiv pathname thiab kev sib hloov.

LC_CTYPE

Qhov kev hloov no kuj pom tau tias qhov kev txhais ntawm cov cim thiab tus cwj pwm ntawm cov cwj pwm hauv kev kawm hauv pathname expansion thiab txawv txuam.

LC_MESSAGES

Qhov kev hloov no kuj pom tau tias lub chaw siv txhais los txhais cov hlua ob-hais ua ntej uas yog $ .

LC_NUMERIC

Qhov kev hloov no kuj pom tau tias cov pawg hauv pawg siv rau cov zauv hom ntawv.

LINES

Siv los ntawm qhov kev xaiv tsa builtin los txiav txim seb qhov ntev ntev npaum li cas luam ntawv xaiv. Yuav tsum tau teem caij thaum tau txais daim ntawv ceeb toom SIGWINCH.

MAIL

Yog tias qhov kev ntsuas no tau teem rau ib daim ntawv teev npe thiab lub MAILPATH variable tsis yog teeb, bash qhia rau tus neeg siv ntawm qhov tuaj txog ntawm kev xa ntawv hauv cov ntaub ntawv teev cia.

MAILCHECK

Qhia meej pes tsawg zaus (hauv vib nas this) bash tshev rau xa ntawv. Lub neej ntawd yog 60 feeb. Thaum nws yog lub sij hawm xyuas kev xa ntawv, lub plhaub thiaj li ua ntej ua ntej qhia thawj qhov kev ceeb toom. Yog tias qhov sib txawv ntawm no tsis ua haujlwm, lossis teem caij rau tus nqi uas tsis muaj tus lej ntau dua los yog sib npaug ntawm qhov xoom, lub plhaub tsis khoob xa ntawv.

MAILPATH

Daim ntawv teev npe-cais-cais ntawm cov npe cov npe kom raug xa rau xa ntawv. Cov lus yuav tsum luam tawm thaum xa ntawv tuaj rau hauv ib qho ntaub ntawv tej zaum yuav raug sau tseg los ntawm kev cais cov ntaub ntawv npe ntawm cov lus nrog ib tug '?'. Thaum siv nyob rau hauv cov ntawv nyeem ntawm cov lus, $ _ nthuav mus rau lub npe ntawm qhov chaw xa ntawv tuaj tam sim no. Piv Txwv:

MAILPATH = '/ var / mail / bfox? \ "Koj muaj xa ntawv \": ~ / plhaub-mail? \ "$ _ Muaj xa ntawv!"'

Bash khoom siv tus nqi pheej yig rau qhov sib txawv ntawm no, tiam sis qhov chaw nyob ntawm tus neeg xa ntawv cov ntaub ntawv uas nws siv yog tus neeg nyob (xws li, / var / mail / $ USER ).

OPTERR

Yog tias teem rau tus nqi 1, txoj kev tawm bash qhia yuam kev cov lus sau los ntawm cov lus hais kom ua kom tau (see SHELL BUILTIN COMMANDS hauv qab). OPTERR yog pib rau 1 lub sij hawm lub plhaub ntiag tug los yog lub plhaub tsab ntawv sau tseg.

PATH

Txoj kev nrhiav kev rau cov lus txib. Nws yog ib daim ntawv teev cov kab ntawv cais ntawm cov kab lus uas lub plhaub saib rau cov lus txib (saib COMMAND EXECUTION hauv qab). Lub neej ua tsis yog qhov system-dependent, thiab yog tus thawj tswj hwm uas ua haujlwm rau nruab siab. Ib tus nqi uas siv tau yog '/ usr / gnu / bin: / usr / local / bin: / usr / ucb: / bin: / usr / bin :.' '

POSIXLY_CORRECT

Yog tias qhov sib txawv ntawm no yog nyob rau hauv qhov chaw thaum pib qhov pib, lub plhaub nkag mus rau hauv plab qeeb ua ntej nyeem cov ntaub ntawv pib, zoo li yog qhov kev xaiv tsa uas tau muab tau. Yog hais tias nws yog teem thaum lub plhaub khiav, bash enables posix hom , txhais tau hais tias qhov hais kom ua -o posix twb raug tua.

PROMPT_COMMAND

Yog tias tau teev, qhov nqi yog ua tiav raws li cov lus txib ua ntej yuav muab txhua tus thawj kom sai.

PS1

Tus nqi ntawm qhov ntsuas no yog nthuav (saib PROMPTING nram qab no) thiab siv los ua thawj txoj hlua lus. Lub neej ntawd tus nqi yog ' \ s- \ v \ $ ' '.

PS2

Tus nqi ntawm qhov kev ntsuas no tau nthuav tawm nrog PS1 thiab siv los ua theem ntxiv kom sai. Lub neej ntawd yog '` > ' '.

PS3

Tus nqi ntawm qhov ntsuas no yog siv raws li qhov kev txiav txim rau qhov kev xaiv ua raws (saib QHOV TXOG GRAMMAR saum toj no).

PS4

Tus nqi ntawm qhov ntsuas no yog nthuav tawm nrog PS1 thiab cov nqi luam tawm ua ntej txhua qhov kev qhia tawm bash tshwm sim thaum lub sijhawm tiav. Thawj tus cwj pwm ntawm PS4 yog replicated ntau zaus, raws li tsim nyog, qhia ntau theem ntawm kev txo. Lub neej ntawd yog ' + + '.

TIMEFORMAT

Tus nqi ntawm qhov ntsuas no yog siv los ua hom ntawv txoj hlua qhia txog tias cov sij hawm teem tseg rau cov kav dej muaj npe nrog lub sij hawm tseg cia yuav tsum tau sau. Tus cim % qhia txog ib qho kev khiav tawm uas tau nthuav tawm mus rau ib lub sijhawm lossis lwm yam ntaub ntawv. Cov cwj pwm khiav tawm thiab lawv lub ntsiab yog raws li nram no; qhov kev zawm hniav ua rau pom tias yog pawg twg.

%%

Tus literal % .

% [ p ] [l] R

Lub sij hawm dhau mus hauv vib nas this.

% [ p ] [l] U

Cov naj npawb ntawm CPU siv nyob rau hauv hom neeg siv.

% [ p ] [l] S

Cov naj npawb ntawm CPU siv nyob rau hauv hom txheej txheem.

% P

Cov feem pua ​​CPU, xam raws li (% U +% S) /% R.

Qhov yeem p yog ib tug zauv qhia meej txog qhov kev txiav txim siab , cov lej ntawm cov zauv feem ntau ntawm cov zauv. Tus nqi ntawm 0 ua rau tsis muaj taw tes ua zauv lossis feem rau qhov yuav tsum tau tso tawm. Feem ntau ntawm peb qhov chaw tom qab qhov zauv zauv yuav raug sau tseg; qhov tseem ceeb ntawm p dua 3 yog hloov mus rau 3. Yog p tsis teev, tus nqi 3 siv.

Qhov yeem l qhia txog hom ntawv ntev, nrog rau feeb, ntawm daim ntawv MM m SS . FF s. Tus nqi ntawm p txiav txim siab seb puas los yog tsis muaj cov feem no.

Yog tias qhov sib txawv ntawm no tsis muaj teeb meem, bash ua li yog nws muaj tus nqi $ \ nreal \ t% 3lr \ nuser \ t% 3lU \ nsys% 3lS ' . Yog hais tias tus nqi yog thov, tsis muaj cov ncauj lus qhia txog. Ib qho newline trailer yog ntxiv thaum lub hom ntawv txoj hlua tshwm.

TMIAV

Yog tias teem rau ib qho txiaj ntsig ntau dua li xoom, TMOUT raug kho raws li lub sijhawm ua haujlwm rau kev nyeem ntawv . Qhov kev xaiv ua kom tiav yog tias cov tswv yim tsis tuaj txog tom qab TMOUT seconds thaum tawm tswv yim los ntawm lub davhlau ya nyob twg. Hauv kev sib tham hauv plhaub, qhov nqi txhais tau tias yog tus naj npawb ntawm vib nas this kom tos cov tswv yim tom qab muab tus thawj kom sai. Bash xaus tom qab tos tias cov vib nas this yog tias cov tswv yim tsis tuaj txog.

auto_resume

Qhov kev hloov no kuj tsis muaj peev xwm tswj tau li cas lub plhaub sib xyaw nrog tus neeg siv thiab kev tswj hwm txoj haujlwm. Yog tias qhov kev hloov no kuj muaj, ib lo lus yooj yim commands tsis muaj redirections yog kev sib tw kom rov pib dua txoj haujlwm tam sim ntawd. Yog tsis muaj kev tsis txaus siab; yog tias muaj ntau dua ib txoj haujlwm pib ntawm txoj hlua ntaus ntawv, txoj hauj lwm nyuam qhuav tau txais kev xaiv kawg nkaus. Lub npe ntawm txoj hauj lwm tsis ua hauj lwm, hauv qhov ntsiab lus teb, yog cov kab lus hais kom siv los pib. Yog tias teem rau tus nqi pes tsawg , txoj hlua uas tau muaj los yuav tsum yog lub npe ntawm txoj haujlwm tsis ua haujlwm raws nraim; yog tias muab rau substring , txoj hlua tuaj yeem yuav phim lub substring ntawm lub npe ntawm txoj hauj lwm tsum. Qhov kev ua tus nqi substring muab kev ua haujlwm zoo li qhov %? hauj lwm tus kheej (saib txoj haujlwm HAUJLWM hauv qab). Yog tias muab rau lwm tus nqi, txoj hlua uas tau muab los yuav tsum yog ib qho kev xub pib ntawm txoj haujlwm npe; qhov no muab cov functionality analogous rau cov neeg ua haujlwm % tus neeg ua haujlwm.

histchars

Ob lossis peb cim uas tswj kev nthuav tawm keeb kwm thiab kev tokenization (saib KEEB KWM TXOJ KEV TXOM NYOM hauv qab). Thawj tus cwj pwm yog keeb kwm kev nthuav dav ua cim, tus cwj pwm uas pib qhov pib ntawm kev nthuav tawm keeb kwm, feem ntau ' ! '. Qhov thib ob tus cwj pwm yog lub cim hloov cwj pwm, uas yog siv raws li shorthand rau rov khiav cov lus txib dhau los nkag, hloov ib txoj hlua rau lwm qhov hais kom ua. Lub neej ntawd yog ' ^ '. Qhov kev xaiv thib peb yog tus cim uas qhia tias qhov seem ntawm qhov kab yog qhov kev pom thaum pom tias yog thawj tus cwj pwm ntawm ib lo lus, feem ntau yog ' # '. Cov keeb kwm hais txog kev sau keeb kwm ua rau keeb kwm hloov mus rau raug xa mus rau cov lus ntxiv rau ntawm kab. Nws tsis tas ua lub plhaub parser los kho tus so ntawm txoj kab li kev saib.

Arrays

Bash muab cov qauv ua ib seem. Txhua yam txawv kuj yuav siv tau ua ib qho array; qhov kev lees paub tias yuav ua tau tshaj tawm ncaj qha. Nws tsis muaj qhov siab tshaj plaws ntawm qhov loj ntawm ib qho array, los sis tsis muaj qhov yuav tsum tau ua rau cov tswv cuab yuav tsum tau indexed lossis raug xa mus. Cov arrays muaj indexed siv zauv thiab cov xoom-raws li.

Ib qho array yog tsim tau yog tias muaj qhov txawv txav rau kev siv cov syntax npe [ subscript ] = tus nqi . Tus ntawv sau npe yuav raug kho raws li cov lus qhia uas yuav tsum tau ntsuas rau tus nab npawb loj tshaj los yog sib npaug ntawm xoom. Kom qhia meej tshaj tawm ua ib qho array, siv cov lus tshaj tawm-a npe (saib QHOV TSIS TXAUS SIAB hauv qab). tshaj tawm-ib lub npe [ subscript ] kuj tau txais; lub subscript yog ignored. Cov cwj pwm kuj yuav raug teev rau ib qho kev hloov ntawm cov zauv uas siv cov lus tshaj tawm thiab kev ua tiav readonly . Txhua qhov attribute siv rau tag nrho cov tswv cuab ntawm ib qho array.

Cov arrays raug xa mus siv cov ntawv ua haujlwm ntawm daim ntawv lub npe = ( tus nqi 1 ... tus nqi n ) , qhov twg txhua tus nqi yog daim ntawv [ subscript ] = string . Tsuas yog cov hlua xwb . Yog tias cov khoom siv khiab haum thiab cov ntawv sau npe yuav muab tuaj, qhov qhab nia no yog muab rau; txwv tsis pub qhov Performance index ntawm lub caij ua haujlwm yog qhov kawg ntawm kev ua haujlwm rau cov lus ntxiv rau ib qho. Indexing pib ntawm xoom. Cov syntax no kuj tau txais los ntawm qhov kev lees paub tias tau ua. Ib cov ntsiab lus ntawm tus kheej yuav raug xa mus siv lub npe [ subscript ] = tus nqi syntax uas tau qhia saum toj no.

Lub unset builtin yog siv los rhuav tshem arrays. unset lub npe [ Subscript ] raug rhuav tshem cov khoom array ntawm qhov subscript index. unset lub npe , qhov twg lub npe yog ib qho array, los yog unset lub npe [ subscript ], qhov chaw subscript * los yog @ , tshem tawm tag nrho cov array.

Daim ntawv tshaj tawm , lub zos , thiab cov neeg ua tiav readonly tau txais ib leeg -a kev xaiv los qhia ib qho array. Cov nyeem ntawv builtin lees txais -a kev xaiv kom muab cov npe ntawm cov lus nyeem los ntawm cov lus tawm tswv yim rau ib qho array. Lub teeb thiab tshaj tawm builtins tso saib qhov tseem ceeb ntawm txoj hauv kev uas tso cai rau lawv rov qab ua cov haujlwm.

NTSWG

Kev nthuav dav yog ua raws li cov lus txib tom qab tau muab faib ua lus. Muaj xya hom kev ua tiav: kev loj hlob brace , tilde expansion , parameter thiab nce kuj nce mentsis , ua haujlwm hloov chaw , kev xam phaj , lo lus faib , thiab pathname expansion .

Qhov kev txiav txim siab nthuav dav yog: brace expansion, tilde expansion, parameter, kuj nce mentsis thiab kev xa thiab kev hloov ua lus hloov (ua nyob rau sab laug-rau-txoj cai), lo lus splitting, thiab pathname expansion.

Ntawm cov txheej txheem uas yuav pab txhawb nws, muaj ntau txoj kev nthuav dav ntxiv: txoj kev hloov chaw .

Brace Expansion

Brace expansion yog lub tswv yim los ntawm cov neeg uas tau xaiv cov hlua. Qhov no mechanism yog zoo li pathname expansion , tab sis cov filenames generated xav tsis muaj nyob. Tus qauv yuav tsum brace txhab coj daim ntawv ntawm ib qho kev xaiv ua ntej , tom qab los ntawm ib tug series ntawm comma-sib cais cov hlua ntawm ib khub ntawm kev zawm hniav, raws li los ntawm ib qho kev xaiv sau . Lub preamble prefixed rau txhua txoj hlua muaj nyob hauv kev zawm hniav, thiab cov postscript ces mam li muab rau txhua txoj hlua uas tshwm sim, nthuav tawm sab laug mus rau sab xis.

Cov kev pom muaj nyob rau sab nrauv yuav tau nested. Cov qhabnias ntawm txhua txoj hlua nthuav dav yog tsis muaj sorted; sab laug mus rau txoj cai thiaj li khaws cia. Piv txwv li, ib qho { d, c, b } nthuav dav rau hauv 'ade ace abe'.

Brace expansion yog ua ntej ua lwm yam expansions, thiab cov cim tshwj xeeb rau lwm expansions khaws cai nyob rau hauv lub txiaj ntsim. Nws yog lus nruj me ntsis. Bash tsis siv cov lus txhais rau cov ntsiab lus ntawm qhov kev nthuav dav los yog cov ntawv nyeem ntawm cov tes taw.

Qhov kev tsim no feem ntau yog siv raws li kev sib txuam thaum lub hom pib ntawm cov hlua yuav tsum tau tsim muaj ntev dua hauv cov qauv saum toj no:

mkdir / usr / zos / src / bash / {qub, tshiab, dist, yoov}

los yog

chown paus /usr/fallucb/{ex,edit},lib/{ex?.?*,how_ex}}

Brace expansion introduces me ntsis incompatibility nrog keeb kwm versions of sh . sh doesn 't kho qhib los yog kaw cov tes taw tshwj xeeb thaum lawv tshwm los ua ib feem ntawm ib lo lus, thiab preserves lawv nyob hauv cov zis. Bash tshem tus chij ntawm cov lus vim qhov ua rau ntawm kev loj hlob brace. Piv txwv li, lo lus nkag mus rau sh li cov ntaub ntawv {1,2} tshwm sim hauv cov zis. Tib lo lus yog output raws li file1 file2 tom qab expansion by bash . Yog hais tias nruj compatibility nrog sh yog qhov kev kawm, pib bash nrog qhov B xaiv los yog lov tes taw brace nthuav nrog + B kev xaiv mus rau qhov hais kom ua (saib SIS MUAJ TSEV MUAJ HAUJ LWM hauv qab).

Tilde Expansion

Yog hais tias ib lo lus pib nrog ib tus neeg cim ua cim tsis paub (' ~ '), tag nrho cov cim ua ntej thawj zaug uas tsis tau sib tw (los yog tag nrho cov cim, yog tias tsis muaj qis qis qis) yog suav tias yog tiller-prefix . Yog hais tias tsis muaj cov cim hauv tilde-prefix hais, cov cim hauv tilde-prefix tom qab lub tilde raug kho raws li lub npe nkag mus . Yog hais tias lub npe nkag no yog lub npe txoj hlua, lub tilde hloov nrog tus nqi ntawm lub plhaub parameter TSEV . Yog tias TSEV tsis ua haujlwm, lub tsev directory ntawm tus neeg siv khiav lub plhaub raug hloov. Txwv tsis pub, tilde-prefix yog hloov nrog cov directory directory nrog rau lub npe teev npe.

Yog hais tias lub tilde-prefix yog ib '~ +', tus nqi ntawm lub plhaub hloov PWD hloov qhov tilde-prefix. Yog hais tias lub tilde-prefix yog '~ -', qhov nqi ntawm lub plhom OMPWD txawv , yog tias nws yog teeb, muab hloov. Yog hais tias cov cim tom qab lub tilde nyob rau hauv tilde-prefix muaj ib tug naj npawb N , optionally prefixed los ntawm ib tug + + 'los yog' - ', lub tilde-prefix hloov nrog lub caij coj los ntawm cov khoom pawg, raws li nws yuav tsum tau tso tawm los ntawm cov dirs builtin invoked nrog lub tilde-prefix ua ib qho kev sib cav. Yog hais tias cov cim tom qab lub tilde nyob rau hauv tilde-prefix muaj ib tug lej tsis muaj tus coj '+' los sis - - ',' + 'assumed.

Yog hais tias tus ID nkag mus lub npe tsis muaj tseeb, los yog cov ntawv cog lus tsis tiav, lo lus yog tsis hloov.

Txhua qhov ntus tau muab tso rau kev kuaj kom tsis muaj pib ntawm lub ntsej muag ua ntej tom qab ib qho : lossis = . Nyob rau hauv cov no, tilde expansion kuj ua. Yog li ntawd, ib tug yuav siv cov npe tildes hauv cov ntawv xa mus rau PATH , MAILPATH , thiab CDPATH , thiab lub plhaub muab tus nqi ntxiv.

Parameter Expansion

Cov cim ' $ ' qhia txog kev ua kom muaj kev loj hlob, kev ua haujlwm hloov chaw, los yog kev nthuav dav. Lub npe lub npe los yog lub cim uas yuav tsum tau muab nthuav tawm tuaj yeem muab xa nrog cov zeem muag, uas yog kev xaiv tab sis yuav pab tiv thaiv qhov txawv ntawm qhov yuav tau muab nthuav tawm ntawm cov cim tam sim tom qab nws uas txhais tau tias yog ib feem ntawm lub npe.

Thaum siv kev xaum xim siv, qhov sib txuam ntawm qhov sib xyaw ua ke yog thawj ' } ' tsis dim ntawm lub backslash los yog tsis pub dhau ib txoj hlua hais, thiab tsis pub dhau ib qho kev ua zauv loj, qhov kev hloov kev hloov, los yog qhov kev loj hlob ntxiv.

Tus nqi ntawm parameter yog hloov. Cov kev zawm hniav yuav tsum muaj thaum tus parameter yog ib qho chaw muaj positional nrog ntau tshaj ib tug zauv, los yog thaum twg parameter yog taug qab los ntawm ib tus ua cim uas tsis yog muab txhais ua ib feem ntawm nws lub npe.

Nyob hauv txhua kis ntawm cov lus hauv qab no, lo lus no yog tsim muaj kev loj hlob, kev loj hlob ntxiv, kev hloov cov kev hloov, thiab kev paub ntxiv. Thaum twg tsis ua qhov kev loj hlob, kev sib tw ua haujlwm rau ib qho parameter uas tsis ua haujlwm lossis tsis thov; omitting cov nyuv qhov ntsuam xyuas hauv kev sim xwb rau ib qho parameter uas tsis ua haujlwm.

Siv qhov tseem ceeb . Yog tias tus parameter tsis ua haujlwm lossis thov, qhov kev hloov ntawm lo lus yog hloov. Txwv tsis pub, qhov value 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 . Qhov nqi ntawm parameter ces hloov. Qhov tsis muaj thiab tsis muaj qhov tshwj xeeb tej zaum yuav tsis raug muab los ua li no.

Tso Yuam Kev Yog Null lossis Unset . Yog tias tus naj npawb tsis tau los yog tsis ua haujlwm, qhov loj ntawm lo lus (lossis cov lus rau cov nyhuv yog tias lo lus tsis tuaj yeem) sau rau qhov yuam kev thiab lub plhaub, yog tias nws tsis yog sib tham, tawm. Txwv tsis pub, qhov value ntawm parameter yog hloov.

Siv Tus Nqi Ntxiv . Yog tias parameter yog thov los yog tsis ua haujlwm, tsis muaj dab tsi hloov, txwv tsis pub nthuav tawm lo lus yog hloov.

Nthuav rau cov npe ntawm cov neeg hloov npe uas pib npe nrog prefix , sib cais los ntawm thawj tus cwj pwm ntawm IFS qhov txawv tshwj xeeb.

Qhov ntev ntawm cov cim ntawm tus nqi ntawm tus parameter yog hloov. Yog tias tus parameter * los yog @ , qhov value substituted yog tus naj npawb ntawm cov tsis muaj tus positional. Yog tias tus parameter yog ib qho npe uas sau los ntawm * lossis @ , qhov value substituted yog tus naj npawb ntawm cov ntsiab lus hauv cov array.

Lo lus yog txhab kom tsim ib tug qauv raws li nyob rau hauv pathname expansion. Yog tias cov qauv sib txuas ntawm qhov pib ntawm tus nqi ntawm cov parameter , ces qhov tshwm sim ntawm qhov kev nthuav dav yog qhov muab tus nqi ntawm qhov sib piv nrog tus sib thooj sib txuam (qhov " # # " case) lossis qhov sib piv ntev tshaj (lub ' ## ' 'case) deleted. Yog tias tus parameter yog @ los * , tus qauv tshem tawm haujlwm yog siv rau txhua tus parameter positional tig, thiab qhov kev nthuav dav yog daim ntawv teev cov ntsiab lus. Yog tias tus parameter yog ib qho txawv ntawm tus nqi lossis lub npe ntawm cov nqe lus sau ua kom tiav nrog rau @ lossis * , tus qauv tshem tawm haujlwm yog siv rau txhua tus neeg ntawm cov array nyeg, thiab qhov kev nthuav tawm yog qhov tshwm sim.

Lo lus yog txhab kom tsim ib tug qauv raws li nyob rau hauv pathname expansion. Yog tias tus qauv sib dhos ntawm ib feem ntawm qhov kev ntaus nqi ntawm qhov loj hlob, ces qhov tshwm sim ntawm qhov kev nthuav dav yog qhov muab tus nqi ntawm qhov sib piv nrog tus qauv luv sib txawv (qhov ' % ')) los yog tus qauv sib thooj ntev tshaj (lub ' % '' case) deleted. Yog tias tus parameter yog @ los * , tus qauv tshem tawm haujlwm yog siv rau txhua tus parameter positional tig, thiab qhov kev nthuav dav yog daim ntawv teev cov ntsiab lus. Yog tias tus parameter yog ib qho txawv ntawm tus nqi lossis lub npe ntawm cov nqe lus sau ua kom tiav nrog rau @ lossis * , tus qauv tshem tawm haujlwm yog siv rau txhua tus neeg ntawm cov array nyeg, thiab qhov kev nthuav tawm yog qhov tshwm sim.

Cov qauv no nthuav dav los ua ib qho qauv raws li hauv txoj kev loj hlob ntxiv. Parameter yog txhab thiab qhov ntev match ntawm tus qauv tawm tsam nws tus nqi yog hloov nrog hlua . Nyob hauv thawj daim ntawv, tsuas yog thawj zaug sib tw hloov. Qhov thib ob daim ntawv ua rau txhua qhov sib tw ntawm tus qauv kom raug hloov nrog txoj hlua . Yog tias tus qauv pib # , nws yuav tsum phim thaum pib ntawm tus nqi ntawm parameter . Yog tias tus qauv pib nrog % , nws yuav tsum piv rau qhov kawg ntawm tus nqi ntawm parameter . Yog tias txoj hlua ntawv thov, qhov sib tw ntawm tus qauv raug tshem tawm thiab tus / cov qauv hauv qab no tseg tau. Yog tias tus parameter yog @ los * , qhov kev hloov chaw ua haujlwm yog siv rau txhua tus parameter positional tig, thiab qhov kev nthuav dav yog qhov tshwm sim. Yog tias tus parameter yog ib qho kev hloov qis tshaj nrog rau @ lossis * , qhov kev hloov chaw ua haujlwm yog siv rau txhua tus neeg ntawm cov array nyeg, thiab qhov kev nthuav tawm yog qhov tshwm sim.

Hais kom Hloov

Kev hais kom hloov kev tso cai tso cai rau qhov kev txiav txim ntawm cov lus txib kom hloov lub npe. Muaj ob hom:

$ ( hais kom ua )

los yog

` hais kom ua '

Bash ua tus expansion ntawm executing hais kom ua thiab hloov cov lus txib hloov nrog tus txheem tso tawm ntawm qhov hais kom ua, nrog rau txhua txoj kev tshiab xov deleted. Cov kab ntawv tshiab yog tsis muab deleted, tab sis lawv yuav raug tshem tawm thaum lub caij faib tawm. Cov lus txib hloov $ (cov ntaub ntawv miv ) hloov tau los ntawm qhov sib npaug tab sis sai $ (< file ).

Thaum siv hom qub qub txeeg qub teg ntawm kev hloov pauv, qhov nraub qaum tuav nws lub ntsiab lus tseem ceeb tsuas yog thaum ua raws li $ , ` , lossis \ . Tus thawj backquote tsis preceded los ntawm ib tug backslash terminates qhov hais kom ua hloov chaw. Thaum siv daim ntawv ($) (cov lus txib ), tag nrho cov cim ntawm tus quas ntiag tug hais kom ua; tsis muaj kev kho tshwj xeeb.

Kev hais kom hloov yuav tau nested. Siv lub zes thaum siv daim ntawv rov tom qab, khiav tawm hauv pob rov qab nrog cov backslashes.

Yog hais tias qhov kev hloov tshwm nyob rau hauv ob chav quotes, lo lus splitting thiab pathname expansion tsis tau rau cov ntsiab lus.

Arithmetic Expansion

Arithmetic expansion tso cai rau qhov kev luj xyuas ntawm ib qho kev qhia paub thiab hloov qhov kev hloov. Cov hom ntawv nthuav dav yog:

$ (( qhia ))

Qhov kev qhia yog kho li yog nyob rau hauv ob chav quotes, tab sis ib qho kev xav hauv ob sab hauv lub quas tsis raug kho tshwj xeeb. Tag nrho cov tokens hauv qhov kev qhia raws li qhov muaj nuj nqi kev nthuav dav, txoj hlua nthuav dav, qhov kev hloov kev hloov, thiab kev tshem tawm. Arithmetic substitutions yuav nested.

Qhov kev luj xyuas yog ua raws li cov cai teev tseg hauv qab no raws li ARITHMETIC EVALUATION . Yog tias qhov kev qhia tsis muaj tseeb, bash luam tawm cov lus qhia tias tsis ua hauj lwm thiab tsis muaj kev hloov chaw.

Kev Txhim Kho

Txoj kev hloov txoj kev hloov yog txhawb rau cov tshuab uas txhawb lub npe kav dej ( FIFOs ) los yog / dev / fd txoj kev xaiv cov ntaub ntawv qhib. Nws yuav siv daim ntawv ntawm <( sau ) lossis > ( sau ) . Daim ntawv teev txheej txheem yog khiav nrog nws cov lus los yog tso zis rau lub FIFO los yog qee cov ntaub ntawv hauv / dev / fd . Lub npe ntawm cov ntaub ntawv no yog dhau los ua ib qho kev sib cav rau cov lus txib tam sim no los ntawm qhov kev nthuav dav. Yog tias daim ntawv teev npe ( daim ntawv ) siv, sau ntawv rau hauv cov ntaub ntawv yuav muab tswv yim rau npe . Yog tias <( daim ntawv teev npe ) siv, cov ntaub ntawv dhau los ua ib qho kev sib cav yuav tsum tau nyeem kom tau txais qhov tso npe ntawm daim ntawv teev npe .

Thaum muaj, cov txheej txheem kev hloov kev ua tiav tau ua ib txhij nrog parameter thiab nce kuj nce ntxiv, kev ua haujlwm hloov chaw, thiab kev xam phaj ntxiv.

Lo lus Splitting

Lub plhaub soj ntsuam cov txiaj ntsim ntawm qhov kev tawm tsam, qhov kev hloov kev hloov, thiab kev xam phaj ntxiv uas tsis tshwm sim li ntawm ob chav quotes rau cov lus faib .

Lub plhaub tau ua rau txhua tus cim ntawm IFS ua ib qho kev tshaj lij, thiab muab cov ntsiab lus ntawm lwm qhov nthuav dav los ua cov lus ntawm cov cim no. Yog tias IFS tsis ua haujlwm, los yog nws qhov muaj nqis tiag tiag , lub neej ntawd, ces txhua lub sijhawm ntawm IFS cov cim pabcuam cov lus tawm. Yog tias IFS muaj nuj nqis dua li ntawm qhov ua tsis tau zoo, ces cov cim ntawm cov kab kos cov cim thuam thiab tab yuav tsum tsis lees paub thaum pib thiab qhov xaus ntawm lo lus, tsuav yog tus cim ua dab tsi nyob rau hauv tus nqi ntawm IFS (ib qho IFS tus cim ua cim). Cov ua cim hauv IFS uas tsis yog IFS cov ntsiab lus, nrog rau cov uas nyob ib ncig ntawm IFS cov cim thawm ntsej muag, tsis suav ib yam dab tsi. Ib qib ntawm cov cim IFS hom kab lis kev cai tseem raug kho raws li lub ntsiab lus. Yog tias tus nqi ntawm IFS yog qhov tsis thov, tsis muaj lus faib.

Cov lus sib cav tsis txaus siab ( "" lossis "' ) yog khaws cia. Unquoted implicit thov sib cav, uas yog los ntawm kev nthuav ntawm cov tsis muaj qhov tseem ceeb, raug muab tshem tawm. Yog tias tus parameter uas tsis muaj nqis ntxiv hauv ob lub quotes, qhov kev sib tw tsis muaj tseeb thiab khaws cia.

Nco ntsoov tias yog tsis muaj kev tawm tsam, tsis muaj kev cais tawm.

Pathname Expansion

Tom qab lo lus splitting, tshwj tsis yog lub -f xaiv tau teem, bash scans txhua lo lus rau cov cim * ,? , thiab [ . Yog hais tias ib qho ntawm cov cim no tshwm, ces lo lus poob siab tias tus qauv , thiab hloov nrog cov npe sorted ntawm cov npe cov npe txuam tus qauv. Yog tias tsis muaj cov npe ntawm cov npe, thiab xaiv qhov kev xaiv plhaub nullglob yog neeg xiam oob qhab, lo lus yog tsis hloov. Yog tias qhov kev xaiv nullglob muab, thiab tsis muaj qhov khoos kas pom, lo lus tshem tawm. Yog hais tias lub plhaub kev xaiv nocaseglob muaj peev xwm ua tau, qhov kev ua si yog ua tsis tau hais txog qhov teeb meem ntawm cov cim alphabetic. Thaum twg ib tug qauv siv rau txoj kev loj ntxiv pathname, tus cim '`.' ' Thaum pib ntawm lub npe los yog tam sim no tom qab lub luaj yuav tsum sib phim ntsees, tshwj tsis yog lub plhaub xaiv dotglob . Thaum sib piv ib cov pathname, tus cim ua cim yuav tsum nco ntsoov ua kom pom tseeb. Lwm cov xwm txheej, cov cim "dab tsi" tsis raug kho tshwj xeeb. Saib cov lus piav qhia ntawm cov khw muag khoom hauv qab hauv qab QHOV CHAW UA HAUJ LWM rau cov lus piav qhia ntawm cov nocaseglob , cov khoom tsis muaj , thiab cov plhaub ntim hauv plhaub.

Tus GLOBIGNORE plhaub txawv txav kuj yuav raug siv los tswj cov txheej txheem cov ntaub ntawv txuam tus qauv . Yog tias GLOBIGNORE muab teeb, txhua txuam ua ntaub ntawv lub npe uas tseem khwv tau ib qho ntawm cov qauv hauv GLOBIGNORE tawm ntawm daim ntawv teev cov ntais ntawv. Cov ntaub ntawv npe '`.' ' Thiab` `..' ' yog ib txwm ignored, txawm tias thaum twg GLOBIGNORE yog teeb. Txawm li cas los, qhov chaw GLOBIGNORE muaj cov nyhuv ntawm qhov kev xaiv plhaub dotglob , yog li tag nrho lwm cov ntawv npe pib nrog lub '`.' ' Yuav phim. Txhawm rau tau coj tus cwj pwm qub uas tsis paub cov ntaub ntawv npe pib nrog lub ''. '' , Ua kom '`. *' ' Ib qho ntawm cov qauv hauv GLOBIGNORE . Qhov kev xaiv dotglob yog neeg xiam thaum GLOBIGNORE tsis ua haujlwm.

Txawv Txawv

Ib lub cim uas tshwm hauv ib qho qauv, tsis yog cov cim tshwj xeeb uas tau piav qhia hauv qab no, sib tw nws tus kheej. Tus cim NUL yuav tsis tshwm sim hauv tus qauv. Cov cim tshwj xeeb cov qauv yuav tsum tau hais yog hais tias lawv yuav tsum raug sib npaug.

Cov cim tshwj xeeb muaj cov lus hauv qab no:

*

Hloov cov hlua, nrog rau txoj hlua thov.

?

Hloov cov cim ua cim.

[...]

Ntaus ntawv ib qho ntawm cov cim uas xa tuaj. Ib cim kab uas sib cais los ntawm ib tus tsho txhais tau tias ib qho kev qhia tawm ; txhua tus cwj pwm uas xaiv ntawm cov cim ob, suav nrog siv thaj chaw tam sim no sib sau ua ke thiab tus cwj pwm cim, sib npaug. Yog thawj tus cim tom qab lub [ yog ! los yog ib tug ^ ces txhua tus ua cim tsis tau muab tso nrog. Cov kev txiav txim ntawm cov cim hauv cov kab zauv ntau yog txiav txim los ntawm thaj chaw tam sim no thiab tus nqi ntawm LC_COLLATE plhaub hloov, yog tias muab. A - tej zaum yuav muab sib piv nrog nws li thawj zaug los yog hnub ua cim hauv lub teeb. A ] yuav raug muab sib piv nrog rau nws yog thawj tus cwj pwm hauv lub teeb.

Nyob rau hauv [ thiab ] , cov cim qhia ntawv yuav qhia tau meej tias siv cov syntax [: chav kawm :] , qhov chaw kawm yog ib qho ntawm cov hauv qab no uas tau hais tseg hauv POSIX.2 tus qauv:

alnum alpha ascii dawb paug cntrl digit graph txo print punct space lo lus siab xdigit
Ib tus cwj pwm coj zoo rau txhua tus cwj pwm hauv chav kawm. Lo lus cwj pwm hauv chav kawm ntais ntawv, zauv, thiab tus cwj pwm _.

Tom qab [ thiab ] , ib chav kawm sib npaug yuav qhia tau meej tias siv cov syntax [= c =] , uas sib dhos tag nrho cov cim nrog tib qhov hnyav hnyav (raws li tau hais tseg los ntawm thaj chaw tam sim no) ua cim c .

Tom qab [ thiab ] , lub syntax [. lub cim .] phim lub cim cim cim .

Yog hais tias qhov kev xaiv plhaub extglob yog siv tau siv lub khauj khaum loj , ob peb txoj kev sib txuas ntawm cov neeg ua haujlwm tau pom zoo. Hauv cov lus piav qhia nram qab no, cov qauv ntawm tus qauv yog cov npe ntawm ib los yog ntau cov qauv uas tau sib cais los ntawm ib | . Tej kab ke sib xyaw ua ke yuav raug tsim los ntawm kev siv ib los yog ntau dua ntawm cov nram qab no.

? ( qauv-sau )

Ntaus xoom lossis ib qho tshwm sim ntawm cov qauv siv

* ( qauv-sau )

Ntais xoom lossis ntau dua ntawm cov qauv siv

+ ( qauv-sau )

Hloov ib los yog ntau yam ntawm cov qauv uas tau muab

@ ( qauv-sau )

Ntais ntawv raws nraim ib tus qauv

! ( qauv-sau )

Ntaus txhua yam tsuas yog ib qho ntawm cov qauv siv

Tshem tawm Kev Tshem tawm

Tom qab qhov ua ntej expansions, tag nrho unquoted yam ntawm cov cim \ , ' , thiab \ " uas tsis tau los ntawm ib qhov ntawm expansions tshem tawm.

REDIRECTION

Ua ntej cov lus txib tseg, nws lub tswv yim thiab cov zis yuav raug xa rov qab siv cov cim tshwj xeeb txhais los ntawm lub plhaub. Kev txhim kho kuj tseem siv tau los qhib thiab kaw cov ntaub ntawv rau qhov chaw ua haujlwm hauv plhaub. Cov neeg khiav haujlwm nram qab no tuaj yeem ua ntej los sis tshwm nyob rau hauv ib qho lus txib los yog ua raws li cov lus txib . Kev txheeb xyuas kev coj ua tiav raws li lawv pom tshwm sim, los ntawm sab laug mus rau sab xis.

Hauv cov lus piav qhia nram qab no, yog hais tias tus zauv tawm cov zauv tawm tag nrho tawm, thiab thawj tus cwj pwm ntawm tus neeg teb xov tooj tshiab yog < , qhov kev hloov tshiab yog hais txog tus qauv tawm tswv yim (file descriptor 0). Yog thawj tus cwj pwm ntawm tus neeg teb xov tooj tshiab >> , qhov kev hloov tshiab yog hais txog cov zis tso tawm (cov ntaub ntawv hais txog kev ua tiav 1).

Lo lus tom qab tus neeg teb xov tooj tshiab tawm hauv cov lus piav qhia hauv qab no, tshwj tsis yog tias tau sau tseg, yog raug rau kev nthuav dav, qhov kev nthuav dav, qhov kev hloov ua ntxiv, kev ua haujlwm hloov chaw, kev xam phaj, kev tshem tawm, txoj kev loj ntxiv, thiab cov lus cais. Yog hais tias nws nthuav mus ntau tshaj ib lo lus, bash qhia txog kev ua yuam kev.

Nco ntsoov tias qhov kev txiav txim ntawm redirections yog qhov tseem ceeb. Piv txwv, hais kom ua

ls > qhia 2 > & 1

directs ob leeg tso zis thiab kev ua yuam kev rau cov ntaub ntawv dirlist , hos qhov hais kom ua

ls 2 > & 1 > dirlist

tswj cov txheej txheem tso cai rau cov ntaub ntawv teev tseg , vim hais tias qhov yuam kev yuam yog duplicated li cov zis tso cai ua ntej cov zis tawm tau redirected rau dirlist .

Bash tswj ob peb filenames tshwj xeeb thaum lawv siv nyob rau hauv redirections, raws li tau piav nyob rau hauv cov nram qab no lub rooj:

/ dev / fd / fd

Yog tias fd yog tus zauv uas siv tau, cov ntaub ntawv qhia txog fd yog duplicated.

/ dev / stdin

Cov ntaub ntawv qhia txog 0 yog duplicated.

/ dev / stdout

Cov ntaub ntawv qhia txog 1 yog duplicated.

/ dev / stderr

Cov ntaub ntawv qhia txog 2 yog duplicated.

/ dev / tcp / party / chaw nres nkoj

Yog hais tias tus tswv tsev yog ib tug siv tau lub npe lossis chaw nyob hauv Internet, thiab qhov chaw nres nkoj yog ib qho chaw naj npawb chaw nres nkoj los yog npe lub npe, tawm tsam qhib lub TCP kev txuas mus rau qhov sib txawv qhov.

/ dev / udp / host / chaw nres nkoj

Yog hais tias tus tswv tsev yog ib tus neeg siv lub npe lossis chaw nyob hauv Internet, thiab chaw nres nkoj yog ib qho chaw naj npawb chaw nres nkoj los yog lub npe qhov chaw ua haujlwm, bash npaj siab qhib lub UDP kev txuas mus rau qhov sib txawv.

Ib tug tsis qhib los yog tsim ib cov ntaub ntawv ua rau kev hloov tsis tau.

Redirecting tswv yim

Kev hloov ntawm cov tswv yim ua rau cov ntaub ntawv uas nws lub npe tau los ntawm kev nthuav dav ntawm lo lus qhib rau kev nyeem ntawv hauv cov lus hais txog tus neeg ua haujlwm, los yog tus qauv tawm tswv yim (file descriptor 0) yog tias n tsis teev.

Lub hom phiaj rau kev tawm tswv yim yog:

[ n ] < lo lus

Redirecting Cov Zis

Kev hloov ntawm cov zis ua rau cov ntaub ntawv uas nws lub npe tau los ntawm kev nthuav dav ntawm lo lus qhib rau kev sau ntawv ntawm tus neeg ua ntawv thov n , los yog tus standard output (daim ntawv qhia txog tus neeg) 1 yog n tsis teev. Yog tias cov ntaub ntawv tsis muaj nyob ntawd nws tsim muaj; yog tias nws nyob nws yog truncated xoom me me.

Cov hom ntawv rau kev tawm cov zis yog:

[ n ] > lo lus

Yog hais tias tus neeg teb xov tooj raug hloov >> , thiab qhov kev xaiv noclobber rau qhov teeb tsa tau ua tau, cov kev hloov tshiab yuav tsis yog cov ntaub ntawv uas lub npe tau los ntawm kev nthuav tawm ntawm lo lus tshwm sim thiab yog cov ntaub ntawv tsis tu ncua. Yog hais tias tus neeg teb xov tooj hloov tshiab >> , los yog tus neeg teb xov tooj tshiab > thiab qhov kev xaiv noclobber rau qhov kev hais kom ua tau teeb tsa tsis raug, qhov kev hloov yog sim txawm tias cov ntaub ntawv muaj npe los ntawm lo lus tshwm sim.

Tshaj Xo Los Tawm Tsam Tau Tshaj Tawm

Kev hloov ntawm cov khoom tso tawm hauv no zam ua rau cov ntaub ntawv uas nws lub npe tau los ntawm kev nthuav dav ntawm lo lus los qhib rau tus neeg ua lag luam ntawm tus neeg ua lag luam, lossis tus qauv tso tawm (cov ntaub ntawv hais meej 1) yog tias n tsis teev. Yog tias cov ntaub ntawv tsis muaj nyob rau ntawd nws tsim muaj.

Cov hom ntawv rau kev tso zis tso tawm yog:

[ n ] >> lo lus

Redirecting Txuj Tawm thiab Txheem Tau Yuam Kev

Bash tso cai rau ob qho tib si tso tawm (cov ntawv teev lus piav qhia 1) thiab cov lus tso tawm cov lus yuam kev (daim ntawv hais txog nqe 2) kom raug xa mus rau cov ntaub ntawv uas lub npe yog qhov nthuav ntawm lo lus nrog lub txua no.

Muaj ob hom ntawv rau redirecting txheem tso zis thiab txheem yuam kev:

&> lo lus

thiab

> & lo lus

Ntawm ob daim ntawv, thawj yog nyiam. Qhov no yog ntsuas sib npaug

> lo lus 2 > & 1

Cov ntaub ntawv no

Hom kev hloov no yuav ua rau lub plhaub nyeem cov lus tawm los ntawm qhov chaw tam sim no kom txog rau thaum cov kab uas muaj lo lus xwb (tsis muaj kev thim khoom). Tag nrho cov kab ntawv nyeem kom txog txij ntawd yuav siv los ua cov txheej txheem rau kev hais kom ua.

Cov hom ntawv ntawm no-cov ntaub ntawv yog:

<< [ - ] lo lus ntawm no-daim ntawv delimiter

Tsis pub kom muaj kev txwv ntau ntxiv, kev hloov kev hloov, kev xa tawm, lossis txoj kev loj hlob ntxiv hauv txoj kab lus . Yog hais tias muaj cov cim hauv cov lus hais, tus tshaj tawm yog qhov tshwm sim ntawm nqe lus tshem tawm ntawm lo lus , thiab cov kab nyob hauv daim ntawv no tsis nthuav. Yog tias lo lus tsis muaj txhij txhua, txhua kab ntawm daim ntawv no yog ua rau qhov kev hloov loj ntxiv, qhov kev hloov ua haujlwm, thiab kev xa tawm. Nyob rau tom kawg rooj plaub, cov ua cim sib lawv li \ yog ignored, thiab \ yuav tsum tau siv los cim cov cim \ , $ , thiab ` .

Yog hais tias tus redirection tus neeg teb xov tooj << - , ces tag nrho cov tab tab yog stripped ntawm cov kab input thiab cov kab uas muaj delimiter . Qhov no tso cai rau ntawm no-cov ntaub ntawv nyob rau hauv daim ntawv sau kab mob plhis kom indented hauv lub ntuj tsim.

Ntawm no cov hlua

Ib qho txawv ntawm cov ntawv no, cov hom ntawv yog:

<<< lo lus

Lo lus txhab ntxiv thiab muab nkag rau qhov lus txib ntawm nws cov lus tawm tswv yim.

Cov Ntawv Teev Npe Cov Ntaub Ntawv Qhia

Tus neeg teb xov tooj hloov tshiab

[ n ] <& lo lus

yog siv los luam cov ntaub ntawv tawm tswv yim. Yog lo lus nthuav mus rau ib qho lossis ntau tus lej, cov ntaub ntawv piav qhia ntawm n yog muab los ua ib daim qauv ntawm cov ntaub ntawv hais tseg ntawd. Yog cov lej hauv cov lus tsis qhia meej txog cov ntaub ntawv teev lus qhib rau cov tswv yim, qhov yuam kev hloov tshiab tshwm sim. Yog hais tias lo lus ntsuas rau - , cov lus piav qhia n raug kaw. Yog n tsis tau teev, cov txheej txheem txheem (cov ntaub ntawv hais lus 0) siv.

Tus neeg teb xov tooj

[ n ] > & lo lus

yog siv sib piv cov zis tawm cov ntaub ntawv tso tawm. Yog n tsis teev, tus txheej txheem txheem (siv cov lus piav qhia 1) siv. Yog cov lej hauv cov lus tsis qhia meej txog cov ntaub ntawv teev lus qhib rau cov zis, muaj qhov yuam kev hloov tshiab. Ua ib qho teeb meem tshwj xeeb, yog n yog rho tawm, thiab lo lus tsis nthuav dav rau ib qho lossis ntau tus lej, cov qauv tso tawm thiab qhov yuam kev txheem raug hloov dua tshiab raws li tau piav qhia yav tas los.

Tsav Cov Ntawv Teev Tseg

Tus neeg teb xov tooj hloov tshiab

[ n ] <& digit -

txav cov ntawv teev cov cim ua ntu zauv los ua cov ntaub ntawv n , los yog tus qauv tawm tswv yim (cov ntaub ntawv hais txog kev ua 0) yog n tsis teev. tus lej raug kaw tom qab muab sib tw rau n .

Zoo sib xws, tus neeg teb xov tooj hloov tshiab

[ n ] > & digit -

txav cov ntawv teev cov cim ua ntu zauv los ua cov ntaub ntawv n , los yog tus txheej txheem tawm qauv (cov ntawv teev lus piav qhia 1) yog n qhia tsis tau.

Qhib Cov Ntawv Teev Npe rau Kev Nyeem Ntawv thiab Sau Ntawv

Tus neeg teb xov tooj hloov tshiab

[ n ] <> lo lus

ua rau cov ntaub ntawv uas nws lub npe yog qhov nthuav ntawm lo lus qhib rau kev nyeem ntawv thiab sau ntawv ntawm tus neeg ua haujlwm cov lus piav qhia n , los yog hauv cov ntaub ntawv qhia paub yog tias n tsis teev. Yog tias cov ntaub ntawv tsis muaj nyob, nws tsim muaj.

ALIASES

Cov neeg tuaj yeem pub ib txoj hlua hloov rau ib lo lus thaum nws raug siv los ua thawj lo lus ntawm kev hais kom yooj yim. Lub plhaub tuav ib daim ntawv teev cov npe (aliases) uas tau teev thiab tsis ua haujlwm nrog cov cai thiab cov kev cai uas tsis txhim kho (saib SIS PLUAJ COMMANDS hauv qab). Thawj lo lus ntawm txhua nqe lus txib, yog tias tsis txaus siab, tshawb xyuas seb nws puas muaj cai. Yog li, lo lus ntawd hloov los ntawm cov ntawv nyeem ntawm cov cai. Lub npe ntawm cov npe thiab daim ntawv hloov tshiab yuav muaj cov lus qhia tawm hauv plhaub, xws li cov xov xwm teev saum toj saud, nrog rau cov npe ntawm lub npe ntawm lub npe yuav tsis muaj = . Thawj lo lus ntawm cov ntawv nyeem hloov tau kev sim rau cov neeg nyiam, tab sis ib lo lus uas zoo tib yam rau ib qho kev ua kom zoo dua ntxiv tsis ntxiv dua zaum ob. Qhov no txhais tau hais tias ib qho yuav tau txais ib qho ls rau ls -F , piv txwv li, thiab qhov bash tsis tau sim ua kom tsis txhob nthuav cov ntawv hloov. Yog hais tias tus cim kawg ntawm tus nqi alias yog ib qho dawb , ces tom qab lo lus txib lo lus nram qab no lub npe kuj tshawb xyuas txog cai ntxiv.

Aliases yog tsim thiab teev nrog cov lus txib alias , thiab tshem tawm nrog cov lus txib kev sib cai.

Yog tsis muaj txoj kev siv cov lus sib cav hauv cov ntawv nyeem. Yog tias cov lus xav tau, yuav tau siv lub plhaub tes (saib FUNCTIONS hauv qab).

Aliases tsis txhab thaum lub plhaub tsis sib tham, tsuas yog qhov kev xaiv plhaub ( expand_aliases plhaub) yog siv cov khoom siv (saib qhov kev qhia ntawm khw muag khoom hauv qab QHOV CHAW UA HAUJLWM hauv qab).

Cov cai hais txog kev txhais thiab kev siv cov npe hu ua yog ruam tag. Bash yeej nyeem tsawg kawg ib kab ntawm cov tswv yim ua ntej ua tiav ib qho ntawm cov lus txib rau ntawm kab ntawd. Aliases yog txhab thaum ib qho kev qhia nyeem, tsis yog thaum nws yog executed. Vim li no, ib qho kev cai qhia tshwm tuaj rau tib txoj kab raws li lwm cov lus txib tsis siv txij li cov kab ntawv nyeem ntxiv. Cov lus txib tom qab lub npe txhais ntawm kab ntawv ntawd tsis cuam tshuam los ntawm cov cai tshiab. Qhov kev coj cwj pwm no kuj yog qhov teeb meem thaum kev khiav dej num. Aliases yog txhab thaum lub ntsiab lus txhais yog nyeem, tsis yog thaum muaj nuj nqi, vim hais tias muaj nuj nqi txhais tau hais tias nws yog ib qho kev hais kom ua. Vim li ntawd, cov neeg txawv tebchaws tau sau tseg hauv kev ua haujlwm tsis muaj txog thaum uas tom qab ntawd qhov kev ua haujlwm tiav. Ua kom muaj kev nyab xeeb, ib txwm muab cov ntsiab lus txhais ntawm cov kab cais, thiab tsis siv cov cai hauv cov lus txib.

Yuav luag txhua lub homphiaj, pawg neeg Alias ​​tau hloov los ntawm lub plhaub.

FUNCTIONS

Lub plhaub kev ua haujlwm, txhais raws li tau piav saum toj saud hauv qab QHOV GRAMMAR , khw muag khoom kom ua tiav rau tom qab tiav. Thaum lub npe ntawm lub plhaub plhaub yog siv lub npe lus yooj yooj yim, cov npe ntawm cov lus txib uas muaj lub npe ntawd ua tiav. Kev khiav dej num yog tua nyob rau hauv lub ntsiab lus teb ntawm lub plhaub tam sim no; tsis muaj txheej txheem tshiab tsim los txhais lus rau lawv (qhov sib txawv ntawm qhov no nrog kev tua ntawm lub plhaub tsab ntawv). Thaum ib qho kev ua haujlwm tiav, cov lus sib txawv rau qhov kev ua haujlwm yog qhov tsis tseem ceeb thaum nws ua tiav. Qhov tshwj xeeb parameter # muab kho kom muaj kev cuam tshuam qhov kev hloov. Qhov chaw parameter 0 yog unchanged. Qhov sib txawv ntawm FUNCNAME yog teem rau lub npe ntawm txoj haujlwm thaum lub sijhawm ua haujlwm tiav. Txhua qhov kev sib nrauj ntawm thaj chaw ua haujlwm ntawm lub plhaub yog qhov zoo sib xws ntawm qhov kev ua thiab nws tus neeg hu nrog kos tias DEBUG cuab (saib qhov kev qhia ntawm cov cuab yeej cuab tam hauv SHELL BUILTIN COMMANDS hauv qab) tsis tau muaj txiaj ntsim tshwj tsis yog tias txoj haujlwm tau muab rau txoj kab cwj pwm ( pom cov lus piav qhia ntawm cov ntaub ntawv hauv qab no).

Variables hauv zos rau qhov kev ua haujlwm kuj yuav raug tshaj tawm nrog cov lus hais kom ua hauv zos . Ordinarily, cov zog thiab lawv qhov tseem ceeb yog sib koom ntawm qhov kev ua thiab nws tus neeg hu.

Yog hais tias qhov kev ua tiav kev ua tiav tau sau tseg hauv kev ua haujlwm, qhov ua haujlwm tiav thiab tiav resumes nrog cov lus txib tom ntej tom qab ua haujlwm hu. Thaum ua tiav ib qhov kev ua tiav, qhov tseem ceeb ntawm qhov tsis muaj qhov tsis sib luag thiab qhov tshwj xeeb parameter # raug txum tim rov qab mus rau qhov tseem ceeb uas lawv tau ua ua ntej qhov kev ua tiav.

Muaj nuj nqi cov npe thiab cov ntsiab lus txhais yuav tau muab teev nrog -f xaiv rau kev tshaj tawm los yog cov qauv kev ua tiav. -F kev xaiv los tshaj tawm los yog typeset yuav sau cov npe ua haujlwm nkaus xwb. Kev ua haujlwm tej zaum yuav raug xa tawm kom cov subshells tau cia lawv txhais nrog -f kev xaiv mus rau lub tuam txhab tsim hluav taws xob .

Kev ua haujlwm yuav tau rov qab ua dua. Tsis pub muaj kev txwv rau tus xov tooj ntawm cov xov tooj rov qab.

KEV TSHAWB ZOO TSHAJ PLAWS

Lub plhaub pub rau cov lus hais txog kev kos cwj pwm (arithmetic expressions) rau kev ntsuam xyuas, raws li qee qhov teeb meem (saib cov lus qhuab qhia komin thiab Arithmetic Expansion ). Kev luj xyuas yog ua nyob rau hauv dav-dav zauv uas tsis muaj daim tshev rau puv, tab sis faib ntawm 0 yog cuab thiab flagged ua yuam kev. Cov neeg tswv thiab lawv cov xub thawj thiab kev tuaj yeem ua tau zoo ib yam li hauv C lus. Cov npe nram qab no yog pawg ua haujlwm rau theem ntawm cov neeg sib tw ua ntej. Cov theem teev nyob rau hauv kev txiav txim ntawm qhov nqis ua ntej.

id ++ tus id -

kuj nce mentsis ntxiv-kev nce nqi thiab rov qab xaus

++ id - id

kuj nce mentsis ua ntej nce thiab ua ntej txiavtxim

- +

unary rho tawm thiab ntxiv

! ~

zajlus kom thiab kev ua tsis ncaj

**

exponentiation

* /%

kev sib npaug, sib faib, seem

+ -

Ntxiv, sib rho

<< >>

sab laug thiab txoj cai ntawm kev xa me ntsis

<=> = <>

sib piv

==! =

kev vaj huam sib luag thiab tsis sib npaug

&

bitwise thiab

^

bitwise kom LOS SIS

|

ntsis los LOS SIS

&&

zajlus kom THIAB

||

muaj kuab LOSSIS

expr ? expr : expr

kev ntsuam xyuas raws cai

= * = = = =% = + = - = << => = & = ^ = | =

ntus

expr1 , expr2

comma

Cov plhaub qhob pub tuaj yeem raug tso cai ua haujlwm; parameter expansion yog ua ntej ua qhov kev ntsuam xyuas pom. Tsis pub dhau ib qho kev qhia, plhis qhob tuaj yeem kuj tau hais los ntawm lub npe tsis tas siv cov lus cog lus rau cov lus teb. Tus nqi ntawm qhov kev sib txawv yog ntsuas raws li kev hais qhia thaum nws tau hais. Ib qho txawv txav ntawm lub plhaub yuav tsum tsis txhob muaj nws tus cwj pwm integer muab los siv rau hauv kev qhia.

Constants nrog ib tug ua 0 yog txhais raws li cov xovtooj octal. Ib qho ua 0x lossis 0X qhia tias hexadecimal. Txwv tsis pub, cov naj npawb muab daim ntawv [ hauv paus # ] n, qhov twg hauv paus yog zauv zauv ntawm 2 thiab 64 sawv cev ntawm lub xam zauv, thiab n yog tus naj npawb hauv qhov pib. Yog hais tias lub hauv paus # yog rho, ces pib 10 yog siv. Cov lej ntau tshaj 9 sawv cev ntawm cov tsiaj ntawv me, cov ntawv loj, @, thiab _, ntawm qhov kev txiav txim. Yog tias lub hauv paus tsawg dua los yog sib npaug rau 36, cov tsiaj ntawv tsawg dua thiab cov ntawv loj yuav siv sib piv los sawv cev rau cov zauv ntawm 10 thiab 35.

Cov neeg tsav tsheb yog ntsuas raws li kev nqis tes ua. Cov kab lus hauv qab lub tsho yog pib ntsuas thiab yuav tshaj tawm cov kev cai hauv qab no.

TXHEEJ TXHEEM

Cov kab lus uas siv tau yog siv los ntawm [[ compound compound thiab test thiab [ builtin commands mus ntsuam xyuas cov ntaub ntawv cov ntaub ntawv thiab ua cov hlua thiab sib piv sib piv. Lo lus qhia yog tsim los ntawm cov hauv qab no. Yog hais tias muaj cov lus sib cav rau ib qho ntawm cov qauv yog daim ntawv / dev / fd / n , ces daim ntawv teev cov lus piav qhia n yog xyuas. Yog tias cov ntaub ntawv sib cav mus rau ib qho ntawm cov primaries yog ib qho ntawm / dev / stdin , / dev / stdout , los yog / dev / stderr , cov ntaub ntawv qhia txog 0, 1, lossis 2, raws li, yog tshawb xyuas.

-a ua ntaub ntawv thov

Muaj tseeb yog tias muaj ntaub ntawv .

-b ua ntaub ntawv thov

Muaj tseeb yog cov ntaub ntawv tshwm sim thiab yog ib qho thaiv tshwj xeeb cov ntaub ntawv.

-c ntaub ntawv

Muaj tseeb yog cov ntaub ntawv tshwm sim thiab yog tus ua cim tshwj xeeb cov ntaub ntawv.

-d cov ntaub ntawv

Muaj tseeb yog cov ntaub ntawv tshwm sim thiab yog directory.

-e ntaub ntawv

Muaj tseeb yog tias muaj ntaub ntawv .

-f ntaub ntawv

Muaj tseeb yog hais tias muaj ntaub ntawv thiab yog ib qho ntaub ntawv tsis tu ncua.

-g ntawv

Muaj tseeb yog cov ntaub ntawv tshwm sim thiab yog pawg-id-set.

-h ua ntaub ntawv thov

Muaj tseeb yog cov ntaub ntawv tshwm sim thiab yog lub ntsiab lus piv txwv.

-k ntawv

Muaj tseeb yog cov ntaub ntawv tshwm sim thiab nws cov 'nplaum' 'ntsis.

-p ua ntaub ntawv thov

Muaj tseeb yog cov ntaub ntawv muaj thiab yog lub yeeb nkab uas teev (FIFO).

-r ntawv

Muaj tseeb yog tias muaj ntaub ntawv thiab nyeem tau.

-s ntawv

Yeej muaj tseeb yog tias muaj ntaub ntawv thiab muaj kev loj dua xoom.

-t fd

Yeej muaj tseeb yog cov ntaub ntawv fd qhib thiab hais txog lub davhlau ya nyob twg.

-u ntawv

Yeej muaj tseeb yog cov ntaub ntawv tshwm sim thiab nws cov txheej txheem-tus ID-npij me ntsis.

-w daim ntawv

Yeej muaj tseeb yog cov ntaub ntawv tshwm sim thiab sau ntawv.

-x ntawv

Muaj tseeb yog tias muaj ntaub ntawv thiab muaj executable.

-Ob ntawv

Muaj tseeb yog cov ntaub ntawv yeej muaj thiab yog tus tswv ntawm tus neeg zoo siv tus ID.

-G daim ntawv

Muaj tseeb yog cov ntaub ntawv muaj thiab muaj los ntawm cov pab pawg neeg zoo ID.

-L ua ntaub ntawv thov

Muaj tseeb yog cov ntaub ntawv tshwm sim thiab yog lub ntsiab lus piv txwv.

-S daim ntawv

Muaj tseeb yog cov ntaub ntawv muaj nyob thiab yog lub qhov ntsaws.

-N ua ntaub ntawv thov

Yeej muaj tseeb yog tias muaj ntaub ntawv sau thiab raug hloov vim nws tau nyeem kawg.

file1 - nt file2

Muaj tseeb yog file1 yog newer (raws li kev hloov kho hnub) dua file2 , lossis yog file1 thiab file2 tsis.

file1 - ot file2

Yuam yog tias file1 muaj hnub nyoog dua file2 , los sis yog muaj file2 thiab file1 tsis yog.

file1 -f file2

Muaj tseeb yog tias file1 thiab file2 xa mus rau tib lub xov tooj thiab cov lej hauv.

-o qhov zoo

Muaj tseeb yog tias qhov kev xaiv plhaub xaiv yog qhov tseem ceeb. Saib cov npe ntawm cov kev xaiv nyob rau hauv qhov kev piav qhia ntawm txoj cai -o xaiv rau cov teeb tsa hauv qab no.

-z hlua

Muaj tseeb yog qhov ntev ntawm txoj hlua yog xoom.

-noj txoj hlua

txoj hlua

Muaj tseeb yog qhov ntev ntawm txoj hlua yog non-xoom.

string1 == string2

Yeej yog tias cov hlua sib luag. = siv tau qhov chaw == rau kev cai POSIX nruj heev.

string1 ! = string2

Yeej yog tias cov hlua tsis sib npaug.

string1 < string2

Muaj tseeb yog string1 sorts ua ntej string2 lexicographically hauv thaj chaw tam sim no.

string1 > string2

Muaj tseeb yog string1 sorts tom qab string2 lexicographically hauv thaj chaw tam sim no.

arg1 OP arg2

OP yog ib qho ntawm -eq , -ne , -lt , -w , -gt , los yog -ge . Cov no cov neeg teb xov tooj binary rov qab tseeb yog tias arg1 sib npaug, tsis yog sib npaug, tsawg tshaj, tsawg dua los yog sib npaug rau, ntau tshaj, lossis ntau dua los yog sib npaug rau arg2 , feem. Arg1 thiab arg2 tej zaum yuav zoo lossis tsis pom zoo.

YAM TSEG TXAUS SIAB

Thaum ib cov lus txib yooj yim tiav, lub plhaub ua tiav qhov kev nthuav dav, kev ua, thiab kev rov qab los, ntawm sab laug mus rau sab xis.

1.

Cov lus uas tus parser tau khij ua cov haujlwm tsis txaus ntseeg (cov uas ua dhau los ntawm cov lus txib npe) thiab kev txheeb tseg rau tom qab ua tiav.

2.

Cov lus uas tsis txawv ntawm cov haujlwm lossis kev tshem tawm raug nthuav dav. Yog tias cov lus nyob twj ywm tom qab kev nthuav dav, thawj lo lus raug coj los ua lub npe ntawm cov lus txib thiab cov lus ntxiv uas yog cov lus sib cav.

3.

Cov kev hloov tshiab tau ua tiav raws li piav saum toj saud hauv REDIRECTION .

4.

Cov ntawv nyeem tom qab lub hauv txhua qhov kev xaib no kuj muaj kev sib tw ua kom tiav, kev ua haujlwm ntxiv, kev hloov kev hloov, kev sib txuas ntxiv, thiab kev tshem tawm tawm ua ntej raug muab xa mus rau qhov txawv.

Yog hais tias tsis muaj cov lus txib lub npe, cov haujlwm uas tsis sib haum xeeb yuav cuam tshuam rau qhov chaw hauv plhaub niaj hnub no. Txwv tsis pub, qhov txawv txav ntxiv rau cheeb tsam ntawm qhov hais kom ua tiav thiab tsis cuam tshuam rau qhov chaw hauv plhaub. Yog hais tias ib qho ntawm cov ntawv tso cai yuav muab tus nqi rau ib qho txawv txav ntawm qhov kev nyeem ntawv, qhov yuam kev tshwm sim, thiab qhov kev txiav txim tawm nrog ib qho tsis muaj xoom.

Yog hais tias tsis muaj cov lus txib lub npe, kev rov qab ua tiav, tab sis tsis cuam tshuam rau qhov chaw khoob pluav niaj hnub no. Qhov kev yuam kev hloov ua rau qhov kev txiav txim tawm los nrog ib qho tsis-xoom.

Yog tias muaj ib lo lus txib tshuav tom qab kev cog lus tiav, ua tiav cov lus hais raws li tau hais hauv qab no. Txwv tsis pub, qhov kev txiav txim tawm. Yog tias ib qho ntawm qhov kev tshem tawm muaj cov lus txib kev hloov, qhov kev tawm ntawm qhov kev txiav txim yog qhov kev tawm ntawm cov lus txib dhau los ua. Yog tias tsis muaj kev hloov tshiab, cov lus sam sim tawm nrog xoom.

KEV TXHAWJ TSWJ

Tom qab cov lus txib tau muab faib ua lus, yog tias nws tau ua raws li cov lus txib yooj yim thiab cov kev xaiv ntawm cov lus xaiv, cov lus hauv qab no yuav raug coj mus.

Yog hais tias lub npe txib tsis muaj slashes, lub plhaub nkag los nrhiav nws. Yog tias muaj lub plhaub ua haujlwm los ntawm lub npe ntawd, qhov ntawd yog qhov ua haujlwm raws li tau piav saum toj no hauv FUNCTIONS . Yog hais tias lub npe tsis haum ib qho kev ua haujlwm, lub plhaub tshawb nrhiav rau hauv daim ntawv teev cov kab hauv plhaub. Yog tias pom muaj match, lub tuam tsev ntawd yog tus tau txais.

Yog hais tias lub npe tsis yog lub plhaub tsis ua hauj lwm los yog ib qho kev ua, thiab tsis muaj kev sib thooj, tawm bash txhua qhov ntawm PATH rau ib phau ntawv uas muaj cov npe ntawm lub npe ntawd. Bash siv lub rooj hash kom nco ntsoov txoj kev ua kom tiav cov ntaub ntawv (saib cov hash hauv qab QHOV CHAW TSIS TAU HAUJ LWM hauv qab). Ib txoj kev tshawb tag nrho ntawm Wage nyob rau hauv txoj kev PATH tsuas yog ua tau yog tias qhov kev hais kom tsis muaj nyob rau hauv lub rooj muaj nyias. Yog tias qhov kev tshawb fawb tsis yog, lub plhaub zis tawm ib qho lus yuam kev thiab rov pib qhov teeb meem tawm ntawm 127.

Yog tias qhov kev tshawb fawb muaj kev vam meej, los sis yog hais tias cov lus txib muaj ib los yog ntau tshaj tawm, lub plhaub ua tus tsim muaj npe nyob hauv ib qho chaw ua tiav. Lus sib cav 0 tau teem rau lub npe, thiab cov lus sib ntxiv rau qhov kev hais kom raug muab tso rau cov nqe lus uas tau muab, yog muaj.

Yog tias qhov kev tiav tsis tiav vim tias cov ntaub ntawv tsis yog nyob rau hauv cov ntaub ntawv, thiab cov ntaub ntawv tsis yog ib phau ntawv, nws yog kwv yees tias yog ib lub plhaub tsab ntawv , cov ntaub ntawv uas muaj cov lus txib plhaub. Ib subshell yog spawned rau txim tuag nws. Lub subshell no rov qab kho dua tshiab, yog tias qhov kev nyuab siab zoo li yog hais tias lub plhaub tshiab tau raug xa mus lis cov ntawv, nrog rau qhov tshwj tseg tias cov chaw ua raws li cov lus txib nco qab los ntawm niam txiv (saib cov lus qhia hauv qab hauv qab QHOV CHAW TSEV QHUAB QHIA ) tau muab khaws cia los ntawm tus menyuam.

Yog tias qhov kev zov me nyuam yog ib qho ntaub ntawv pib nrog #! , qhov seem ntawm thawj kab ntawv qhia tus neeg txhais lus rau qhov kev pab cuam. Lub plhaub executes tus neeg txhais lus txhais ntawm kev khiav hauj lwm lub tshuab uas tsis lis cov hom ntawv no tus kheej. Cov lus sib tham rau tus neeg txhais lus yog ib qho kev xaiv sib tw xaiv tau tom qab tus neeg txhais lus npe rau thawj kab lus ntawm qhov kev zov me nyuam, tom qab ntawd lub npe ntawm qhov kev zov me nyuam, ua raws li cov lus sib cav, yog tias muaj.

COMMAND TXOJ KEV TXIAV TXIM

Lub plhaub muaj qhov chaw ua tiav , uas muaj cov hauv qab no:

*

qhib cov ntaub ntawv pub los ntawm lub plhaub ntawm invocation, raws li hloov los ntawm redirections nkag mus rau exec tsa

*

cov npe ua haujlwm tam sim no raws li cd , thawb , los yog popd , los yog tau los ntawm lub plhaub thaum thov

*

cov ntaub ntawv tsim hom daim npog ntsej muag raws li teem los ntawm umask los yog tau txais los ntawm lub plhaub niam txiv

*

tam sim no cuab teeb los ntawm cuab

*

plhaub (parameters) plhaub (non-plhom) uas tau muab los ntawm qhov kev hloov ntawm qhov txawv txav los yog nrog lossis teeb los ntawm lub plhaub leej niam leej txiv hauv qhov chaw

*

plhaub lub cev uas tau muab teev tseg thaum ua tiav lossis muaj los ntawm lub plhaub leej niam leej txiv hauv ib puag ncig

*

cov kev xaiv enabled ntawm invocation (tog twg los ntawm kev pheej hmoo lossis nrog cov lus sib cav-kab) los yog teeb

*

cov kev xaiv enabled ntawm khw

*

plhaub tus neeg tuaj yeem txhais nrog alias

*

ntau tus txheej txheem ID, nrog rau cov hauj lwm tom qab, tus nqi ntawm $$ , thiab tus nqi ntawm $ PPID

Thaum ib cov lus txib yooj yim uas tsis yog qhov kev ua haujlwm los yog lub plhaub rau kev ua hauj lwm, nws tau raug xa mus rau hauv ib qho chaw ua tiav cais hauv qab no. Tshwj tsis yog tias tau sau, lub qhov tseem ceeb yog pub los ntawm lub plhaub.

*

lub plhaub qhib cov ntaub ntawv, ntxiv rau cov kev hloov kho thiab cov lus ntxiv los ntawm redirections rau qhov kev hais kom ua

*

cov npe ua haujlwm tam sim no

*

cov ntaub ntawv tsim hom daim npog qhov ncauj

*

plhaub qhob qhob cim rau export, nrog rau cov qhab-nees exported rau qhov hais kom ua, dhau hauv ib puag ncig

*

traps ntes tau los ntawm lub plhaub rov qab mus rau qhov tseem ceeb ntawm qhov khoom pub los ntawm lub plhaub tus niam txiv, thiab traps ignored los ntawm lub plhaub ignored

Ib qho kev hais kom ua nyob rau hauv qhov chaw sib cais no tsis tuaj yeem cuam tshuam lub plhaub qhov chaw ua tiav.

Hais kom hloov thiab asynchronous commands yog invoked hauv subshell ib puag ncig uas yog ib qho chaw sib txhi ntawm lub plhaub chaw, tsuas yog cov ntxiab ntes tau los ntawm lub plhaub rov qab mus rau qhov tseem ceeb uas lub plhaub pub los ntawm nws niam txiv ntawm invocation. Builtin commands uas yog invoked raws li ib feem ntawm qhov pipeline tseem raug tua nyob rau hauv ib qho chaw subshell. Kev hloov pauv mus rau subshell ib puag ncig yuav tsis cuam tshuam rau lub plhaub qhov chaw ua tiav.

Yog hais tias ib lo lus txib taug qab los ntawm tus & tswj txoj hauj lwm tsis koom, cov qauv siv rau kev hais kom ua yog qhov khoob ntawv / dev / thov . Txwv tsis pub, cov lus txib invoked inherits cov ntawv descriptors ntawm lub plhaub raug hu raws li hloov los ntawm redirections.

SAIB ALSO

Bash Reference Manual , Brian Fox thiab Chet Ramey

Phau ntawv nyeem Gnu Readline , Brian Fox thiab Chet Ramey

Lub Tsev Qiv Ntawv Nyeem Gnu , Brian Fox thiab Chet Ramey

Portable Interface Interface Interface (POSIX) Tshooj 2: Plhaub thiab Hlaws , IEEE

sh (1), ksh (1), csh (1)

emacs (1), vi (1)

nyeem ntawv (3)