Sh - Linux Command - Unix Command

NAME

bash - GNU Bourne-Again SHell

Синнассис

bash [options] [file]

ТОДОРХОЙЛОЛ

Bash нь стандарт оролтоос эсвэл файлаас унших командыг гүйцэтгэх sh- нийцтэй командын хэлний тайлбарлагч юм. Bash нь Korn болон C бүрхүүлүүдээс ( ksh болон csh ) ашигтай функцуудыг агуулдаг.

Bash нь IEEE POSIX Shell ба Хэрэглээний техникийн тодорхойлолтыг (IEEE Working Group 1003.2) тохируулан хэрэгжүүлэх зорилготой юм.

OPTIONS

Багцын тушаалын тайлбарт бичигдсэн нэг тэмдэгттэй тохируулгуудаас гадна bash дуудагдах үед дараах сонголтуудыг тайлбарлах болно:

-c мөр

Хэрэв -c тохируулга байгаа бол тушаалууд тушаалын мөрөөс уншигдах болно. Хэрэв тэмдэгт мөрийн дараа өгөгдөл байгаа бол тэдгээр нь $ 0- ээс эхлэн байрлалын параметрт томилогдоно.

-i

Хэрэв -i тохируулга байгаа бол бүрхүүл нь интерактив юм.

-l

Bash тушаал нь нэвтрэх бүрхүүл хэлбэрээр дуудагдсан байх (доор INVOCATION хэсгийг үзнэ үү).

-r

Хэрэв -r тохируулга байгаа бол бүрхүүл нь хязгаарлагдсан (доорх RESTRICTED SHELL- г харна уу).

-s

Хэрэв -s сонголт байгаа бол, эсвэл сонголт хийх боловсруулалтын дараа ямар ч аргумент үлдээгүй бол стандарт оролтоос тушаалуудыг уншдаг. Энэ тохируулга нь интерактив бүрхүүлийг ажиллуулахад параметрийг тохируулах боломжийг олгодог.

-D

Стандарт ouput дээр өмнө нь $ хоёроор бичсэн бүх $ тэмдэгт мөрийн жагсаалтыг гаргав. Эдгээр нь C эсвэл POSIX-ийн биш байгаа үед хэлний орчуулгад хамаарах тэмдэгт юм. Энэ нь -n сонголтыг илэрхийлнэ; Ямар ч тушаалыг ажиллуулахгүй.

[- +] O [ shopt_option ]

shopt_option нь shopt builtin-д хүлээн зөвшөөрөгдсөн бүрхүүлийн сонголтуудын нэг юм (доор SHELL BUILTIN COMMANDS- ийг үзнэ үү). Хэрэв shopt_option байгаа бол -O тохиргооны үнэ цэнийг тогтооно; + Эсвэл үүнийг үгүйсгэдэг. Хэрэв shopt_option өгөгдөөгүй бол shopt-ээр хүлээн зөвшөөрөгдсөн бүрхүүлийн сонголтуудын нэр, утгыг стандарт гаралт дээр хэвлэдэг. Хэрэв дуудах сонголт нь + O бол гаралт нь оролт байдлаар дахин ашиглагдаж болох хэлбэрээр харагдана.

A - сонголтуудын төгсгөлд дохио өгч, нэмэлт сонголт хийх боловсруулалтыг идэвхгүй болгодог. + Дараа нь дурын аргументууд нь файлын нэрс болон аргументууд гэж үздэг. + - ийн аргумент нь.

Bash нь олон тэмдэгтийн олон тооны тохируулгуудыг тайлбарладаг. Тэмдэгт мөрийг таних нэг тэмдэгтээс өмнө эдгээр сонголтууд нь тушаалын мөрөнд гарч ирэх ёстой.

- деб-пу-тэмдэгт

Д-тэй тэнцүү боловч гаралт нь GNU gettext po (зөөврийн объект) файлын форматтай байна.

- залгах мөр

Д-тэй тэнцүү

--Туслаач

Стандарт гаралт дээрх хэрэглээний зурвасыг харуулах ба гарах гарцыг харуулах.

- татсан файл

- .file файл

Хэрэв бүрхүүлийн интерактив бол интерактив (доорх INVOCATION хэсгийг үзнэ үү) -ээс хувийн файлын стандарт ~ / .bashrc файлын файлуудыг ажиллуулах.

--login

-l-тэй тэнцүү

- үл мэдэгдэх

Бүрхүүл нь интерактив үед командын мөрийг уншихын тулд GNU уншигчтай номын санг бүү ашигла.

--noprofile

Системийн эхлүүлэх файл / etc / profile эсвэл хувийн тохируулгын файлуудын аль нэгийг уншаад ~ / .bash_profile , ~ / .bash_login , эсвэл ~ / .profile файлыг уншаарай . Анхдагч байдлаар, bash нь нэвтрэх бүрхүүл хэлбэрээр дуудагдсан үед эдгээр файлуудыг уншдаг (доорхи INVOCATION хэсгийг үзнэ үү).

- бус

Бүрхүүл нь харилцан хамааралтай бол / / .bashrc хувийн файлыг бүү уншина уу. Хэрэв энэ тохируулга нь sh гэж дуудагдсан бол энэ тохируулга нь анхдагчаар хийгддэг .

- факс

Стандарт ( posix горим ) -той тааруулахын тулд анхдагч ажиллагаа нь POSIX 1003.2 стандартаас ялгаатай bash дүрийг өөрчлөх.

- хязгаарлагдмал

Бүрхүүл нь хязгаарлагддаг (доорх RESTRICTED SHELL- г үзнэ үү).

- rpm-шаарддаг

Бүрхүүлийн скриптийг ажиллуулахад шаардагдах файлуудын жагсаалтыг гаргах хэрэгтэй. Энэ нь '-n' гэсэн утгатай бөгөөд цаг хугацааны алдааг шалгахын тулд эмхэтгэхийн тулд ижил хязгаарлалттай болно; Нөөц, [] тест, ба үнэлгээ нь задалагдахгүйн тулд зарим хамаарлуудыг орхиж болно. - verbose -v .

- хувилбар

Стандарт гаралт дээр bash тушаалын хувилбарын мэдээллийг харуулах ба гарах амжилттай байна.

ЭРХ ЗҮЙН

Хэрэв нэмэлт өгөгдөл боловсруулалтын дараа нэмэлт өгөгдлүүд үлдэх бөгөөд -c болон -s тохируулгыг өгсөн бол эхний аргумент нь бүрхүүлийн тушаалуудыг агуулсан файлын нэр юм. Хэрэв энэ маягаар bash дуудагддаг бол 0 $ нь файлын нэрийг зааж өгдөг бөгөөд байрлалын параметрүүдийг үлдсэн аргументууд дээр тавина. Bash энэ файлаас командуудыг уншиж, ажиллуулж дараа нь гардаг. Bash- ийн гарах статус нь скриптэд гүйцэтгэсэн хамгийн сүүлийн тушаалын гарах статус юм. Хэрэв ямар ч тушаалыг ажиллуулаагүй бол exit status 0 байна. Одоогийн сан доторх файлыг нээх оролдлогыг эхлээд хэрэв ямар ч файл олоогүй бол бүрхүүл нь PATH доторх сангуудыг хайлт хийхийг оролддог.

Оруулах

Нэвтрэх бүрхүүл бол тэг функцын анхдагч тэмдэгт бол + , эсвэл энэ нь.

Интерактив бүрхүүл нь опционы бус аргументуудгүйгээр хийгддэг бөгөөд стандарт оролт, гаралт нь терминалуудтай ( isatty (3) -ээр тодорхойлогддог) эсвэл -i тохируулгаар эхэлсэн. PS1 нь $ bash юм. Хэрэв bash нь интерактив бол shell буюу скрипт файлыг энэ төлөвийг тест хийхийг зөвшөөрдөг.

Дараах догол мөр нь bash эхлүүлэх файлуудыг хэрхэн ажиллуулдаг талаар тайлбарладаг. Хэрэв файлуудын аль нэг нь байдаг боловч уншигдах боломжгүй бол bash алдаа гаргана. Tildes нь EXPANSION хэсэгт Tilde Expansion-ийн доор доорх файлын нэрээр өргөжинө.

Bash нь интерактив нэвтрэх бүрхүүл хэлбэрээр дуудагдах юмуу эсвэл --login тохируулгатай интерактив бүрхүүл хэлбэрээр ашиглавал , хэрэв энэ файл байгаа бол / etc / profile файлаас тушаалуудыг ажиллуулдаг. Тэр файлыг уншсаны дараа ~ / .bash_profile , ~ / .bash_login , болон ~ / .profile файлыг дарааллаар нь хайж уншиж болох ба эхнийхээс уншиж, ажиллуулдаг. - shell нь энэ зан үйлийг саатуулж эхэлсэн үед --noprofile тохируулгыг ашиглаж болно.

Нэвтрэлтийн бүрхүүл гарахад, bash файл байвал ~ / .bash_logout файлаас уншиж, ажиллуулна.

Нэвтрэлтийн бүрхүүл биш интерактив бүрхүүлийг эхлүүлэх үед bash файлыг агуулсан ~ /. Bashrc файлыг уншиж, ажиллуулдаг. Энэ нь -norc тохируулгыг ашиглах замаар энэ нь саад болж болзошгүй юм. - filename файлын тохируулга нь bashrc-ийн оронд тушаал бичихийг тушаал bash- г шаардах болно.

Баш эхлээд харилцан ажиллахгүй байх үед бүрхүүлийн скрипт ажиллуулахын тулд, жишээлбэл, хүрээлэн буй орчны BASH_ENV хувьсагчийг хайж , тэнд харагдаж байгаа утгыг нь өргөтгөдөг бөгөөд файлын нэрийг уншиж, ажиллуулж байгаа өргөтгөсөн утгыг ашигладаг . Bash дараах тушаалыг гүйцэтгэсэн мэт ажилладаг:

хэрэв [-n "$ BASH_ENV"]; Дараа нь. "$ BASH_ENV"; fi

гэхдээ PATH хувьсагчийн утга файлын нэрийг хайхад ашиглагддаггүй.

Хэрэв bash нь sh нэртэйгээр ажиллавал POSIX стандарттай нийцэж байхын зэрэгцээ sh-ийн түүхийн хувилбаруудын эхлүүлэх шинж чанарыг аль болох ойртуулахыг оролддог. Интерфэйсийн нэвтрэх бүрхүүл, эсвэл интерфэйсийн нэвтрэх бүрхүүлээр дуудагдах үед, --login тохируулгатай интерактив бүрхүүл үүсгэгддэгээр эхлээд / etc / profile болон ~ / .profile файлаас тушаалуудыг ажиллуулахыг оролддог. --noprofile тохируулгыг энэ үйлдлийг хориглож болно. Ш sh нэртэй интерактив бүрхүүлээр дуудагдах үед bash хувьсагч ENV- ийг хайж олохын тулд утгыг нь тодорхойлж өгдөг бөгөөд файлыг уншиж, ажиллуулахын тулд өргөтгөсөн утгыг ашигладаг. Sh sh гэж бичигдсэн бүрхүүл ямар нэгэн бусад эхлүүлэх файлаас тушаалуудыг ажиллуулахыг оролдохгүйгээс болоод - rcfile тохируулга нь ямар ч нөлөө үзүүлэхгүй. Sh- тэй дуудсан интерактив бүрхүүл нь бусад эхлүүлэх файлуудыг уншихыг оролдохгүй. Шууд гэж дуудагдах үед эхлүүлэх файлууд уншсаны дараа bash платик горимд ордог.

ПАСИС-ийн псикс горимд эхэлсэн бол, --posix тушаалын тохируулгатай адилаар эхлүүлэх файлуудын POSIX стандартыг дагадаг. Энэ горимд интерактив бүрхүүлүүд нь ENV хувьсагчийг өргөтгөх бөгөөд тушаалууд нь өргөжүүлсэн утгыг нь уншиж, ажиллуулдаг файлаас гүйцэтгэгдэнэ. Бусад эхлүүлэх файлууд уншдаггүй.

Bash нь алсын бүрхүүлийн демон ажиллуулж байх үед ихэвчлэн rshd ажиллуулахыг оролддог. Хэрэв bash үүнийг rshd- ээр ажиллуулсан гэж үзвэл хэрэв энэ файл байгаа, уншдаг бол ~ /. Bashrc тушаалуудыг уншиж, ажиллуулдаг. Хэрэв энэ нь sh гэж дуудвал үүнийг хийхгүй. --norc тохируулгыг энэ үйлдлийг хориглодог бөгөөд, өөр файлыг уншуулахын тулд - rcfile тохируулгыг ашиглаж болох боловч rshd нь тэдгээр бүрхүүлүүдтэй бүрхүүлийг тэр чигээр нь эсвэл тэдгээрийг зааж өгөхийг зөвшөөрдөггүй.

Хэрэв бүрхүүл нь жинхэнэ хэрэглэгчийн (бүлгийн) id -тэй үр дүнгүй хэрэглэгчийн (бүлгийн) id -тэй эхлэв, мөн -p сонголтыг хангаж өгдөггүй, эхлүүлэх файлууд нь уншигдахгүй, бүрхүүлийн функцууд нь байгаль орчноосоо өвлөгдөөгүй, SHELLOPTS хувьсагч, хэрэв энэ нь хүрээлэн буй орчинд харагдаж байгаа бол орхигдсон, үр дүнтэй хэрэглэгчийн ID нь жинхэнэ хэрэглэгчийн id-д тавигддаг. Хэрэв -p тохируулга нь дуудлагад нийлүүлэгдсэн бол эхлүүлэх процесс нь адилхан боловч үр дүнтэй хэрэглэгчийн id дахин тохируулагдана.

ТОДОРХОЙЛОЛ

Энэхүү баримтын үлдсэн хэсэгт дараах тодорхойлолтыг ашигласан болно.

хоосон байна

Орон зай эсвэл таб.

үг

Бүрхүүлээр нэг нэгж гэж тооцогддог тэмдэгтүүдийн дараалал. Мөн жетон гэж нэрлэдэг.

нэр

Үг үсэг, доогуур зураастай үсэг, үсгэн үсэг, доогуур зурааснаас бүрдсэн үг . Түүнийг танигч гэж нэрлэдэг.

metacharacter

Огт тэмдэглээгүй үед үгсийг салгаж харуулах тэмдэгт. Дараахь зүйлийн нэг нь:

| &; () <> зайны таб

хяналтын оператор

Хяналтын функцийг гүйцэтгэдэг токен . Энэ нь дараах тэмдгүүдийн нэг юм:

| | & &&; ;; () |

ХӨРӨНГӨ ҮГҮЙ

Нөөцлөлт үгс гэдэг нь бүрхүүлийн онцгой утгатай үгс юм. Дараах үгсийг ашиггүй гэж тэмдэглэсэн үед хэрэглэдэг бөгөөд энгийн тушаалын эхний үг (доорхи SHELL GRAMMAR- г үзнэ үү) эсвэл хэргийг гуравдахь үгээр буюу тушаалаар:

! жишээ нь {} цаг [[]]

SHELL GRAMMAR

Энгийн тушаалууд

Энгийн команд нь нэмэлт хувьсагчийн даалгаврын дараалал бөгөөд хоёулангаар нь хоосон, салангид үгс, чиглүүлэлтүүд болон хяналтын оператороор цуцлагддаг. Эхний үг нь ажиллуулах тушаалыг тодорхойлдог бөгөөд тэгийг авч үзье. Үлдсэн үгс нь дуудагдсан тушаалын аргументаар дамжуулагдана.

Энгийн командын буцах утга нь түүний гарах статус, эсвэл 128+ n гэсэн тушаал нь дохиог n -ээр цуцалсан бол.

Дамжуулах хоолой

Шугам хоолой нь тэмдэгтээр тусгаарлагдсан нэг буюу хэд хэдэн командын дараалал юм . Хоолойн загвар нь:

[ цаг [ -p ]] [! ] тушаал [ | тушаал2 ...]

Тушаалын стандарт гаралтыг хоолойгоор холбогдсон командын стандарт оролтод холбогдоно . Энэ холболтыг командаар зааж өгсөн аливаа чиглүүлэлтүүдийн өмнө гүйцэтгэнэ (доорх REDIRECTION- ийг үзнэ үү).

Хадгалагдсан үг ! дамжуулах хоолойн өмнө, дамжуулах хоолойн гарах байдал нь сүүлчийн тушаалын гарах статусын хувьд логикоор биш юм. Үгүй бол шугам хоолойн статус нь сүүлийн тушаалын гарах статус юм. Ус дамжуулах хоолойн бүх тушаалыг утгыг буцаахаас өмнө дуусгавар болгохыг хүлээнэ.

Хэрвээ ус дамжуулах хоолойн өмнө үг хадгалагдах хугацаа өнгөрвөл ус дамжуулах хоолойн хугацааг дуусгавар болох үед хэрэглэгдэж буй хэрэглэгч ба системийн хугацааг мэдээлнэ. -p тохируулга нь гаралтын форматыг POSIX-ийн тодорхойлсоноор өөрчилдөг. TIMEFORMAT хувьсагч нь цаг хугацааны мэдээллийг хэрхэн харуулахыг заасан форматын мөр хэлбэрээр тохируулж болно; доорхи Shell Хувьсагчийн дор TIMEFORMAT- ийн тайлбарыг үзнэ үү.

Хоолой дахь команд тусдаа процесс болгон гүйцэтгэгдэнэ.

Жагсаалт

Жагсаалт нь операторуудын аль нэгээр тусгаарлагдсан нэг буюу хэд хэдэн шугамын дараалал юм ; , & , && , эсвэл || , сонголтоо цуцалсан ; , & , эсвэл .

Эдгээр жагсаалтын операторууд, && ба || ижил төстэй, дараа нь ; мөн адил тэгш байх ёстой.

Нэг буюу хэд хэдэн шинэ мөрүүдийн дараалал нь коммандыг хязгаарлахын тулд цэг таслалаасаа жагсаалт дээр гарч ирж болно.

Хэрэв командыг хяналтын оператор устгавал & os ; -ийн командыг командыг ашиглана. Бүрхүүл нь тушаал дуусгахыг хүлээхгүй бөгөөд буцах статус нь 0 байна . дэс дараалан гүйцэтгэгдэнэ; бүрхүүл бүр тушаал хүлээхийг хүлээх болно. Буцах төлөв нь гүйцэтгэсэн сүүлчийн тушаалын гарах статус юм.

Хяналтын операторууд && ба || жагсаалт болон жагсаалтыг харуулна. AND жагсаалт нь маягттай байна

command1 && тушаал2

command2 нь тэг хэрэв exit status нь exit status- г буцаах тохиолдолд л гүйцэтгэнэ.

OR жагсаалт нь маягттай байна

command1 || тушаал2

тушаал нь тэгээс гарах гарцын статусыг буцаах тохиолдолд command2 тушаалыг ажиллуулдаг. AND ба OR жагсаалтуудын буцаах статус нь жагсаалтанд гүйцэтгэсэн хамгийн сүүлийн тушаалын гарах статус юм.

Нийлмэл тушаалууд

Нийлмэл команд нь дараах зүйлсийн нэг юм:

( жагсаалт )

жагсаалтыг доороос үзнэ үү. Хувьсагдах даалгавар болон бүрхүүлийн орчинд нөлөөлдөг builtin тушаалууд нь тушаал дууссаны дараа хүчин төгөлдөр байх болно. Буцах төлөв нь жагсаалтны гарах гарц юм.

{ жагсаалт ; }

жагсаалт нь зүгээр л бүрхүүлийн орчинд хийгддэг. жагсаалтыг шинэ мөрийн дугаар эсвэл цэг таслалаар цуцална. Энэ нь бүлгийн команд гэгддэг. Буцах төлөв нь жагсаалтны гарах гарц юм. Metacharacters ( ба ) , { ба } хэлүүд нь нөөцлөгдсөн үгсээс ялгаатай нь нөөц хуулбарыг хүлээн зөвшөөрөхийг зөвшөөрсөн хаана байх ёстойг анхаарах хэрэгтэй. Үг нь эвдрэл гарахгүй тул тэдгээрийн жагсаалтаас хоосон зайгаар тусгаарлагдах ёстой.

( илэрхийлэл )

Энэ илэрхийлэл нь ARITHMETIC EVALUATION дор доор дурдсан дүрмүүдийн дагуу үнэлэгдэнэ . Хэрэв илэрхийллийн утга тэг биш байвал буцах статус нь 0; өөрөөр хэлбэл буцаах статус нь 1. Энэ нь " илэрхийлэл " гэсэн утгатай яг ижил байна.

[[ илэрхийлэл ]]

Нөхцөлт илэрхийллийн илэрхийллийн үнэлгээнээс хамааран 0 эсвэл 1 гэсэн статусыг буцаана . Илэрхийллүүд нь доор тайлбарласан үндсэн баримтуудаас бүрдэнэ . Үгийн хуваалт болон замнал өргөтгөл нь [[ ба ] хоорондох үгс дээр хийгддэггүй; tilde өргөтгөл, параметр, хувьсах өргөтгөл, арифметик өргөтгөл, тушаал орлуулалт, процессийн орлуулалт, иш татан зайлуулах ажлыг гүйцэтгэдэг.

== ба ! = Операторууд ашиглагдах үед операторын баруун талд байгаа тэмдэгт мөрийг тохирох аргаар доорх дүрмүүдийн дагуу тохируулсан хэв загвар гэж үзнэ. Буцах утга нь хэвэнд таарах юмуу эсвэл загвартай тохирохгүй байвал 0 байна. Загварын аль ч хэсэг үүнийг үүнийг мөр шиг тааруулахын тулд иш татсан байж болно.

Илэрхийллүүдийг дараах операторуудыг хослуулан хэрэглэж болно.

( илэрхийлэл )

Үзүүлэнгийн утгыг буцаана. Энэ нь операторын хэвийн давтамжийг дарахад хэрэглэгддэг.

! илэрхийлэл

Хэрвээ илэрхий бол худлаа.

expression1 && expression2

Expression1 ба expression2 хоёулаа үнэн эсэхийг шалгаарай.

expression1 || expression1 эсвэл expression2 аль нь үнэн болохыг илэрхийлнэ .

&& ба || илэрхийллүүд1 нь нөхцөлт илэрхийллийн илэрхийллийн буцах утгыг тодорхойлоход хангалттай байвал операторууд expression2 -ийг үнэлдэггүй.

үг [ нэрээр ]; жагсаалт хийх ; хийсэн

Дараах үгсийн жагсаалтыг өргөжүүлж, зүйлийн жагсаалтыг гаргаж байна. Хувьсагчийн нэр энэ жагсаалтын элемент бүрт тохируулагдсан бөгөөд жагсаалт бүрийг гүйцэтгэдэг. Хэрэв үг орхигдсон бол тушаал нь тогтоосон байрлал бүрийн хувьд жагсаалтыг нэг удаа ажиллуулдаг (доор өгөгдсөн PARAMETERS- ыг үзнэ үү). Буцах төлөв нь ажиллуулах сүүлийн тушаалын гарах статус юм. Хэрвээ үр дүнг хоосон жагсаалтанд оруулсны дараа өргөжин тэлэх юм бол ямар ч команд хийгдэхгүй, буцаах статус нь 0 байна.

for (( expr1 ; expr2 ; expr3 )); жагсаалт хийх ; хийсэн

Нэгдүгээрт, арифметик илэрхийлэл expr1 нь ARITHMETIC EVALUATION дор доор дурдсан дүрмүүдийн дагуу үнэлэгдэнэ . Арифметик илэрхийлэл expr2 нь тэгийг үнэлэх хүртлээ үнэлэгддэг. Цаг хугацаа бүр expr2 нь тэгээс бус утгыг үнэлдэг бол жагсаалтыг гүйцэтгэж, арифметик илэрхийлэл expr3- ийг үнэлнэ. Хэрэв ямар нэг илэрхийлэл орхигдсон бол энэ нь 1-ээр үнэлэгддэг. Ашиглах буцах утга нь илэрхийлэгдэх жагсаалт дахь хамгийн сүүлчийн тушаалын гарах тушаал эсвэл хуурамч илэрхийллүүд нь буруу байна.

Нэр [ нэрээр ] сонгох ; жагсаалт хийх ; хийсэн

Дараах үгсийн жагсаалтыг өргөжүүлж, зүйлийн жагсаалтыг гаргаж байна. Өргөтгөсөн үгсийн олонлог нь стандарт алдаанд, тоогоор өмнө нь хэвлэгддэг. Хэрэв үг нь орхигдсон бол байрлалын параметрүүд хэвлэгдэх болно (доорхи PARAMETERS- ыг үзнэ үү). Дараа нь PS3 хүлээх мөрийг стандарт оролтоос уншина. Хэрвээ мөр нь харагдахуйц үгсийн аль нэгэнд тохирсон тооноос бүрдэх бол нэрний утга нь тухайн үгээр тохируулагдана. Хэрвээ мөр хоосон байвал үг, хүлээх мөр нь дахин гарч ирнэ. Хэрэв EOF уншсан бол комманд дуусна. Өөр бусад уншигдах уншилт нь нэрийг null утгад оруулах шалтгаан болдог. Шугам уншигч нь хувьсагч REPLY- д хадгалагдана. Жагсаалт нь сонгогдох команд дуусах хүртэл гүйцэтгэгдэнэ. Сонгогдсон exit status нь жагсаалтанд гүйцэтгэгдсэн хамгийн сүүлийн тушаалын гарах статус, эсвэл ямар ч тушаалыг ажиллуулаагүй бол тэг болно.

[[(] хэв маяг [ | |

Кадын тушаал эхлээд үгийг өргөжүүлж, замыг өргөтгөхийн тулд ижил чиглүүлэлтийн дүрмийг ашиглана ( Доорхи Pathname Expansion- г харна уу). Тоглоом олдвол зохих жагсаалтыг гүйцэтгэнэ. Эхний тоглолт дууссаны дараа дараагийн тоглолтууд оролдлого хийгдэхгүй. Ямар ч загвар тохирохгүй бол гарах статус тэг болно. Үгүй бол энэ нь жагсаалтанд гүйцэтгэсэн хамгийн сүүлийн тушаалын гарах статус юм.

жагсаалт ; дараа нь жагсаалт; [ elif жагсаалт ; дараа нь жагсаалт ; ] ... [ өөр жагсаалт ; ]

Хэрвээ жагсаалт гүйцэтгэгдэж байгаа бол. Хэрэв түүний гарах статус тэг бол, тэрхүү жагсаалтыг гүйцэтгэнэ. Үгүй бол elif жагсаалт бүрийг ээлж дараалан гүйцэтгэж байгаа бөгөөд хэрэв exit status нь тэг бол, тэгээд тэр үед харгалзах жагсаалтыг ажиллуулж дууссан тушаал нь дуусна. Үгүй бол бусад жагсаалт нь хэрэв байгаа бол гүйцэтгэгдэнэ. Гарах статус нь гүйцэтгэсэн хамгийн сүүлчийн тушаалын гарах статус, эсвэл ямар ч нөхцөл шалгагдаагүй бол тэг болно.

жагсаалт ; жагсаалт хийх ; хийсэн

жагсаалт хүртэл ; жагсаалт хийх ; хийсэн

Тэмдэглэл нь жагсаалтын сүүлийн тушаал нь тэгийн гарах статусыг буцаана гэсэн тушаал өгдөг. Туршилтыг үл тоомсорлосноос хүртэл тушаал нь тушаалын хувьд адил байна; жагсаалт дахь сүүлийн тушаал нь тэгээс гарах гарцын статусыг буцаана. Тушаалын төгсгөлд болон гарах тушаалууд нь хамгийн сүүлд гүйцэтгэгдэж байгаа жагсаалтын тушаалын гарах шинж чанар юмуу эсвэл тэггүйгээр гүйцэтгэгдэнэ.

[ функц ] нэр () { жагсаалт ; }

Энэ нь нэртэй функцийг тодорхойлдог. Функцийн бие нь {ба} хоорондох тушаалуудын жагсаалт юм. Энэ жагсаалт нь нэрийг энгийн тушаалын нэрээр нэрлэсэн үед ажиллуулдаг. Функцийн гарцын статус нь биед гүйцэтгэсэн хамгийн сүүлийн тушаалын гарах статус юм. (Доорх функцийг үзнэ үү.)

COMMENTS

Интерактив бус бүрхүүлд интерактив коммюнити барих бүтэц нь идэвхжих боломжтой (доорхи SHELL BUILTIN COMMANDS- ыг үзнэ үү), уг үсгээр бичсэн үлдсэн тэмдэгтүүдийг үл тоомсорлох гэсэн # шалтгаанаар эхэлсэн үг. Interactive_comments тохиргоог идэвхжүүлээгүй интерактив бүрхүүл тайлбар өгөхийг зөвшөөрөхгүй. Interaction_comments сонголт нь интерактив бүрхүүл дээр анхдагчаар хийгддэг.

ШАЛГАЛТ

Ишлэл нь тодорхой тэмдэгтүүд эсвэл үгнүүдийн тусгай утгыг бүрхүүлд шилжүүлэхэд хэрэглэгддэг. Ишлэлийг тусгай тэмдэгтээр тусгай эмчилгээг идэвхгүй болгох, хадгалагдсан үгсийг хүлээн зөвшөөрөхөөс урьдчилан сэргийлэх, параметрийг өргөтгөхөөс сэргийлдэг.

ТОДОРХОЙЛОЛТ доор заасан мета тэмдэглэгээ бүр нь бүрхүүлд тусгай утга агуулагддаг бөгөөд өөрөө төлөөлж байгаа бол иш татагдах ёстой.

Тушаалын түүхийн өргөтгөлийн байгууламж ашиглагдаж байгаа үед түүхийн өргөтгөлийн тэмдэгт, ихэвчлэн ! түүхэн тэлэлтээс урьдчилан сэргийлэхийн тулд иш татсан байх ёстой.

Эндээс гурван зуйлийг дурдвал: зугтах шинж , нэг ишлэл, давхар хашилт.

Эсэргүүцэлгүй backslash ( \ ) нь зугтах тэмдэгт юм. Энэ нь дараагийн newline мөрөөс бусад тохиолдолд дараах тэмдэгт мөрийн утгыг хадгалдаг. Хэрвээ \ хос ​​гарч ирсэн бол backslash өөрөө иш татагдахгүй бол \ нь мөр таслах хэлбэрээр (өөрөөр хэлбэл оролтоос устгагдах бөгөөд үр дүнгүй орхигдсон).

Тэмдэглэгээг нэг ишлэлээр тэмдэглэвэл тэмдэгт бүрийн утгыг эшлэлд хадгалдаг. Зөвшөөрөгдсөн ганц эшлэл нь урвуу хамааралтай байсан ч гэсэн нэг эшлэлтэй байж болохгүй.

Давхар ишлэлийн тэмдэгтүүдийг хавсаргахдаа $ , ` , ба \ гэсэн үгнээс бусад бүх тэмдэгтүүдийн утгыг хадгалдаг. $ Тэмдэгтүүд болон " онцгой утгыг давхар хашилтанд багтаан хадгалж үлдээнэ үү. Backslash зөвхөн дараах тэмдэгтүүдийн аль нэгийг дагалдаж байх үед тусгай утгатай байна: $ , ` , " , \ , эсвэл . Давхар ишлэлийг урд эгнээний хамт өмнөх давхар ишнээс иш татан авч болно.

Давхар ишлэлтэй үед тусгай параметр * ба @ тусгай утгатай байна (доорх PARAMETERS- ыг үзнэ үү).

$ ' Мөр ' гэсэн хэлбэрийг тусгайлан боловсруулсан. Үг нь тэмдэгт мөрөөр хязгаарлагддаг бөгөөд backslash-escape тэмдэгтүүд нь ANSI C стандартаар тодорхойлогддог. Backslash escape sequences (хэрэв байгаа бол) дараах байдлаар декодчилагдана:

\ a

сэрэмжлүүлэг (хонх)

\ b

backspace

\ e

зугтах тэмдэгт

\ f

хэлбэрийн тэжээл

\ n

шинэ мөр

\ r

ачаа буцах

\ t

хэвтээ таб

\ v

босоо таб

\\

backslash

'

нэг эшлэл

\ nnn

Найман бит тэмдэгт нь octal утга nnn (нэгээс гурван цифр)

\ x АД

8-битийн үсэг нь HH (нэг эсвэл хоёр хором цифр)

\ c x

хяналтын тэмдэгт

Өргөтгөсөн үр дүн нь долларын тэмдэг байхгүй байсан мэт ганц иш татсан байдаг.

Долларын тэмдэгтэй өмнө $ $ $ тэмдэгт мөр өмнө нь тэмдэгт мөрийг хөрвүүлэгдэх болно. Хэрэв одоогийн орон нутгийн C эсвэл POSIX бол долларын тэмдэг орхигдсон байна. Хэрэв мөр нь орчуулагдаж, солигдсон бол солихыг давхардуулсан.

PARAMETERS

Параметр нь хадгалах утгыг агуулна. Энэ нь тусгай параметрүүдийн доорх нэр , дугаар, эсвэл тусгай тэмдэгтүүдийн аль нэг байж болно. Бөмбөрийн зорилгын хувьд хувьсагч нь нэрээр тодорхойлогдоно . Хувьсагч утга ба тэг буюу түүнээс дээш шинж чанаруудтай . Аттрибутууд нь builtin командыг ашиглан зааж өгдөг ( SHELL BUILTIN COMMANDS- ээр доор мэдэгдэнэ үү).

Хэрэв утга өгсөн бол параметрийг тохируулна. Null мөр нь хүчинтэй утга байна. Хувьсагчийг тохируулсны дараа зөвхөн unset builtin тушаалыг ашиглан тохируулагдаж болно (доор SHELL BUILTIN COMMANDS- г үзнэ үү).

Хувьсагч нь маягтын тодорхойлолтоор томилогдож болно

нэр = [ утга ]

Хэрэв утга өгөгдөөгүй бол хувьсагч нь null тэмдэгтийг өгнө. Бүх утгууд нь tilde өргөтгөл, параметр, хувьсах өргөтгөл, тушаалын оролдлого, арифметик өргөтгөл, иш татах арилгагдана (доорх EXPANSION- ыг үз). Хэрэв хувьсагч нь бүхэл тоон шинж чанарыг агуулсан бол, $ ((...)) өргөтгөл ашиглагдахгүй байсан ч гэсэн үнэ цэнэ нь арифметик өргөтгөлөөр илэрхийлэгдэнэ (доорхи Арифметик өргөтгөлийг үз). Тусгай параметрүүдийн доор тайлбарласан "$ @" -ээс бусад тохиолдолд үг хуваах ажиллагааг гүйцэтгэхгүй. Pathname өргөтгөл хийгдээгүй байна. Даалгаврын мэдэгдлүүд нь зарлах , хэвлэгдэх , экспортлох , унших болон орон нутгийн барьсан тушаалуудын нэмэлт өгөгдөл маягаар харагдах болно.

Байршлын үзүүлэлтүүд

Байршлын параметр бол нэг цифрээс бусад ганц эсвэл олон цифрээр илэрхийлэгдэх параметр юм. Байрлалын хязгаарын утгыг бүрхүүл дээр ажиллуулах үед өгсөн бөгөөд барьсан командын тусламжтайгаар сольж болно. Ажил үүргийн мэдэгдэлд байршлын параметрийг тодорхойлж болохгүй. Бүрхүүлийн функцийг гүйцэтгэх үед параметрийн параметрүүдийг түр сольдог (доорх функцийг үзнэ үү).

Хэрэв нэг оронтой тооноос бүрдсэн параметрийн параметрийг өргөтгөх бол хаалтанд хаалттай байх ёстой (доорх EXPANSION хэсгийг үзнэ үү).

Тусгай параметрүүд

Бүрхүүл нь нэлээд хэдэн параметртэй байдаг. Эдгээр параметрүүдийг зөвхөн заана; Тэдэнд хуваарилахыг зөвшөөрөхгүй.

*

Нэгээс эхлэн параметрийн параметрийг өргөжүүлнэ. Өргөтгөлийг давхар хашилтанд багтаах үед энэ нь IFS тусгай хувьсагчийн эхний тэмдэгтээс тусгаарлагдсан параметрийн утгатай ганц үгээр өргөтгөдөг. Энэ нь " $ * " нь " $ 1 c $ 2 c ... " тэнцүү бөгөөд c нь IFS хувьсагчийн утгын эхний тэмдэгт юм. Хэрвээ IFS нь тохируулагдаагүй бол параметрүүдийг зайгаар тусгаарладаг. Хэрвээ IFS бол null бол салгагчгүйгээр сонгосон параметрүүд байна.

@

Нэгээс эхлэн параметрийн параметрийг өргөжүүлнэ. Өргөтгөлийг давхар хашилтанд багтаах үед параметр бүр нь тусдаа үг рүү өргөжинө. Энэ бол " $ @ " нь " $ 1 " " $ 2 " -тай тэнцүү байна. Байршлын параметр байхгүй бол " $ @ " ба $ @ -г алгасна (өөрөөр хэлбэл тэдгээрийг арилгаж болно).

#

Аравтын оронтой параметрийн тоог өргөжүүлнэ.

?

Хамгийн сүүлд гүйцэтгэсэн нүүрсний хоолойн шугамын статусыг өргөжүүлнэ.

-

Тогтсон тушаалын тушаал, эсвэл бүрхүүлийн өөрийнх нь тохируулсан ( -i сонголт зэрэг) дуудсаныхаа дагуу одоогийн тохируулгын тугуудад өргөждөг.

$

Бүрхүүлийн процесс ID руу өргөжүүлнэ. A () дэд хэв маягийн хувьд энэ нь доорхи бүрхүүлийн биш харин одоогийн бүрхүүлийн процес ID-аар өргөжинө.

!

Хамгийн сүүлд гүйцэтгэгдсэн суурь (асинхрон) тушаалын процессийн ID руу өргөжнө.

0

Shell буюу бүрхүүлийн скриптийн нэрийг өргөжүүлэх. Энэ нь бүрхүүлийг эхлүүлэхэд тохируулагдсан байдаг. Хэрэв bash тушаалын файлтай ажиллах бол 0 $ нь тухайн файлын нэрийг тохируулна. Хэрэв bash -c тохируулгатай эхлүүлбэл $ тэмдэгт мөрийг ажиллуулсны дараа $ эхний мөрөнд тавина. Үгүй бол энэ нь argument тэгийг өгөгдсөн шиг bash гэж нэрлэхэд хэрэглэгддэг файлын нэрийг тохируулна.

_

Бүрхүүлийн эхлэх үед аргументийн жагсаалтанд дамжуулагдсан бүрхүүлийн эсвэл бүрхүүлийн скриптийн үнэмлэхүй файлын нэрийг тохируулна. Дараа нь өргөтгөлийн дараа өмнөх команд руу сүүлийн аргументийг өргөжүүлнэ. Үүнийг ажиллуулах тушаал бүрийг бүтэн файлын нэрээр нь зааж, тухайн команд руу экспортолсон орчинд тавина. Захидлыг шалгаж байх үед энэ параметр нь одоогоор шалгаж байгаа захидлын файлын нэрийг агуулна.

Shell хувьсагч

Бүрхүүлээр дараах хувьсагчуудыг тодорхойлно:

BASH

Башын энэ жишээг дуудахад ашиглагдах бүрэн файлын нэр рүү өргөжүүлэх.

BASH_VERSINFO

Башын энэ жишээнд гишүүдийн хувилбарын мэдээллийг агуулдаг уншигдах массив хувьсагч. Массивын гишүүдэд хуваарилагдсан утгууд нь дараах байдалтай байна:

BASH_VERSINFO [ 0]

Үндсэн хувилбарын дугаар ( хувилбар ).

BASH_VERSINFO [ 1]

Бага хувилбарын дугаар ( хувилбар ).

BASH_VERSINFO [ 2]

Нөхөх түвшин.

BASH_VERSINFO [ 3]

Бүтээх хувилбар.

BASH_VERSINFO [ 4]

Хувилбарын байдал (жишээ нь, beta1 ).

BASH_VERSINFO [ 5]

MACHTYPE-н үнэ цэнэ.

BASH_VERSION

Башын энэ хувилбарын хувилбарыг тайлбарласан тэмдэгт рүү өргөжүүлнэ.

COMP_CWORD

COMP_LINE

Одоогийн тушаалын мөрөнд. Энэ хувьсагч нь зөвхөн бүрхүүлийн функцүүд болон программчлагдах боломжтой байгууламжуудаар гүйцэтгэгдэж байгаа гадаад командууд дээр байдаг (доорхи программчлагдахыг үзнэ үү).

COMP_POINT

COMP_WORDS

Хуваарьт хувьсагч (одоогийн мөрийг үзнэ үү) нь одоогийн тушаалын мөрөнд үг тус бүрээс бүрдэнэ. Энэ хувьсагч нь зөвхөн программаар ажиллах боломжтой байгууламжуудын ашигладаг бүрхүүлийн функцэд байдаг (доорхи программчлагдах боломжтойг харна уу).

DIRSTACK

Дүрмийн стекийн одоогийн агуулгыг агуулсан массив хувьсагч (доорх хүснэгтийг харах). Директорууд нь dirs builtin-д харуулсан дарааллаар стекд харагдана. Энэ массивын хувьсагчид гишүүдэд оноох стекийг өөрчлөхөд ашиглаж болох боловч санг нэмэх болон устгахын тулд pushd болон popd баригчид ашиглагдах ёстой. Энэ хувьсагчийн хуваарилалт нь одоогийн директорыг өөрчлөхгүй. Хэрэв DIRSTACK тохируулагдаагүй бол дараа нь дахин тохируулагдсан байсан ч гэсэн тусгай шинж чанараа алддаг.

ЕХОИД

Одоогийн хэрэглэгчийн хэрэглэгчийн ID-аар өргөж эхэлдэг. Энэ хувьсагч нь уншигдаж байна.

FUNCNAME

Одоо ажиллаж байгаа бүрхүүлийн функцын нэр. Энэ хувьсагч нь бүрхүүлийн функц ажиллаж байгаа үед л үүсдэг. FUNCNAME-д өгсөн үүрэг байхгүй бөгөөд алдааны статусыг буцаах. Хэрэв FUNCNAME тохируулагдсан бол дараа нь дахин тохируулсан байсан ч гэсэн тусгай шинж чанараа алддаг.

Бүлгүүд

Одоогийн хэрэглэгчийн гишүүн болсон бүлгүүдийн жагсаалтыг агуулсан массив хувьсагч. GROUPS-д өгсөн үүрэг нөлөөлөөгүй бөгөөд алдааны статусыг буцаах. Хэрэв GROUPS- г тохируулаагүй бол дараа нь дахин тохируулсан байсан ч гэсэн тусгай шинж чанараа алддаг.

HISTCMD

Түүхийн дугаар, эсвэл түүхийн жагсаалт дахь индекс, одоогийн тушаалын индекс. Хэрвээ HISTCMD тохируулагдаагүй бол дараа нь дахин тохируулагдсан байсан ч гэсэн тусгай шинж чанараа алддаг.

HOSTNAME

Одоогийн хост нэрийг автоматаар тохируулна.

HOSTTYPE

Bash ажиллаж буй машины төрлийг автоматаар тодорхойлох мөрийг автоматаар тавьдаг. Анхдагч нь системээс хамааралтай байдаг.

LINENO

Энэ параметрийг иш татах бүрт бүрхүүл нь скрипт эсвэл функц дотор байгаа дараалсан мөрийн дугаарыг (1-ээр эхлэх) аравтын тоог орлох болно. Скрипт эсвэл функцэд байхгүй бол орлуулах утга нь утга учиртай байх баталгаа болохгүй. Хэрэв LINENO тохируулагдаагүй бол дараа нь дахин тохируулагдсан байсан ч гэсэн тусгай шинж чанараа алддаг.

MACHTYPE

Стандарт GNU cpu-компаний системийн форматаар bash ажиллаж байгаа системийн төрлийг бүрэн дүрсэлсэн тэмдэгт мөрийг автоматаар тавьдаг. Анхдагч нь системээс хамааралтай байдаг.

OLDPWD

Cd тушаалын заасан өмнөх ажлын сан.

OPTARG

Getopts builtin тушаалаар боловсруулсан сүүлийн тохируулгын утгын үнэ цэнэ (доор SHELL BUILTIN COMMANDS- г үзнэ үү).

OPTIND

Getopts builtin командаар боловсруулсан дараагийн нэмэлт өгөгдлийн индекс (доор SHELL BUILTIN COMMANDS- ийг үзнэ үү).

OSTYPE

Bash ажиллаж байгаа үйлдлийн системийг дүрсэлсэн тэмдэгт мөрийг автоматаар тавьдаг. Анхдагч нь системээс хамааралтай байдаг.

Пипестатус

Хамгийн сүүлд гүйцэтгэгдсэн нүүрсний хоолойн процессоос гарсан гарах статик утгуудын жагсаалтыг агуулсан (массивыг зөвхөн нэг команд агуулсан байж болно) массивын хувьсагч (доорхи хуваарийг үзнэ үү).

PPID

Бүрхүүлийн эцэг эхийн процес ID. Энэ хувьсагч нь уншигдаж байна.

ХБИ

Cd командаар тохируулсан одоогийн ажлын сан.

САНАМСАРГҮЙ

Энэ параметрийг лавлах бүрт 0 ба 32767 хоорондох санамсаргүй бүхэл тоонууд үүсдэг. Санамсаргүй тооны дараалал нь RANDOM- д утга өгснөөр эхэлж болно. Хэрэв RANDOM тохируулагдаагүй бол дараа нь дахин тохируулагдсан байсан ч гэсэн тусгай шинж чанараа алддаг.

ЗӨВЛӨМЖ

Тэмдэглэлд ямар ч нэмэлт өгөгдөөгүй тохиолдолд унших builtin командаар унших оролтыг тохируулна.

SECONDS

Энэ параметрийг иш татах бүрт бүрхүүлийн дуудлагаас хойш секундын тоо буцаагдах болно. Хэрэв утга нь SECONDS- д хуваарилагдсан бол дараагийн ишлэл дээр буцааж өгсөн утга нь даалгаврын дараа сонгосон утга дээр нэмсэн утга байна. Хэрэв SECONDS нь тохируулагдсан бол дараа нь дахин тохируулагдсан байсан ч гэсэн тусгай шинж чанараа алддаг.

БҮТЭЭГДЭХҮҮН

Илүү идэвхжүүлсэн бүрхүүл тохируулгын цэгээс тусгаарлагдсан жагсаалт. Жагсаалтын үг бүр -o сонголтод зориулж builtin тушаалын хувьд хүчинтэй хувьсагч юм (доор SHELL BUILTIN COMMANDS- ийг үзнэ үү). SHELLOPTS- д гарч буй тохируулгууд нь set -o гэж мэдээлэгдсэн хүмүүс юм. Хэрэв энэ хувьсагч нь bash эхлэх үед хүрээлэн буй орчинд байгаа бол ямар ч эхлүүлэх файлуудыг уншихаасаа өмнө жагсаалт дахь бүрхүүлийн сонголтыг идэвхжүүлсэн байх болно. Энэ хувьсагч нь зөвхөн унших боломжтой.

SHLVL

Баш эхлүүлэх үеэр нэг удаа бүрт нэмэгдэнэ .

UID

Одоогийн хэрэглэгчийн хэрэглэгчийн ID-д бүрхүүлийг эхлүүлэхэд эхлүүлсэн. Энэ хувьсагч нь уншигдаж байна.

Дараах хувьсагчдыг бүрхүүлд ашигладаг. Зарим тохиолдолд bash хувьсагчийн анхдагч утгыг өгдөг; Эдгээр тохиолдлуудыг дор тэмдэглэв.

BASH_ENV

Хэрэв энэ параметрийг бүрхүүлийн скриптийг ажиллуулж байх үед bash ажиллаж байвал түүний утгыг бүрхүүлийг эхлүүлэх тушаалыг агуулсан файлын нэр гэгддэг ~ / .bashrc . BASH_ENV- ийн утга нь параметрийн өргөтгөл, тушаал орлуулалт, арифметик өргөтгөлтэй байх бөгөөд файлын нэр маягаар тайлбарлагдана. PATH нь үр дүнгийн файлын нэрийг хайхад ашиглагддаггүй.

CDPATH

Cd тушаалын хайлтын зам. Энэ нь cd гэсэн тушаалаар заагдсан чиглүүлэлтийн сангуудыг хайдаг цэгээс тусгаарлагдсан сангуудын жагсаалт юм. Түүврийн утга нь ".: ~: / Usr".

COLUMNS

Сонгох командаар сонгохдоо терминалын өргөнийг сонгохдоо сонгосон жагсаалтыг хэвлэх үед хэрэглэнэ. SIGWINCH-ийг автоматаар хүлээн авдаг.

БОЛОМЖТОЙ

Программаар дуусгавар болох байгууламжийн ажиллуулж буй бүрхүүлийн функцээс үүсэх боломжит гүйцэтгэлийг (доорхи программчлалтай харахыг харна уу) баш уншигдах массив хувьсагч.

FCEDIT

Fc builtin тушаалын анхдагч засварлагч юм.

FIGNORE

Файлын нэрний дууссаны үед үл тоомсорлох дагавар мөрүүдийн таслалаар тусгаарлагдсан баганын жагсаалт (доорх READLINE- г үзнэ үү). FIGNORE дахь оруулгуудын нэг дагавартай таарч байгаа файлын нэр таарсан файлын нэрсийн жагсаалтаас хасагдсан. Түүврийн утга нь ".o: ~".

GLOBIGNORE

Файлын нэрийг тодорхойлсон загваруудын бүдүүвчийн жагсаалт нь замын нэр өргөтгөлөөр үл тоомсорлодог. Хэрэв файлын нэр нь замын нэр өргөтгөлийн загвартай таарч байвал GLOBIGNORE- ийн загваруудын нэгтэй таарч байгаа бол таарсан жагсаалтаас хасагдана.

HISTCONTROL

Хэрэв ignorespace утгатай бол зайгаар тэмдэглэсэн мөрүүд түүхийн жагсаалтад ороогүй болно. Хэрэв үл тооцогдох утгуудын тоонд тохируулсан бол сүүлийн түүхийн мөрөнд таарсан мөрүүд оруулаагүй болно. Үл хөдлөх хөрөнгийн үнэ цэнэ хоёр сонголтыг хослуулдаг. Хэрэв тохируулаагүй эсвэл дээр дурдсанаас өөр ямар нэгэн үнэ цэнэтэй бол parser-ээр уншигдах бүх мөрүүд нь HISTIGNORE-ийн утгад хадгалагдана . Энэ хувьсагчийн функцийг HISTIGNORE өөрөөр солих болно. Олон тооны нийлмэл командын дарааллын хоёр ба түүнээс дээш мөрүүдийг туршиж үзэхгүй бөгөөд HISTCONTROL- ийн утгаас үл хамааран түүхэнд нэмэгдэх болно.

ТАЙЛБАР

Тушаалын түүх хадгалагдсан файлын нэр (доорх ӨМНӨХГҮЙ ). Анхдагч утга нь ~ / .bash_history . Хэрэв тохиролгүй бол интерфэйс бүрхүүл гарах үед командын түүх хадгалагдаагүй байна.

ТОДОРХОЙЛОЛТ

Түүхийн файлд агуулагдах шугамын хамгийн их тоо. Хэрэв энэ хувьсагч утга өгвөл түүхийн файл нь хэрэв шаардлагатай бол мөрийн тооноос хэтрэхгүй байх ёстой. Анхдагч утга нь 500. Түүхийн файл нь интерактив бүрхүүл гарах үед үүнийг бичиж авсны дараа энэ хэмжээгээр багасгадаг.

HISTIGNORE

Түүхийн жагсаалтад ямар командын мөрүүд хадгалагдах ёстойг шийдэхэд хэрэглэгддэг загваруудыг агуулагдсан таслалтын жагсаалт. Загвар бүр мөрийн эхэнд бэхлэгдсэн бөгөөд бүрэн мөртэй тохирч байх ёстой (no ` * 'далдлагдсан байна). HISTCONTROL-ийн заасан шалгалтын дараа загвар бүрийг мөрний эсрэг шалгана. Хэвийн бүрхүүлд тохирох тэмдэгтүүдээс гадна ` & 'нь өмнөх түүхийн мөртэй таарч байна. ` & 'нь backslash ашиглан зугтаж болно; Тоглолтын оролдлого хийхээс өмнө backslash-г хасна. Олон шугамын нийлмэл командын дараагийн мөрүүд нь шалгагдаагүй бөгөөд HISTIGNORE- ийн үнэ цэнээс үл хамааран түүхэнд нэмэгдэх болно.

HISTSIZE

Тушаалын түүхэнд санах командын тоо (доорхи түүхийг үзнэ үү). Анхдагч утга нь 500 байна.

HOME

Одоогийн хэрэглэгчийн гэрийн лавлах; cd builtin тушаалын анхдагч нэмэлт өгөгдөл юм. Энэ хувьсагчийн утга нь tilde тэлэлтийг гүйцэтгэхэд ашиглагддаг.

HOSTFILE

Бүрхүүл нь хостын нэрийг гүйцээхэд хэрэгтэй үед уншигдах ёстой / etc / hosts файлын нэрийг агуулсан байна. Бүрхүүл ажиллаж байх үед хостын нэрний жагсаалтыг өөрчилж болох юм; Үнэ өөрчлөгдсөний дараа дараагийн удаа hostname гүйцэтгэлийг оролдож байна, bash нь шинэ файлыг одоо байгаа жагсаалт руу нэмнэ. Хэрэв HOSTFILE нь ямар нэгэн үнэ цэнэтэй биш бол bash тушаалын боломжит хостуудын жагсаалтыг авахын тулд / etc / hosts файлыг уншихыг оролддог. HOSTFILE- г тохируулаагүй үед хостын нэр устгагдах болно.

IFS

Дотор талбар Separator нь өргөтгөлийн дараа үг хуваахад хэрэглэгддэг ба readin тушаалыг уншихын тулд үгсийг хувааж ашигладаг. Анхдагч утга нь " ''.

IGNOREEOF

EOF тэмдэгтийг хүлээн авснаар интерфэйс бүрхүүлийг зөвхөн орц болгон хянана. Хэрэв тохируулсан бол утга нь дараалсан EOF тэмдэгтүүдийн тоо бөгөөд bash гарахаас өмнө оролтын мөрөн дэх эхний тэмдэгтүүд дээр бичигдэх ёстой. Хэрэв хувьсагч байхгүй боловч тоон утгатай, эсвэл утга байхгүй бол анхдагч утга нь 10. Хэрэв байхгүй бол EOF нь оролтыг бүрхүүлд оруулна.

INPUTRC

Readline эхлэх файлд зориулсан файлын нэрийг ~ / .inputrc-ийн оронд өөрчлөх (доорх READLINE- г үзнэ үү).

LANG

Латин зэрэглэлийн локал категорийг тодорхойлохдоо тусгайлсан категорийг сонгохдоо LC_-ээр эхэлдэг хувьсагч дээр тусгайлан сонгосон.

LC_ALL

Энэ хувьсагч нь LANG -ийн утга болон локал категорийг тодорхойлсон LC_ хувьсагчийн утгыг давж гардаг.

LC_COLLATE

Энэ хувьсагч нь pathname өргөтгөлийн үр дүнг ялгахад хэрэглэгддэг колончлолын дарааллыг тодорхойлдог. Жишиг илэрхийллүүд, эквивалент ангилалууд, замуудын өргөтгөл болон загварын тохиргоонуудын хоорондох холбох дарааллыг тодорхойлох.

LC_CTYPE

Энэ хувьсагч нь тэмдэгтүүдийн тайлбар ба тэмдэгтүүдийн функцийг pathname өргөтгөл ба загварын тохиргоонд тодорхойлдог.

LC_MESSAGES

Энэ хувьсагч нь $ a $ -оор өмнөх хоёр ишлэлийн тэмдэгтүүдийг орчуулахад хэрэглэгддэг локалыг тодорхойлдог.

LC_NUMERIC

Энэ хувьсагч нь тоон форматад хэрэглэгддэг локал категорийг тодорхойлдог.

ХОЛБООС

Сонгох сонгосон командаар сонгох сонгох жагсаалтад зориулсан баганын уртыг тодорхойлохын тулд ашигладаг. SIGWINCH-ийг хүлээн авснаар автоматаар тохируулагдана.

MAIL

Хэрэв энэ параметр файлын нэрээр тохируулагдсан бөгөөд MAILPATH хувьсагч тохируулагдаагүй бол bash нь заасан файлын ирэлтийн талаар хэрэглэгчдэд мэдээлнэ.

MAILCHECK

Хэдэн секундээр (мессежээр) bash шалгахыг зааж өгнө. Анхдагч нь 60 секунд. Захидалыг шалгах цаг болбол бүрхүүл анхдагч хүлээх мөрийг харуулахаасаа өмнө үүнийг хийдэг. Хэрэв энэ хувьсагч нь тохируулагдаагүй, эсвэл тэг биш эсвэл тэгтэй тэнцүү тоогүй утгатай бол бүрхүүл нь мэйл шалгах боломжгүй.

MAILPATH

Захидалаар шалгагдах файлын нэрний баганын жагсаалт. Захидлын нэр нь тодорхой файлын ирмэг дээр хэвлэгдэх мессежийг файлын нэрийг `? 'Гэсэн тэмдэгтээр тусгаарлаж болно. Зурвасын текстэнд хэрэглэгдэх үед $ _ нь одоогийн мэйлийн нэрэнд өргөжинө. Жишээ нь:

MAILPATH = '/ var / mail / bfox? Та мэйл ": ~ / shell-mail?" $ _ Нь мэйлтэй байна!

Bash энэ хувьсагчийн хувьд анхдагч утгыг өгдөг боловч ашигладаг хэрэглэгчийн мэйл файлуудын байрлал нь системээс хамааралтай байдаг (жишээ нь, / var / mail / $ USER ).

OPTERR

Хэрэв 1-р утгад тохируулсан бол bash нь getopts builtin тушаалаар үүсгэгдсэн алдааны мэдээллүүдийг харуулдаг (доорх SHELL BUILTIN COMMANDS- ийг үз). OPTERR нь бүрхүүл ажиллуулсан эсвэл бүр бүрхүүлийн скрипт гүйцэтгэгдэж байх үед эхэлдэг .

PATH

Тушаалын хайлтын зам. Энэ нь бүрхүүл нь командуудыг хайдаг хувьсагчуудын агуулгын хоёртын жагсаалт юм (доорх COMMAND EXERCISE хэсгийг үзнэ үү). Анхдагч зам нь системээс хамаардаг бөгөөд bash суулгадаг администратор тохируулдаг. Нийтлэг утга нь "/ usr / gnu / bin: / usr / local / bin: / usr / ucb: / bin: / usr / bin :. ''.

POSIXLY_CORRECT

Хэрэв энэ хувьсагч нь bash эхлэх үед байгаль орчинд байгаа бол, бүрхүүл нь эхлүүлэх файлуудыг уншихаасаа өмнө позицийн горимд ордог. Хэрэв бүрхүүл ажиллаж байх үед энэ нь тогтоогдвол bash нь posix горимд идэвхждэг бөгөөд тушаалын -o posix тушаалыг ажиллуулсны адил юм.

PROMPT_COMMAND

Хэрэв тохируулсан бол утга нь анхдагч хүлээх хэсэг бүрийг ажиллуулахаас өмнө командаар гүйцэтгэгдэнэ.

PS1

Энэ параметрийн утга өргөжих болсон ( PROMPTING- ийг үзнэ үү) бөгөөд үндсэн хүлээх мөрийг ашигладаг. Анхдагч утга нь " \ s- \ v \ $ ''.

ГС 2

Энэ параметрийн утга PS1-ийн адилаар өргөтгөгдсөн бөгөөд хоёр дахь хүлээх мөрийг ашигладаг. Анхдагч нь `` ''.

PS3

Энэ параметрийн утга нь сонгох командын дагуу ашиглагддаг (дээрх SHELL GRAMMAR- г үзнэ үү).

PS4

Энэ параметрийн утга PS1-ийн адилаар өргөжүүлж, гүйцэтгэх мөрийн үед тушаал баш бүрийн өмнө тушаал өгнө. PS4- ийн эхний тэмдэгт нь шаардлагагүй олон түвшний индикаторыг харуулахын тулд олон удаа хувилан олшруулдаг. Анхдагч нь `` ''.

TIMEFORMAT

Энэ параметрийн утга нь урьдчилан тогтоосон үгийг харуулах хоолойд урдчилан дамжуулах хоолойн цаг хугацааны мэдээллийг хэрхэн зааж байгаа форматын мөр байдлаар ашиглагдана. % Тэмдэг нь цаг хугацааны үнэ цэнэ эсвэл бусад мэдээллээр өргөтгөсөн зугтах дарааллыг танилцуулна. Авралын дараалал, тэдгээрийн утга нь дараах байдлаар байна. хаалт нь нэмэлт хэсгүүдийг илэрхийлдэг.

%%

Literal % .

% [ p ] [l] R

Секундээр өнгөрөх цаг.

% [ p ] [l] U

Хэрэглэгчийн горимд зарцуулсан CPU секундын тоо.

% [ p ] [l] S

Системийн горимд зарцуулсан CPU секундын тоо.

% P

CPU хувь хэмжээ (% U +% S) /% R.

Нэмэлт p нь аравтын цэгийн дараа фракталсан тооны нарийвчлалыг тодорхойлсон орон. 0 утга нь аравтын бутархай эсвэл гаралтын үр дүнг гаргадаггүй. Аравтын цэгийн араас хамгийн ихдээ гурван газар тодорхойлогдоно. 3-аас их p-ийн утгыг 3 болгоно. Хэрэв p зааж өгөөгүй бол 3-р утгыг хэрэглэнэ.

Нэмэлт l нь ММ м SS хэлбэрээр илүү урт форматыг багтаасан болно. FF s. Параметрийн утга нь фракцыг оруулсан эсэхийг тодорхойлно.

Хэрэв энэ хувьсагч тохируулагдаагүй бол bash утга нь $ \ real хувьтай адил үйлдэлтэй адил үйлдэл юм. \ T% 3lR \ nuser \ t% 3lU \ nsys% 3lS ' . Хэрэв утга нь null бол цаг хугацааны мэдээлэл харагдахгүй. Format мөр нь харагдах үед шинэ мөрийг нэмнэ.

TMOUT

Хэрэв тэгээс их утгад тохируулсан бол TMOUT нь унших кодын хувьд үндсэн хугацаа болно. Хэрэв оролт терминалаас оролтын TMOUT секундын дараа оролт нь ирэхгүй бол сонгох команд дуусна. Интерактив бүрхүүлт утга нь анхдагч хүлээх горим өгсний дараа оролтыг хүлээх секундын тоогоор илэрхийлэгдэнэ. Оролтын ирэлт ирээгүй бол Bash нь хэдэн секунд хүлээсний дараа дуусна.

auto_resume

Энэ хувьсагч нь хэрэглэгчид болон ажлын хяналттай хэрхэн харилцдагийг хянадаг. Хэрэв энэ хувьсагчийн тохиргоог хийсэн бол ганц үг энгийн тушаалууд нь одоо байгаа зогссон ажлын байрыг дахин сэргээхэд нэр дэвшүүлэгдэнэ. Ямар ч хоёрдмол утгагүй; хэрэв мөр бичсэн эхэлж байгаа нэгээс илүү ажил байгаа бол хамгийн сүүлд хийгдсэн ажил сонгогдсон байна. Энэ зогссон ажлын нэр нь энэ утгаараа түүнийг эхлүүлэхэд ашигласан тушаалын мөр юм. Үнэн утгад тохируулсан бол нийлүүлэгдсэн мөр нь зогссон ажлын нэрэнд тохирсон байх ёстой; хэрэв субстратын хувьд тохируулсан мөр нь зогссон ажлын нэрийг субструу тааруулах шаардлагатай. Дэд түвшний утга нь % -тай адил үйл ажиллагаа хангадаг ? Ажлын тодорхойлогч (доорх АЖЛЫН ХЯНАЛТ- г үзнэ үү). Бусад ямар нэгэн утгад тохируулсан бол нийлүүлсэн мөр нь зогсоосон ажлын нэрний угтвар байх ёстой; Энэ нь % job identifier -тэй төстэй үйл ажиллагааг хангадаг.

histchars

Түүхийн тэлэлт болон токозыг хянах хоёр буюу гурван тэмдэгт (доорхи түүхийг үзнэ үү). Эхний тэмдэгт нь түүхийн тэлэлтийн тэмдэг, түүхийн тэлэлтийн эхлэлийг илэрхийлэх тэмдэгт бөгөөд энэ нь ихэвчлэн ` ! '. Хоёрдахь тэмдэгт нь түрүүчийн тушаалыг дахин ажиллуулахын тулд түргэн орлуулах тэмдэгт юм. Анхдагч нь ` ^ '. Нэмэлт гурав дахь тэмдэгт бол мөрний үлдсэн хэсэг нь үгийн эхний тэмдэгт, ихэвчлэн ` # 'гэж олсон үед тайлбар юм. Түүхийн өгүүлбэрийн тайлбар нь түүхэн орлуулалтыг үлдсэн үгсээр орлуулах боломжийг олгодог. Энэ нь заавал бүрхүүлийн уншигчид үлдсэн мөрийг тайлбар болгон өгөх шаардлагагүй юм.

Arrays

Bash нь нэг хэмжээст массив хувьсагчийг өгдөг. Ямар ч хувьсагчийг массив байдлаар ашиглаж болно; Баримтын builtin тушаал нь массивыг илэрхий зарлах болно. Массивын хэмжээн дээр хязгаарлах дээд хязгаар, гишүүд индексжүүлсэн эсвэл зохицуулах шаардлагагүй. Мөр нь бүхэл тоог ашиглан индексжүүлж, тэг дээр суурилдаг.

Ямар нэгэн хувьсагч синтаксын нэр [ инккрипт ] = утгыг ашиглахад массив автоматаар үүсдэг. Доорх утгыг арифметикийн илэрхийлэл гэж үзэх бөгөөд энэ нь тэгээс илүү эсвэл илүү тоогоор үнэлэх ёстой. Массивыг илэрхий зарлахын тулд -a нэрийг ашиглана уу (доор SHELL BUILTIN COMMANDS- ийг үзнэ үү). -тухайн нэр [ инкрипт ] -ийг мөн хүлээн зөвшөөрнө; индексийг үл тоомсорлодог. Аттрибутууд нь мэдэгдэж байгаа болон уншигдах баригдсан аргуудыг ашиглан массив хувьсагчийн хувьд зааж өгч болно. Шинж чанар болгон массивын бүх гишүүдэд хамаарна.

Багцууд нь form name = ( утга 1 ... n утга ) нийлмэл хуваарилалтыг ашиглахаар зааж өгдөг. Үүний утга нь [ subscript ] = тэмдэгт мөр байна. Зөвхөн мөр шаардлагатай. Нэмэлт хаалт болон индексийг нийлүүлэх тохиолдолд индексийг томилно; өөрөөр хэлбэл хуваарилагдсан элементийн индекс нь өгөгдөл дээр нэмэх нэгийг зааж өгсөн сүүлчийн индекс юм. Индексжүүлэлт нь тэгээс эхэлдэг. Энэ синтаксийг мөн барьсан гэж үзсэн. Дээрх нэрний [ subscript ] = утгын синтаксыг ашиглахад тусдаа массив элементийг оноож болно.

Unset builtin нь массивыг устгахад ашиглагддаг. нэрний [ индекс ] -ыг тохируулах нь индексийн индекс дэх элементийн элементийг устгадаг. орлуулах нэр , нэр нь массив, эсвэл нэрийг [ инкрипт ] оруулдаггүй, энд индекс нь * эсвэл @ , массивыг бүхэлд нь устгадаг.

Өгсөн, локал , болон уншигдахаар бүтээгдсэн мөр бүр нь массивыг заахын тулд -a тохируулгыг зөвшөөрдөг. Уншигдсан builtin нь стандарт оролтоос массив уруу унших үгсийг жагсаахад -a тохируулгыг хүлээн авдаг. Баримтуудыг харуулах жагсаалтын массив утгуудыг даалгавар болгон дахин ашиглах боломжийг олгодог.

EXPANSION

Өргөтгөлийг тушаалын мөрөнд үг болгон хуваасан дарааллаар гүйцэтгэдэг. Долгионы өргөтгөл , тэлэлтийн өргөтгөл , параметр, хувьсах өргөтгөл , тушаал орлуулалт , арифметик өргөтгөл , үг хуваах , замнал өргөтгөх долоон төрлийн гүйцэтгэлтэй.

Өргөтгөлийн дараалал нь: өргөтгөл, өргөтгөл, параметр, хувьсагч ба арифметик өргөтгөл, тушаалын оролдлого (зүүнээс баруун хүртэл), үг хуваах, замнал өргөтгөл зэргийг багтаана.

Үүнийг дэмждэг систем дээр нэмэлт өргөтгөл хийх боломжтой: процесс орлуулалт .

Холболтын өргөтгөл

Brace өргөтгөл нь дурын мөрүүдийг үүсгэх механизм юм. Энэ арга зам нь замын өргөтгөлтэй төстэй боловч үүсгэсэн файлын нэр байхгүй байна. Өргөтгөсөн холбох хэв маяг нь нэмэлт үсгийн хэлбэрийг аваад дараа нь хос хаалт хоорондох коммандын тусгаарлагдсан тэмдэгт мөр, дараа нь нэмэлт үсгээр бичдэг . Удиртгал нь хаалтанд агуулагдах тэмдэгт бүрт урьдчилан угтварыг хадгалдаг бөгөөд бичлэгүүд нь дараа нь мөр бүрт нэмж, зүүнээс баруун тийш сунгана.

Холболтын өргөтгөлүүд нь үүрэн байж болно. Өргөтгөсөн мөр бүрийн үр дүнг эрэмбэлээгүй. Зөв дарааллаас нь үлдээнэ. Жишээ нь, { d, c, b } e нь "ade ace abe" -д өргөжинө.

Холболтын өргөтгөл нь бусад аливаа өргөтгөлийн өмнө хийгддэг бөгөөд бусад экспрессэд хамаарах тусгай тэмдэгтүүд нь үр дүнд хадгалагдана. Энэ нь маш нарийн бичиг юм. Bash нь тэлэлтийн агуулгаар эсвэл хаалтанд байгаа текстийн хооронд аливаа синтаксийн тайлбарыг хэрэглэхгүй.

Энэ бүтэц нь ихэвчлэн субьектийг үүсгэх нийтлэг угтвар нь дээр дурдсан жишээнээс илүү урттай байдаг:

mkdir / usr / local / src / bash / {хуучин, шинэ, алдаа, алдаанууд}

эсвэл

chown root /usr/{ucb/{ex,edit},lib/{ex?.?*,how_ex}}

Холболтын өргөтгөл нь түүхийн хувилбаруудтай харьцуулахад бага зэрэг зөрчилддөг. sh нь үсгээр нээх буюу хаах хаалтанд тусгайлан үг хэлэх үед гардаггүй. Bash нь өргөтгөлийн үр дүнд үгнээс хаалттай байдаг. Жишээлбэл, sh гэсэн файлд оруулсан үг {1,2} нь гаралтад адил байна. Үүний нэг адил үг нь bash- ээр өргөтгөгдсөний дараа file1 file2 гэж гаргадаг. Хэрэв sh хатуу шаардлагад нийцэхийг хүсвэл b тушаалыг ашиглан + bash- г эхлүүлэх эсвэл set B командаар холбох өргөтгөлийг идэвхгүй болгоно (доор SHELL BUILTIN COMMANDS- ийг үзнэ үү).

Tilde Expansion

Хэрэв тэмдэглэлгүй тэмдэгтээр эхэлсэн тэмдэгт (` ~ ') бол эхлээгүй тэмдэглэгээнээс өмнөх бүх тэмдэгтүүд (эсвэл бүх тэмдэглэгээ, тэмдэглэгээгүй жетоны тэмдэг байхгүй бол) бүх тэмдэгтүүд нь tilde-угтвар гэж тооцогддог. Tilde-угтвар дахь тэмдэгтүүдийн аль нь ч ишлэгдээгүй бол tilde-ийн дараалал дахь тэмдэгтүүд нь боломжтой нэвтрэх нэр гэж үздэг. Хэрэв энэ нэвтрэх нэр нь null тэмдэгт бол tilde нь бүрхүүлийн параметрийн HOME утгатай солигдоно. Хэрэв HOME нь тохируулагдаагүй бол бүрхүүлийг гүйцэтгэж байгаа хэрэглэгчийн гэрийн санг орлуулах болно. Үгүй бол tilde-угтвар нь заасан нэвтрэх нэртэй холбоотой гэрийн сангаар солигдоно.

Хэрэв өнгөний угтвар бол `~ + 'бол бүрхүүлийн хувьсагчийн утга нь Tilde-угтварыг солих болно. Хэрэв тэмдэглэгээ нь `~ - 'бол OLDPWD бүрхүүлийн хувьсагчийн утгыг , хэрэв энэ нь тохируулагдсан бол солигдоно . Tilde-угтвар дахь tilde-г дагасан тэмдэгтүүд нь N тооноос бүрдэх бөгөөд "+ +" эсвэл `- 'гэсэн угтвараар дуудагдсан бол tilde-угтвар нь харгалзах стекээс харгалзах элементтэй солигдоно. tilde-угтварыг үүсгэсэн dirs builtin гэсэн аргументаар тайлбарлав. Tilde-угтвар дахь tilde-г дагасан тэмдэгтүүд нь `+ 'эсвэл` -' тэргүүлэхгүй тоонуудаас тогтоно.

Хэрэв нэвтрэх нэр буруу, эсвэл tilde өргөтгөл амжилтгүй болбол үг өөрчлөгдөхгүй.

Хувьсах даалгавар бүрийг : эсвэл = дараах дарааллаар тэмдэглэсэн tilde-угтваруудыг шалгана. Эдгээр тохиолдолд tilde тэлэлтийг гүйцэтгэдэг. Үүний үр дүнд, файлын нэрийг PATH , MAILPATH , болон CDPATH руу өгөгдлийн tildes нэртэйгээр ашиглаж болох бөгөөд бүрхүүл нь өргөтгөсөн утга өгдөг.

Өргөтгөх өргөтгөл

` $ 'Тэмдэгт нь параметр өргөтгөл, тушаал орлуулалт эсвэл арифметик өргөтгөлийг танилцуулдаг. Өргөтгөсөн параметрийн нэр, тэмдэг нь заавал хаалтанд хаалттай байж болох боловч хувьсагчийг дараагийн тэмдэгтүүдээс нь хамааруулан өргөтгөж хамгаалж, нэрний хэсэг байдлаар тайлбарлаж болно.

Хаалтыг ашиглаж байх үед тохирох төгсгөлгүй холбох нь урвуу эгнээний эхний мөрөнд ороогүй эсвэл уртрагын өргөтгөл, тушаалын орлуулалт, эсвэл парамер өргөтгөлийн хүрээнд ордоггүй.

Параметрийн утгыг орлуулах болно. Параметр нь нэгээс илүү тооны оронтой параметртэй параметр эсвэл параметрийн дараагаар түүний нэрний нэг хэсэг гэж ойлгогдохгүй тэмдэгтийг дагалдана.

Доорх тохиолдлуудад үг гэдэг нь tilde өргөтгөл, параметр өргөтгөл, тушаал орлуулалт, арифметик өргөтгөлтэй холбоотой байдаг. Дэд сигналын өргөтгөлийг гүйцэтгэх боломжгүй бол пакетыг хасах буюу хасах параметрийг шалгах; Туршилтад агуулагдах бүдүүвчийг хасахгүй байх параметрийг зөвхөн орхихгүй.

Анхдагч утгыг ашиглана уу . Хэрэв параметр тохируулагдаагүй эсвэл null бол үгийн өргөтгөлийг орлуулах болно. Үгүй бол параметрийн утга нь орлуулсан болно.

Анхны утгыг оноох . Хэрэв параметр тохируулагдаагүй эсвэл null бол үгийн өргөтгөл параметрийн хувьд өгөгдөнө . Дараа нь параметрийн утгыг орлуулна. Байршлын параметрүүд болон тусгай параметрүүдийг ийм аргаар тодорхойлж болохгүй.

Null эсвэл Unset бол харуулах алдаа . Хэрвээ параметр нь null буюу тохируулагдаагүй бол үгийн өргөтгөл (хэрэв үг байхгүй бол мэдэгдэл нь мэдэгдэл байхгүй бол) стандарт алдаа, бүрхүүл нь интерактив, гарц биш бол бичнэ. Үгүй бол параметрийн утга нь орлуулсан болно.

Сонголтоор ашиглах . Хэрэв параметр нь утгагүй юмуу тохируулагдаагүй бол ямар ч үгийг орлуулахгүй бол үгийн өргөтгөлийг орлуулах болно.

IFS-ийн тусгай хувьсагчийн эхний тэмдэгтээс тусгаарлагдсан нэрүүд нь угтвараас эхэлдэг хувьсагчдын нэрийг өргөжүүлнэ.

Параметрийн утгын уртыг орлуулах болно. Хэрэв параметр нь * эсвэл @ бол орлуулах утга нь байрлалын параметрийн тоо юм. Хэрвээ параметр нь * эсвэл @ тэмдэгтээр илэрхийлэгдсэн массив нэрийг орлуулсан бол массив дахь элементийн тоо орлуулсан утга.

Word өргөтгөлийн адилаар загварыг өргөтгөхийн тулд өргөтгөсөн байна. Хэрэв загвар нь параметрийн утгын эхэнд таарч байгаа бол өргөтгөлийн үр дүн нь хамгийн богино тохирох загвартай (" # ") тохиолдолд эсвэл хамгийн урт тохирох загвар (" ## " 'хэрэг) устгагдсан. Хэрэв параметр нь @ эсвэл * бол загварыг зайлуулах ажиллагаа нь параметрийн байрлал бүрт хэрэглэгддэг бөгөөд өргөтгөл нь үр дүнгийн жагсаалт юм. Хэрвээ параметр нь @ эсвэл * тэмдэгтээр илэрхийлэгдэх массивын хувьсагч бол массивын гишүүн бүрт хэв гажилтыг таслан зогсоох үйлдэл хийгддэг бөгөөд өргөтгөл нь үр дүнгийн жагсаалт юм.

Word өргөтгөлийн адилаар загварыг өргөтгөхийн тулд өргөтгөсөн байна. Хэрэв загвар параметрийн өргөтгөсөн утгын төгсгөлд таарч байгаа бол өргөтгөлийн үр дүн нь хамгийн богино тохирох загвар (" % ") буюу хамгийн урт тохирох загвар (" % % '' хэрэг) устгагдсан. Хэрэв параметр нь @ эсвэл * бол загварыг зайлуулах ажиллагаа нь параметрийн байрлал бүрт хэрэглэгддэг бөгөөд өргөтгөл нь үр дүнгийн жагсаалт юм. Хэрвээ параметр нь @ эсвэл * тэмдэгтээр илэрхийлэгдэх массивын хувьсагч бол массивын гишүүн бүрт хэв гажилтыг таслан зогсоох үйлдэл хийгддэг бөгөөд өргөтгөл нь үр дүнгийн жагсаалт юм.

Загварын өргөтгөлийн зам шиг хэв загварыг өргөтгөх болно. Үзүүлэлт нь өргөжиж, түүний утгын эсрэг хамгийн урт тохирол нь мөрөөр солигдоно. Эхний хэлбэрт зөвхөн эхний тоглолтыг орлуулах болно. Хоёр дахь хэлбэр нь хэв маягийг бүхэлд нь тэмдэгт мөрөөр солиход хүргэдэг. Хэрэв загвар нь # -ээр эхэлсэн бол параметрийн өргөтгөсөн утгад эхэлнэ. Хэрэв загвар нь % -р эхэлсэн бол параметрийн өргөтгөсөн утгын төгсгөлд тохирох ёстой. Хэрэв string null байвал хэв загварын тохирсон устгагдах бөгөөд / дараах загварыг орхиж болно. Хэрэв параметр нь @ эсвэл * байвал орлуулах үйлдлийг параметрийн байрлал болгонд хэрэглэж, өргөтгөл нь үр дүнгийн жагсаалт болно. Хэрэв параметр бол @ эсвэл * тэмдэгтээр илэрхийлэгдэх массивын хувьсагч бол массивын гишүүд бүрт орлуулах үйл ажиллагаа хийгддэг бөгөөд өргөтгөл нь үр дүнгийн жагсаалт юм.

Тушаал солих

Тушаалын орлуулалт нь командын гаралтыг командын нэрийг солих боломжийг олгодог. Хоёр хэлбэр байдаг:

$ ( тушаал )

эсвэл

` тушаал`

Баш өргөтгөлийг командыг гүйцэтгэж, тушаалын стандарт гаралтыг орлуулах тушаалыг шинэчилж, шинэ мөрүүдийг устгасан байна. Embedded newlines устгагдсангүй, гэхдээ тэдгээр нь үгийн хуваагдах үед устгагдах болно. $ Оролт (муур файлыг орлуулах тушаалыг тэнцүү гэхдээ $ хурдан (< файл ) сольж болох юм.

Хуучны загварын backquote орлуулалтын хэлбэрийг ашиглаж байгаа үед backslash нь $ , ` , эсвэл \ гэсэн араас өөр утгатай хэвээр хадгалагдана. Backslash-тэй өмнөх анхны backquote тушаал орлуулах тушаалыг цуцална. $ ( Тушаал ) хэлбэрийг ашиглах үед хаалтуудын хоорондох бүх тэмдэгт тушаалыг үүсгэдэг; Ямар ч тусгайлан эмчлэхгүй.

Тушаалын орлуулалтыг зохиож болно. Дахин бичсэн маягтыг ашиглахдаа үүрэндээ нурууг нь буцааж авна.

Хэрэв орлуулалт нь давхар хашилтанд орсон бол үг хуваах, замналаа өргөтгөх үр дүн дээр хийгддэггүй.

Арифметик өргөтгөл

Арифметик өргөтгөл нь арифметик илэрхийлэл ба үр дүнг орлуулах боломжийг олгодог. Арифметик өргөтгөлийн хэлбэр нь:

$ (( илэрхийлэл ))

Энэ илэрхийллийг давхар хашилтанд багтаана гэж боддог, гэхдээ хаалтанд байгаа давхар ишийг тусгайлан авч үздэггүй. Үг илэрхийлэл дэх бүх жетонууд нь параметр өргөтгөл, мөр өргөтгөл, тушаал орлуулалт, иш татан зайлуулах зэрэг болно. Арифметик орлуулалт нь байж болно.

Үнэлгээ нь ARITHMETIC EVALUATION дор доор дурдсан дүрмүүдийн дагуу явагдана . Хэрэв илэрхийллүүд хүчин төгөлдөр бус байвал bash нь амжилтгүй болохыг зааж, орлуулахгүй хэвлэгддэг.

Процессийн орлуулалт

Нэрлэсэн хоолой ( FIFOs ) эсвэл open file нэрлэх / dev / fd аргыг дэмждэг системүүдэд орлуулах процессыг дэмждэг. Энэ нь <( жагсаалт ) буюу > ( жагсаалт ) -ийг авдаг . Процессийн жагсаалтыг оролт, гаралт нь FIFO эсвэл / dev / fd санд холбогдсон зарим файлтай хамт ажиллуулдаг. Энэ файлын нэр нь одоогийн командад нэмэлт өгөгдлийн үр дүн болж өгдөг. Хэрэв > ( жагсаалтын ) маягтыг ашиглаж байгаа бол файлд бичих нь жагсаалтанд оруулга оруулна . Хэрэв <( жагсаалт ) хэлбэрийг ашиглаж байгаа бол жагсаалтын гаралтыг олж авахын тулд аргументийг дамжуулсан байх ёстой.

Боломжтой бол процесс орлуулалтыг параметрийн болон хувьсах өргөтгөлтэй зэрэгцүүлэн гүйцэтгэх, тушаалын орлуулалт, арифметик өргөтгөл зэргийг гүйцэтгэнэ.

Үг хуваах

Бүрхүүл нь хуваагдал , параметрийн өргөтгөлийн үр дүн, тушаал орлуулалт, арифметик өргөтгөлийн үр дүнг скрининг гэдэг үгийг давхар хуваан хэрэглэх боломжгүй юм.

Бүрхүүл нь IFS-ийн хязгаар бүрийг хязгаарлагч гэж үздэг бөгөөд бусад тэмдэгтүүдийн үр дүнг эдгээр тэмдэгтүүд дээр үгээр хуваана. Хэрвээ IFS нь тохируулагдаагүй эсвэл түүний утга яг , анхдагч бол IFS тэмдэгтийн ямар ч дараалал үгсийг хязгаарладаг. Хэрвээ IFS нь анхдагч утгаас өөр утгатай бол хоосон зай тэмдэгтийн орон зай , табын дараалал нь эхлэл ба төгсгөл дэх хоосон зайны тэмдэгтүүд нь IFS ( IFS хоосон зайны утга) утгаар байх болно. IFS-ийн хоосон зай биш, хажуугийн IFS хоосон зайны хажуугийн талуудтай хамт талбарыг хязгаарладаг. IFS хоосон зайны дараалал нь бас хязгаарлагч гэж тооцогддог. Хэрэв IFS- ийн утга нь null бол ямар ч үг хуваах боломжгүй байна.

Үнэн утгатай аргументууд ( "" эсвэл "" ) үлдсэн байна. Нэмэлт утгатай аргументууд нь утга байхгүй параметрүүдийг өргөтгөсөнөөс хасагдана. Хэрэв утга байхгүй параметр нь давхар хашилтанд багтаж байвал null argument үр дүн гарч ирнэ.

Хэрэв тэлэлт хийгдэхгүй бол хуваах арга байхгүй.

Pathname өргөтгөл

Үгсийг салгасны дараа, -f сонголтыг тохируулаагүй бол bash тэмдэгт бүр тэмдэгтүүдийг хайх * ,? , болон [ . Эдгээр тэмдэгтүүдийн аль нэг нь гарч ирвэл, үг нь хэв маягийг тооцдог бөгөөд хэв маягийн тохирох файлын нэрсийг цагаан толгойн эрэмбэлэгдсэн жагсаалтаар солих болно. Хэрвээ тохирох файлын нэр олдохгүй бол shell option nullglob disabled, үг солигдохгүй үлдэнэ. Хэрэв nullglob тохируулгыг тохируулсны дараа тохироо олдохгүй бол үг хасагдана. Хэрэв бүрхүүлийн тохируулга nocaseglob идэвхижсэн бол энэ нь цагаан толгойн үсгийн тохиолдлоос хамааралгүйгээр хийгддэг. Замын нэр өргөтгөлийн хувьд загварыг ашиглавал нэрний эхэнд эсвэл "" налуу зураасыг дагаж байх ёстой. Хэрэв бүрхүүлийн тохируулгыг dotglob тохируулаагүй л бол "." Замын нэрийг тааруулахад, зүсмэлийн тэмдэгтийг үргэлж шууд тааруулах ёстой. Бусад тохиолдолд "." '' Тэмдэгтийг онцгойлон авч үзэхгүй. SHELL BUILTIN COMMANDS дор доорх дэлгүүрийн тодорхойлолтыг үзнэ үү nocaseglob , nullglob , dotglob shell options-ийн тайлбарыг үзнэ үү.

GLOBIGNORE-н бүрхүүлийн хувьсагч нь файлын нэрийг загварын тохирох форматыг хязгаарлахад хэрэглэж болно. Хэрэв GLOBIGNORE- ийг тохируулсан бол GLOBIGNORE-ийн тохирох файлын нэр таарч тохирох файлын нэрийг тааруулах жагсаалтаас хасна. ``. '' Ба `` .. '' гэсэн файлын нэрүүд нь GLOBIGNORE- ийг тавьсан ч гэсэн орхигддог. Гэсэн хэдий ч, GLOBIGNORE- г тохируулах нь dotglob бүрхүүлийн тохируулгыг идэвхжүүлэх нөлөөтэй тул бусад "` `` 'гэсэн нэртэй файлууд таарах болно. Файлын нэрийг "` .''-оор эхэлж хуучин зан төлөвийг авахын тулд, GLOBIGNORE- д "`. * '' -г үүсгэх хэрэгтэй . GLOBIGNORE тохируулагдсан үед dotglob тохируулгыг идэвхгүй болгосон байна.

Matching pattern

Доор тайлбарласан тусгай загварын тэмдэгтээс бусад загвар дээр гарч ирсэн аливаа тэмдэгт өөрөө таарч байна. NUL тэмдэгт нь загвараар гарч ирэхгүй байж болно. Онцлог хэв маягийг тохируулахын тулд тусгай загварын тэмдэгтийг иш татаж байх ёстой.

Тусгай загварын тэмдэгт дараах утгатай байна:

*

NULL мөрийг агуулсан мөрийг тааруулна.

?

Ямар нэг тэмдэгттэй таарч байна.

[...]

Бүрхэгдсэн тэмдэгтүүдийн аль нэгийг тааруулна. Гипсэнээр тусгаарлагдсан тэмдэгтүүд нь илэрхийлэлийг илэрхийлнэ ; Эдгээр хоёр тэмдэгт хоёрын хоорондын ялгаатай тэмдэгт, одоо байгаа локалийн мөргөлдөх дараалал болон тэмдэгтийн тохиргоог ашиглан тохируулсан тэмдэгттэй таарч байна. Хэрэв эхний тэмдэгт нь [ бол ! эсвэл a ^ бол хаалттай тэмдэгтүүд нь тохирсон байна. Чиглүүлэлтийн илэрхийлэл дэх тэмдэгтүүдийн ялгах дарааллыг одоогийн орон нутгаар тодорхойлж, хэрэв тохируулсан бол LC_COLLATE бүрхүүлийн хувьсагчийн утга. A - түүнийг дотор нь эхний ба сүүлийн тэмдэгт гэж оруулах замаар тааруулж болно. A ] нь багц доторх эхний тэмдэгт маягаар тааруулж болно.

[ Ба ] тэмдэгтүүдийн дотор тэмдэгтийн ангилалыг [:: class ] ашиглан тодорхойлж болно. Энд ангилал нь POSIX.2 стандартад тодорхойлсон дараах ангиудуудын нэг юм:

alnum alpha ascii хоосон cntrl оронтой график доод цэгтэй зайг дээд xdigit гэсэн үг
Тэмдэгт анги нь тухайн ангийн хамааралтай ямар ч тэмдэгтийг тааруулдаг. Тэмдэгтийн ангийн тэмдэгт үсгүүд, тоо, тэмдэгтүүдтэй таарч байна.

[ Ба ] дотор тэгшитгэлийн ангилалыг синтакс [= c =] -ийг ашиглан зааж өгч болно. Энэ нь ижил катастацитай бүх тэмдэгтийг (одоогийн орон нутгийн тодорхойлолтоор тодорхойлогддог) бүх тэмдэгтийг c .

[ Ба ] дотор [ syntax ] . тэмдэг .] нь холбох тэмдэгийн тэмдэгтэй тохирч байна.

Хэрэв extglob бүрхүүлийн сонголтыг shopt builtin ашиглан идэвхжүүлсэн бол хэд хэдэн тохирох тохирох операторуудыг хүлээн зөвшөөрнө. Дараах тайлбарласнаар загвар-жагсаалт нь | | тусгаарлагдсан нэг буюу хэд хэдэн загваруудын жагсаалт юм . Нийлмэл загварыг дараах дэд загварын нэг буюу хэд хэдэн аргаар үүсгэж болно:

? ( хэв маяг-жагсаалт )

Тухайн загварын тэг буюу нэг тохиолдолыг тааруулдаг

* ( хэв маяг-жагсаалт )

Тухайн загварын тэг буюу түүнээс олон тохиолдолыг тааруулна

+ ( хэв маяг-жагсаалт )

Өгөгдсөн хэв маягийн нэг буюу хэд хэдэн тохиолдлыг тааруулдаг

@ ( загвар-жагсаалт )

Өгөгдсөн загваруудын яг нэгийг нь тааруулна

( загвар-жагсаалт )

Өгөгдсөн хэв маягийн аль нэгийг нь өөр хоорондоо таардаг

Ивээхээс хасах

Өмнөх өргөтгөлүүдийг хийсний дараа, дээрх өргөтгөлүүдийн нэгнээс үүдэлтэй ' , ' , ба ' тэмдэгтүүдийн тэмдэглээгүй тохиолдлуудыг арилгах болно.

Дахин сэргээх

Тушаалыг ажиллуулахаас өмнө түүний оролт, гаралтыг бүрхүүлийн тайлбарласан тусгай тэмдэглэгээ ашиглан дахин чиглүүлж болно. Redirect нь одоогийн бүрхүүлийн гүйцэтгэлийн орчинд зориулж файлуудыг нээж, хаахад хэрэглэгддэг. Дараах дахин чиглүүлэгч операторууд нь энгийн командын аль нэгээр эсвэл өмнө нь командыг дагаж болно. Дамжуулах аргууд нь зүүнээс баруун тийш харагдана.

Дараах тайлбарт файлын тодорхойлогчийн дугаарыг оруулаагүй бол дахин чиглүүлэх операторын эхний тэмдэгт нь < , дахин чиглүүлэлт нь стандарт оролтыг (файлын тодорхойлогч 0) хамаарна. Хэрэв дахин чиглүүлэгч операторын анхны тэмдэгт > бол дахин чиглүүлэлт нь стандарт гаралтыг (файлын тодорхойлогч 1) илэрхийлнэ.

Өөрөөр тэмдэглээгүй бол дахин чиглүүлэх операторын дараахь тайлбарыг дараах өргөтгөлөөр гүйцэтгэхийг хүсч байгаа үг нь өргөжүүлэх, өргөтгөх, параметрийн өргөтгөл, тушаал орлуулалт, арифметик өргөтгөл, иш таталт зайлуулах, замнал өргөтгөл, үг хуваах зэрэгт хамаарна. Хэрвээ энэ нь нэгээс олон үгсээр өргөжинө гэвэл bash алдаа гаргана.

Дамжуулагчийн дараалал нь ач холбогдолтой гэдгийг анхаарна уу. Жишээ нь, тушаал

ls > dirlist 2 > & 1

тушаал нь стандарт гаралт болон стандарт алдааг хоёуланг нь удирдан чиглүүлдэг

ls 2 > & 1 > директор

стандарт гаралтыг dirlist руу чиглүүлэхээс өмнө стандарт гаралт нь зөвхөн стандарт гаралтыг давхар хуулдаг .

Bash нь дараахь хүснэгтэд тодорхойлогдсоны дагуу дамжуулалтад ашиглагдахдаа хэд хэдэн файлын нэрийг гаргана:

/ dev / fd / fd гэж үзье

Хэрэв fd нь хүчинтэй бүхэл тоо бол файлын тодорхойлогч fd нь давхардсан байна.

/ dev / stdin

Файлын тодорхойлогч 0 нь давхардсан байна.

/ dev / stdout

Файлын тайлбар 1 нь давхардсан байна.

/ dev / stderr

Файлын тайлбарлагч 2 нь давхардсан байна.

/ dev / tcp / host / port -г ашиглах болно

Хэрвээ хост жинхэнэ хостын нэр эсвэл интернетийн хаяг байна, мөн порт нь бүхэл порт дугаар эсвэл үйлчилгээний нэр, bash нь холбогдох сокет руу TCP холболтыг нээхийг оролддог.

/ dev / udp / host / port -г ашиглах болно

Хэрвээ хост зөв хостын нэр эсвэл интернетийн хаяг байна, порт нь бүхэл портын дугаар буюу үйлчилгээний нэр, bash UDP холболтыг холбогдох сокет руу нээхийг оролддог.

Файл нээсэн эсвэл үүсгэсэнгүй бол дахин чиглүүлэлт амжилтгүй болоход хүргэдэг.

Оролтыг дахин чиглүүлэх

Оролтын дахин чиглүүлэлт нь файлыг тодорхойлогч функцийн n дээр, эсвэл стандарт оролт (файлын тодорхойлогч 0) дээр нээгдэх үгийн өргөтгөлөөс үүсэх бөгөөд энэ нь тодорхойлогдоогүй бол.

Оролтыг дахин чиглүүлэх ерөнхий хэлбэр нь:

[ n ] < үг

Гарц бүтээгдэхүүнийг дахин чиглүүлэх

Гаралтын шилжүүлэлт нь файлын тодорхойлогч n дээр бичихэд нээгдсэн үгийн өргөтгөлөөс шалтгаална. Хэрэв n тодорхойлогдоогүй бол стандарт гаралт (файлын тодорхойлогч 1) болно. Хэрэв файл байхгүй бол үүсгэгдсэн; Хэрэв энэ нь байгаа бол энэ нь тэг хэмжээтэй болчихдог.

Гаралтын чиглэлийг өөрчлөх ерөнхий хэлбэр нь:

[ n ] > үг

Хэрэв дахин чиглүүлэгч оператор нь > , мөн builtin багц дахь noclobber тохируулгыг идэвхжүүлсэн бол үгийн өргөтгөлөөс үүссэн файл нь энгийн файл юм бол дахин чиглүүлэлт амжилтгүй болно. Хэрэв дахин чиглүүлэгч оператор нь > | , эсвэл дахин чиглүүлэгч оператор > бөгөөд builtin тушаалын set noclobber тохируулгыг идэвхжүүлээгүй байгаа бол үгийн дагуух файл байгаа байсан ч дахин чиглүүлэлтийг оролдох болно.

Зориулалтын үр дүнг нэмэх

Энэ загварын гаралтыг дахин чиглүүлэх нь нэр нь тодорхойлогдоогүй бол файлын тодорхойлогчийн n -д хавсаргах нээх үгийн өргөтгөлөөс үүсэх бөгөөд хэрэв стандарт нь тодорхойлогдоогүй бол стандарт гаралт (файлын тодорхойлогч 1) болно. Хэрэв файл байхгүй бол үүсгэгдсэн байна.

Гаралтад нэмэлт оруулах ерөнхий хэлбэр нь:

[ n ] >> үг

Стандарт гаралт болон стандарт алдааг дахин чиглүүлэх

Bash нь стандарт гаралт (файлын тодорхойлогч 1) болон стандарт алдааны гаралтыг (файлын тодорхойлогч 2) хоёуланг нь энэ байгуулалттай үгийн өргөтгөл гэж нэрлэнэ.

Стандарт гаралт болон стандарт алдааг дахин чиглүүлэх хоёр хэлбэр байдаг:

&> үг

болон

> & үг

Хоёр хэлбэрээс эхнийх нь давуу талтай. Энэ нь semantically equivalent to

> word 2 > & 1

Энд бичиг баримтууд

Энэ төрлийн дахин чиглүүлэлт нь зөвхөн одоогийн эх сурвалжаас оролтыг уншихыг зааж өгдөг. Тухайн цэг хүртэл унших бүх мөрүүдийг тушаалын стандарт оруулга болгон ашигладаг.

Энд-баримт бичгийн хэлбэр нь:

<< [ - ] энд бичиг баримтыг хасах

Параметрийн өргөтгөл, тушаал орлуулалт, арифметик өргөтгөл, эсвэл үгний өргөтгөлийг гүйцэтгэдэггүй. Хэрэв үсгээр бичсэн тэмдэгтүүд ишлэгдсэн бол хасалт нь үгийн дээрхи иш татсан үр дүн бөгөөд энд-баримт бичгийн шугамууд өргөжөөгүй болно. Хэрэв үг тэмдэглэгээг тэмдэглээгүй бол эндхийн баримт бичгийн бүх шугам нь параметр өргөтгөл, тушаал орлуулалт, арифметик өргөтгөлтэй болно. Сүүлчийн тохиолдолд тэмдэгт тэмдэгтийн дараалал \ үл хэрэглэгддэг ба \ , $ , ба ` тэмдэгтүүдийг иш татахад ашиглагдах ёстой.

Хэрэв дахин чиглүүлэгч оператор нь << - бол бүх тэргүүлэх табын тэмдэгтүүд оролтын мөрөөс хасагдсан мөрөөс хасагдсан мөр. Энэ нь бүрхүүлийн скриптүүдийн доторх баримт бичгүүдийг байгалийн загвараар хэвлэнэ.

Энд Strings байна

Энд байгаа хувилбарын нэг хувилбар болох формат:

<<< үг

Үг нь стандарт оролт дээр тушаал өгч өргөжүүлж өгдөг.

Файл тайлбарлагчийг хувилах

Дахин чиглүүлэгч оператор

[ n ] <& word

оролтын файлын тодорхойлогчуудыг давхардахад ашиглагддаг. Хэрэв үг нэг буюу хэд хэдэн цифрээр өргөжинө гэвэл n -аар тэмдэглэсэн файлын тодорхойлогч нь тухайн файлын тодорхойлогчын хуулбар болно. Хэрэв үгийн цифр нь өгөгдөл файлын тодорхойлогчийг онгойлгохыг зааж өгөөгүй бол дахин чиглүүлэх алдаа гардаг. Хэрэв word - д үнэлбэл бол, file descriptor n хаалттай байна. Хэрэв n тодорхойлогдоогүй бол стандарт оролт (файлын тодорхойлогч 0) ашиглагдана.

Оператор

[ n ] > & үг

Үүнийг давталттай гаралтын файлын тодорхойлогчуудад хэрэглэдэг. Хэрэв n тодорхойлогдоогүй бол стандарт гаралт (файлын тодорхойлогч 1) ашиглагдана. Хэрэв үсгээр илэрхийлэгдэх цифрүүд нь гаралтанд зориулсан файлын тодорхойлогчийг зааж өгөөгүй бол дахин чиглүүлэх алдаа гардаг. Онцгой тохиолдолд, n нь орхигдсон, үг нь нэг буюу хэд хэдэн оронтой тоогоор хязгаарлагдахгүй бол стандарт гаралт болон стандарт алдаа нь өмнө тайлбарласны дагуу дахин чиглүүлдэг.

Файл тайлбарлагчдыг шилжүүлэх

Дахин чиглүүлэгч оператор

[ n ] <& оронтой -

хэрэв n тодорхойлогдоогүй бол descriptor n буюу стандарт оролтыг (файлын тодорхойлогч 0) файлын тодорхойлогч тоог шилжүүлдэг. digit нь n- г давхардуулсны дараа хаалттай байна.

Үүнтэй адилаар, дахин чиглүүлэгч оператор

[ n ] > & орон -

хэрэв n тодорхойлогдоогүй бол descriptor n буюу стандарт гаралт (файлын тодорхойлогч 1) руу файлын тодорхойлогч тоог шилжүүлдэг.

Унших ба бичихийн тулд File Descriptors нээх

Дахин чиглүүлэгч оператор

[ n ] <> үг

файлын тодорхойлогч n дээр унших ба бичих аль аль нь нээх үгний өргөтгөл гэдэг нь файлын шалтгаан болдог, эсвэл n тодорхойлогдоогүй бол файлын тодорхойлогч 0 байна. Хэрэв файл байхгүй бол энэ нь үүснэ.

Алиасс

Алдаа нь энгийн тушаалын эхний үг болгон ашиглагдах үед тэмдэгт мөрийг орлуулах боломжийг олгодог. Бүрхүүл нь alias болон alias- тай цуг бүтээгдсэн тушаалуудтай цуг тохируулж болох alias- уудын жагсаалтыг агуулдаг (доор SHELL BUILTIN COMMANDS- г үзнэ үү). Тухайн командын эхний үг бол жагсаалтад ороогүй эсэхийг шалгана. Хэрэв тийм бол уг үг нь alias-ийн текстээр солигдоно. Альфа нэр болон солих текст нь дээр дурьдсан мета-тэмдэгтүүд гэх мэт хүчин төгөлдөр бүрхүүлийн оролт агуулж болох бөгөөд alias-ийн нэр нь агуулаагүй байж болох юм. Орлуулах текстийн эхний үг нь alias-ээр тестлэгдэх боловч өргөтгөсөн alias -тэй ижил үг нь хоёр дахь удаагаа өргөжөөгүй байна. Өөрөөр хэлбэл ls -F нь ls -F болж болох бөгөөд, жишээ нь bash нь текстийг рекурсивоор өргөтгөхийг оролддоггүй гэсэн үг юм. Хэрэв alias утга дахь хамгийн сүүлийн тэмдэгт хоосон бол alias-ыг дагасны дараах дараагийн тушаал үгний alias өргөтгөлийг шалгадаг.

Алиасууд нь alias тушаалаар жагсаагдаж, unalias тушаалаар устгагдана.

Текст солих үед аргументуудыг ашиглах механизм байхгүй байна. Аргумент шаардлагатай бол бүрхүүлийн функцийг ашиглах ёстой (доорхи функцийг үзнэ үү).

Бүрхүүл нь интерактив биш тохиолдолд алийг хамрахгүй бөгөөд expand_aliases бүрхүүлийн тохируулга shopt-ээр ( дэлгүүрийн SHELL BUILTIN COMMANDS дагуу дэлгүүрийн тодорхойлолтыг үз) харуулахгүй.

Алмазуудын тодорхойлолт болон хэрэглээтэй холбоотой дүрэм зарим талаараа эргэлзээтэй байдаг. Bash нь тухайн мөрөн дэх аль ч тушаалыг ажиллуулахаасаа өмнө хамгийн багадаа нэг бүрэн оролтыг уншдаг. Үйлдлийн системийг ажиллуулах үедээ биш, харин тушаалыг уншиж байх үед алийг нь өргөжүүлдэг. Тиймээс өөр нэг тушаалын нэгэн мөрөнд гарч байгаа alias тодорхойлолт нь дараагийн мөрөнд уншигдах хүртэл үйлчлэхгүй. Тухайн мөр дэх alias тодорхойлолтыг дагасан тушаалууд нь шинэ нэрээр нөлөөлөөгүй. Функцийг гүйцэтгэх үед энэ зан үйл нь бас нэгэн асуудал юм. Функцийг гүйцэтгэх үед биш функцийн тодорхойлолтыг уншиж байх үед тэмдэглэгээ нь өргөжсөн байдаг. Учир нь функцын тодорхойлолт нь өөрөө нэгдэл команд юм. Үүний үр дүнд функцид тодорхойлсон хуурамч дүрүүд нь функцийг гүйцэтгэх хүртэл боломжгүй байдаг. Аюулгүй байхын тулд үргэлж alias тодорхойлолтыг тусдаа мөрөн дээр тавьж, нийлмэл тушаалуудад alias- ийг бүү ашигла.

Бараг бүх зорилгын хувьд алийг нь бүрхүүлийн функцоор сольно.

Функц

SHELL GRAMMAR дээр тайлбарласан бүрхүүлийн функц нь сүүлд гүйцэтгэх тушаалын цувралуудыг хадгалдаг. Бүрхүүлийн функцийг энгийн тушаалын нэрээр ашиглавал функцийн нэртэй холбоотой командын жагсаалтыг гүйцэтгэнэ. Функцийг одоогийн бүрхүүлд гүйцэтгэнэ. Тэдгээрийг тайлбарлахын тулд шинэ процесс үүсгээгүй (үүнийг бүрхүүлийн скриптийн гүйцэтгэлтэй нь ялгаатай). Функцийг гүйцэтгэх үед функцэд өгөх нэмэлт өгөгдлүүд нь түүний гүйцэтгэлийн үе дэх байрлалын параметр болдог. Өөрчлөлтийг тусгахын тулд тусгай параметр # -г шинэчилнэ. Байршлын параметр 0 нь өөрчлөгддөггүй. FUNCNAME хувьсагч функцийг гүйцэтгэх явцад функцийн нэрээр тохируулагдсан байна. Бүрхүүл ажиллуулах орчны бусад бүх талууд нь функцийг өгөгдсөн шинж чанарыг өгдөггүй бол DEBUG-ийн занга (доор SHELL BUILTIN COMMANDS дор баригдсан агуулахын тодорхойлолтыг харна уу) Доорх барьсан тухай тайлбарыг үзнэ үү).

Функцэд орон нутгийн хувьсагчид орон нутгийн барьсан тушаалаар зарлаж болно. Ерөнхийдөө хувьсагч ба тэдгээрийн утгыг функц ба дуудагчийн хооронд хуваадаг.

Хэрэв барьсан тушаалын командыг функцээр гүйцэтгэвэл, функц дуудсаны дараа функц нь дуусч, гүйцэтгэлийг дараагийн командтай хамт үргэлжлүүлнэ. Функц дууссаны дараа байрлалын параметрийн утгууд болон тусгай параметр # нь функцийн гүйцэтгэлийн өмнө утгуудыг сэргээнэ.

Функцийн нэр, тодорхойлолтуудыг -f тохируулгатай хамт жагсааж эсвэл бичсэн тушаалын тушаалуудыг жагсааж болно. Дугаарлах эсвэл форматлах -F сонголт нь зөвхөн функцийн нэрийг жагсаах болно. Функцуудыг экспортод гаргаж болох бөгөөд дэд бүтээгдхүүнүүд нь экспортод зориулж -f тохируулгаар автоматаар тэдгээрийг зааж өгч болох юм.

Функц нь рекурсив байж болно. Рекурсив дуудлагын тоог хязгаарлахгүй.

ARITHMETIC EVALUATION

Бүрхүүл нь тодорхой нөхцөлд үнэлэх арифметик илэрхийллийг зөвшөөрдөг (builtin тушаал ба арифметикийн өргөтгөлийг үз ). Үнэлгээг тогтмол өргөнтэй бүхэл тоогоор дүүргэхийг шаарддаг боловч 0-ээр хуваагдан баригдаж тэмдэглэгдсэн байна. Операторууд болон тэдгээрийн давхцал болон хараат бус байдал нь С хэл дээр адил байна. Операторын дараах жагсаалтыг адилхан давуу эрхтэй операторуудаар ангилдаг. Түвшинг өмнөх түвшинг бууруулах дарааллаар жагсаав.

id ++ id -

өсөлтийн дараах хувьсах болон дараах бууралт

++ id - id

хувьсах өмнөх нэмэгдэл ба урьдчилсан бууралт

- +

unary minus ба plus

! ~

логик болон bitwise буруугаар тавьсан

**

экспонентаци хийх

* /%

үржүүлэх, хуваах, үлдэгдэл

+ -

нэмэх, хасах

<< >>

зүүн ба баруун битий өөрчлөлтүүд

<=> = <>

харьцуулалт

==! =

тэгш байдал ба тэгш бус байдал

&

bitwise ба

^

bitwise онцгой OR

|

bitwise OR

&&

логик ба

| |

логик OR

expr ? expr : expr

нөхцөлт үнэлгээ

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

даалгавар

expr1 , expr2

таслал

Shell хувьсагчуудыг operands гэж зөвшөөрдөг; параметрийн өргөтгөлийг илэрхийлэхээс өмнө хийгддэг. Үзүүлэлтийн хүрээнд shell хувьсагчдыг параметр өргөтгөх синтакс ашиглахгүйгээр нэрээр нь нэрлэж болно. Хувьсагчийн утга нь иш татагдсан үед арифметик илэрхийлэл байдлаар үнэлэгдэнэ. Бүрхүүлийн хувьсагч нь илэрхийлэлд ашиглагдах бүхэл тоон шинжийг идэвхжүүлээгүй байх шаардлагатай.

Тэргүүлэх 0-тэй тогтмол нь octal тоо байна. 0x эсвэл 0x тэргүүлэх нь 16-тын тоог заана. Үгүй бол тоонууд [ суурь # ] n, суурь нь аравтын тоогоор арифметик суурийг илэрхийлж байгаа бѳгѳѳд n нь уг бѳгѳѳд тоо юм. Хэрэв үндсэн # хаягийг орхисон бол base base 10-г ашигладаг. 9-өөс их тоонууд нь жижиг үсгээр, том үсгүүд, @, ба _ гэсэн үсгүүдээр дүрслэгдэнэ. Үндсэн суурь нь 36-аас бага буюу тэнцүү бол жижиг ба том үсэг нь 10-аас 35 хоорондох тоон утгыг илэрхийлж болно.

Операторууд нь дарааллын дагуу үнэлэгддэг. Далд хаалтанд дэд илэрхийллүүдийг эхнийхэд нь үнэлж, дээр дурдсан тэргүүлэх дүрмийг давж заалдаж болно.

CONDITIONAL EXPRESSIONS

Холбогдох илэрхийллийг [[ нийлмэл команд ба тест ба [ файлын шинж чанаруудыг шалгах тушаалуудыг ашиглан stringin ба арифметикийн харьцуулалт хийх]. Илэрхийлэл нь дараахь unary эсвэл хоёртын процессоос бүрдэнэ. Хэрэв ямар нэгэн файлын нэмэлт өгөгдөл нь / dev / fd / n гэсэн файлын нэмэлт өгөгдөлтэй бол файлын тодорхойлогч n шалгагдана. Хэрэв файлын нэг нэмэлт өгөгдөл нь / dev / stdin , / dev / stdout , эсвэл / dev / stderr -ийн файлын нэмэлт өгөгдөл бол 0, 1, эсвэл 2 гэсэн файлын тодорхойлогчийг шалгана.

-a файл

Файл байгаа эсэх.

-b файл

Файл байгаа эсэх нь блок тусгай файл юм.

-c файл

Файл байгаа эсэхийг мөн тэмдэгтийн тусгай файл гэж үздэг.

-d файл

Файл байгаа эсэх, лавлах юм бол үнэн.

-e файл

Файл байгаа эсэх.

-f файл

Файл байгаа эсэхийг тогтоож, ердийн файл байна.

-g файл

Файл байгаа эсэх, бүлэг бүлэг-id байна.

-h файл

Файл байгаа эсэх нь симбол холбоос юм.

-k файл

Файл байгаа эсэх болон түүний "наалттай" бит нь тохируулагдсан байна.

-p файл

Файл байгаа эсэх, нэртэй хоолой (FIFO) байна.

-r файл

Файл байгаа эсэхийг уншиж, уншдаг эсэх.

-s файл

Файл байгаа эсэх, тэгээс том хэмжээтэй байна.

fd

Хэрвээ файлын тодорхойлогч fd нээлттэй бол терминалд хамаарна.

-u файл

Файл байгаа эсэх, түүний set-хэрэглэгчийн-id бит тохируулагдсан эсэх.

-w файл

Файл байгаа эсэхийг бичиж тэмдэглэх боломжтой.

-x файл

Файл байгаа эсэх, ажиллах боломжтой эсэх.

-O файл

Файл байгаа эсэх мөн үр дүнтэй хэрэглэгчийн ID эзэмшдэг.

-G файл

Файл байгаа эсэх, үр дүнтэй бүлгийн ID эзэмшдэг эсэх.

-L файл

Файл байгаа эсэх нь симбол холбоос юм.

-S файл

Файл байгаа эсэх, сокет бол үнэн.

-N файл

Файл байгаа эсэхийг үнэн бөгөөд сүүлийн уншсанаас хойш өөрчлөгдсөн.

file1 - nt файл2

Файл 1 нь шинэчлэгдсэн (өөрчлөгдсөн огнооны дагуу) файлынх2 , эсвэл fail1 байгаа бол file2 нь үгүй ​​бол үнэн.

file1 - ot file2

Файл 1 файлынхээс older бол, эсвэл file2 байгаа бол file1 нь үгүй.

file1 -ef файл2

Файлын1 ба файл2 нь ижил төхөөрөмж болон inode-ыг үздэг бол үнэн.

-o сонгох нэр

Хэрэв бүрхүүлийн тохируулга optname идэвхжсэн бол үнэн юм. -o тохируулгын доор доорхи багц хэлбэрээр опционы жагсаалтыг үзнэ үү.

-z мөр

Тэмдэгт мөрийн урт нь тэг болно.

-n мөр

мөр

Хэрэв мөрийн урт нь тэг биш бол үнэн юм.

string1 == string2

Хэрвээ мөрүүд тэнцүү бол үнэн. = POSIX-ыг хатуу мөрдөхөд == -г ашиглаж болно.

string1 ! = string2

Хэрвээ мөр нь тэнцүү биш бол үнэн юм.

string1 < string2

String1 одоогийн байрлал дахь lexicographically string2- ээс өмнө бичиж тэмдэглээрэй.

string1 > string2

Хэрэв string1 нь одоогийн орон дахь lexicographically string2 дараа string-ыг үнэн гэж үзье .

arg1 OP arg2

OP нь -eq , -ne , -lt , -le , -gt , эсвэл -ge гэсэн нэг юм. Аргуметик эдгээр аравтын оператор нь arg2 нь Arg2- тай тэнцүү буюу түүнээс их буюу тэнцүү, түүнээс бага буюу тэнцүү, тэнцүү, тэнцүү, тэнцүү, тэнцүү биш эсвэл тэнцүү биш юмуу тэнцүү биш юм. Arg1 ба arg2 нь эерэг эсвэл сөрөг бүхэл тоонууд байж болно.

ЗАСГИЙН ГАЗАР ХЭРЭГСЭЛ

Энгийн тушаалыг гүйцэтгэх үед бүрхүүл нь дараах өргөтгөлүүд, даалгавар, болон чиглүүлэлтүүдийг зүүнээс баруун тийш харуулна.

1.

Шалгаруулагчийн үгс нь хувьсагчийн хуваарилалт (командын нэрний өмнө) болон чиглүүлэлтүүдийг сүүлд боловсруулахад зориулж хадгалж байдаг.

2.

Хувьсах даалгавар, эсвэл чиглүүлэх биш үгс нь өргөжсөн. Хэрэв өргөтгөлийн дараа ямар нэг үг үлдсэн бол эхний үг нь тушаалын нэр байх ба үлдсэн үг нь нэмэлт өгөгдөл юм.

3.

Шилжүүлэлтийг REDIRECTION дээр дээр тайлбарласны дагуу гүйцэтгэнэ.

4.

Хувьсагчийн хуваарилалт бүр дэх = = текстийг tilde өргөтгөл, параметрийн өргөтгөл, тушаалын орлуулалт, арифметик өргөтгөл, хувьсах хуваарийг гаргахын өмнө иш татан авдаг.

Хэрэв ямар ч тушаалын нэрийн үр дүн гараагүй бол хувьсах даалгавар нь одоогийн бүрхүүл орчинд нөлөөлдөг. Үгүй бол хувьсагчдыг ажиллуулсан тушаалын орчнод нэмэх бөгөөд одоогийн бүрхүүл орчинд нөлөөлөхгүй. Хэрэв ямар нэг даалгавар нь унших хувьсагчийн утгыг уншихыг оролдвол алдаа гардаг бөгөөд команд нь тэг биш статустай гарна.

Хэрэв тушаалын нэрийн үр дүн байхгүй бол чиглүүлэлтүүд хийгддэг боловч орчин үеийн бүрхүүлийн орчинд нөлөөлөхгүй. Дахин чиглүүлэх алдаа нь тэгээс үл хамаарах төлөвтэй гарах тушаалыг өгдөг.

Өргөтгөсний дараа тушаалын нэр үлдсэн бол гүйцэтгэлийн үр дүнг дор тайлбарлав. Үгүй бол команд гарах болно. Хэрэв өргөтгөлүүдийн аль нэг нь тушаал орлуулалт агуулж байвал тушаалын гарах нөхцөл нь гүйцэтгэсэн орлуулах сүүлчийн тушаалын гарах статус юм. Хэрэв командыг оруулаагүй бол команд нь тэгийн статустай гарна.

ТОГТООХ ТУХАЙ

Тушаалыг үгсээр задалсны дараа энгийн тушаал болон нэмэлт аргументын нэмэлт жагсаалт гарвал дараах үйлдлүүд хийгдэх болно.

Хэрэв командын нэр нь ямар ч зүсэлт гаргаагүй бол бүрхүүл үүнийг олох оролдлого хийдэг. Хэрэв энэ нэрээр бүрхүүлийн функц байгаа бол дээрх функц дээр тайлбарласнаар гүйцэтгэгдэнэ. Хэрэв нэр нь функцтэй тохирохгүй бол бүрхүүл үүнийг бүрхүүлийн барьсан жагсаалтанд хайх болно. Хэрвээ тоглолт олдвол уг бүтээгдхүүнийг ажиллуулдаг.

Хэрэв нэр нь бүрхүүлийн функц юмуу бүтээгдхүүн биш бөгөөд ямар ч хөндлөн огтлолгүй бол bash нь тухайн нэрээр нь ажилладаг файлыг агуулж байгаа санд PATH-ийн элемент бүрийг хайдаг. Bash- г гүйцэтгэх файлуудын бүрэн замыг санахын тулд hash хүснэгтийг ашигладаг (доор SHELL BUILTIN COMMANDS доор байгаа hash ). PATH доторх лавлахыг бүрэн хайж байгаа бол тушаал нь hash хүснэгтээс олдохгүй бол гүйцэтгэгдэнэ. Хайлт амжилтгүй болбол бүрхүүл нь алдааны мэдэгдэл хэвлээд 127 гаралтын статусыг буцаана.

Хайлт амжилттай болсон, эсвэл тушаалын нэр нь нэг буюу хэд хэдэн зүсэлттэй байвал бүрхүүл нь нэртэй програмыг биеэ даасан гүйцэтгэх орчинд ажиллуулдаг. Argument 0 нь өгөгдсөн нэр дээр тохируулагдсан бөгөөд тушаалын үлдсэн нэмэлт өгөгдлүүд нь өгөгдсөн нэмэлт өгөгдөлд тохируулагдана.

Хэрэв энэ гүйцэтгэл нь файл ажиллах файлын хэлбэрээр байдаггүй бөгөөд файл нь сан биш, бүрхүүлийн скрипт , бүрхүүлийн тушаал агуулсан файл гэж тооцогддог. Дэд хэсэг нь үүнийг ажиллуулах зорилгоор үүсгэсэн. Энэ дэд бүтэц нь өөрөө өөртөө шинэчлэгддэг бөгөөд ингэснээр үр дүн нь скриптийг зохицуулахын тулд шинэ бүрхүүл ажиллуулсантай адил, эцэг эх нь санах командуудын байршлыг ( SHELL BUILTIN COMMANDS дор доорхи hash- г харна уу) хүүхдийг үлдээнэ.

Хэрэв програм нь # -ээр эхэлсэн файл юм ! , эхний мөрний үлдсэн хэсэг нь програмын орчуулагчийг тодорхойлдог. Энэ бүрхүүлийн тодорхойлогдсон үйлдлийн системийг ажиллуулах боломжгүй форматыг тодорхойлсон орчуулагч ажиллуулдаг. Орчуулагчид өгөх нэмэлт өгөгдлүүд нь програмын эхний мөрөнд орчуулагчийн нэрний дараа орчуулгын нэрний дараа нэг нэмэлт нэмэлт өгөгдлөөс тогтдог бөгөөд дараа нь програмын нэр, дараа нь тушаалын аргументууд хэрэв байгаа бол.

ОРЧНЫ ГЭРЭЭ БАЙГУУЛЛАГА

Бүрхүүл нь гүйцэтгэлийн орчинд байдаг бөгөөд үүнд дараах зүйлсээс бүрдэнэ:

*

shell-ээр удамшсан бүрхүүлээр задлах, builtin-д нийлүүлэгдсэн чиглүүлэлтүүдийн дагуу өөрчилсөн файлууд

*

cd , pushd , эсвэл popd гэж зааж өгсөн одоо байгаа ажлын сан эсвэл бүрхүүлийн тусламжтайгаар дуудлагаар дамждаг

*

umask-д үүсгэгдсэн файлын үүсгэлтийн горимын маск эсвэл бүрхүүлийн эцэг эхээс ирсэн

*

зангагаар тогтоосон одоо байгаа хавхлаг

*

хувьсагчийн хуваарилалт эсвэл хүрээлэн буй орчны бүрхүүлийн эцэг эхээс өвлөн авсан бүрхүүлийн параметрүүд

*

бүрхүүлийн функцийг гүйцэтгэх үед тодорхойлсон бүрхүүлийн функцүүд

*

(анхдагчаар эсвэл тушаалын мөрийн нэмэлт өгөгдлөөр) эсвэл тохируулгаар идэвхжүүлэв

*

shopt-ээр идэвхжүүлсэн сонголтууд

*

alias-ээр тодорхойлогдсон бүрхүүл тань алсад байна

*

төрөл бүрийн процессийн ID, түүний дотор үндсэн ажлын байрууд, $$- ийн үнэ цэнэ, $ PPID- ийн үнэ цэнэ

Баригдсан буюу бүрхүүлийн функцээс өөр энгийн тушаалыг ажиллуулахдаа дараахь зүйлсээс бүрдэх бие даасан гүйцэтгэлийн орчинд ажилладаг. Өөрөөр тэмдэглээгүй бол утгууд нь бүрхүүлээс удамшдаг.

*

бүрхүүлтэй нээлттэй файлууд, команд руу чиглүүлэх замаар заагдсан өөрчлөлтүүд болон нэмэлтүүд

*

одоогийн ажиллаж буй лавлах

*

файлын үүсгэх горимын маск

*

Экспортод тэмдэглэгдсэн бүрхүүлийн хувьсагчууд, тушаалаар экспортлогдсон хувьсагчуудын хамт хүрээлэн буй орчинд дамжуулагдана

*

Бүрхүүлээс баригдсан хонгилууд нь бүрхүүлийн эцэг эхээс өвлөгдсөн утгууд руу шилжих бөгөөд бүрхүүлийн үл тоомсорлогдсон хонгилууд үл тоомсорлодог.

Энэ тусад нь ажиллуулсан тушаал нь бүрхүүлийн гүйцэтгэлийн орчинд нөлөөлөхгүй.

Туслах орлуулалт ба асинхрон командууд нь бүрхүүлийн орчинд давхардсан бүрхүүлийн орчинд үйлчилдэг бөгөөд shell-д баригдсан цоорхойнууд эцэг эхээсээ өвлөн авсан бүрхүүлийн утгууд руу дахин залгагддаг. Баригдсан тушаалууд нь дамжуулах хоолойн хэсэг болгон ашиглагддаг. Далд бүрхүүлийн орчинд хийсэн өөрчлөлтүүд нь бүрхүүлийн гүйцэтгэлийн орчинд нөлөөлөхгүй.

Хэрвээ тушаалыг ажиллуулаад & job control нь идэвхгүй бол тушаалын стандарт оролт нь / dev / null гэсэн хоосон файл юм. Үгүй бол дуудагдсан тушаал нь дуудсан бүрхүүл дэхь файлын тодорхойлогчуудыг дамжуулагдсан дамжуулалаар өөрчлөгдөнө.

БҮЛЭГ

Bash Лавлагаа гарын авлага , Брайан Фокс, Чеч Рамей нар

Gnu Readline Номын сан , Brian Fox, Chet Ramey нар

Жни Түүхийн Номын Сан , Брайан Фокс, Чеч Рамей нар

Зөөврийн Operating System Interface (POSIX) 2-р хэсэг: Shell ба Utilities , IEEE

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

emacs (1), vi (1)

readline (3)