InglesPransesEspanyol

Ad


OnWorks favicon

bash - Online sa Cloud

Magpatakbo ng bash sa OnWorks na libreng hosting provider sa Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator

Ito ang command bash na maaaring patakbuhin sa OnWorks na libreng hosting provider gamit ang isa sa aming maramihang libreng online na workstation gaya ng Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator

PROGRAMA:

NAME


bash - GNU Bourne-Again SHell

SINOPSIS


malakas na palo [mga opsyon] [command_string | file]

COPYRIGHT


Ang Bash ay Copyright (C) 1989-2013 ng Free Software Foundation, Inc.

DESCRIPTION


Malakas na palo ay isang sh-compatible command language interpreter na nagsasagawa ng mga command na binasa mula sa
karaniwang input o mula sa isang file. Malakas na palo isinasama rin ang mga kapaki-pakinabang na tampok mula sa Korn at C
mga shell (ksh at csh).

Malakas na palo ay nilayon na maging isang kaayon na pagpapatupad ng bahagi ng Shell at Utilities ng
ang detalye ng IEEE POSIX (IEEE Standard 1003.1). Malakas na palo maaaring i-configure upang maging POSIX-
conformant bilang default.

Opsyon


Lahat ng mga pagpipilian sa shell na may isang character na nakadokumento sa paglalarawan ng itakda
Ang builtin na command ay maaaring gamitin bilang mga opsyon kapag ang shell ay na-invoke. At saka, malakas na palo
binibigyang-kahulugan ang mga sumusunod na opsyon kapag ito ay hinihingi:

-c Kung ang -c naroroon ang opsyon, pagkatapos ay binabasa ang mga command mula sa unang hindi opsyon
argumento command_string. Kung may mga argumento pagkatapos ng command_string, Sila
ay itinalaga sa mga positional na parameter, simula sa $0.
-i Kung ang -i ang opsyon ay naroroon, ang shell ay interactive.
-l gumawa malakas na palo kumilos na parang tinawag ito bilang login shell (tingnan ang INVOKASYON sa ibaba).
-r Kung ang -r ang opsyon ay naroroon, ang shell ay nagiging pinaghihigpitan (Tingnan ang NAGHIGIT KABIBI
sa ibaba).
-s Kung ang -s ang opsyon ay naroroon, o kung walang natitira pang argumento pagkatapos ng pagpoproseso ng opsyon,
pagkatapos ay binabasa ang mga utos mula sa karaniwang input. Ang pagpipiliang ito ay nagpapahintulot sa
mga positional na parameter na itatakda kapag gumagamit ng interactive na shell.
-D Isang listahan ng lahat ng double-quoted na mga string na sinundan ng $ ay nakalimbag sa pamantayan
output. Ito ang mga string na napapailalim sa pagsasalin ng wika kapag ang
kasalukuyang lokal ay hindi C or POSIX. Ito ay nagpapahiwatig ng -n opsyon; walang utos
papatayin.
[-+]O [shopt_option]
shopt_option ay isa sa mga pagpipilian sa shell na tinatanggap ng tindahan builtin (tingnan
KABIBI BUILTIN UTOS sa ibaba). Kung shopt_option ay naroroon, -O nagtatakda ng halaga ng
pagpipiliang iyon; +O inaalis ito sa pagkakatakda. Kung shopt_option ay hindi ibinigay, ang mga pangalan at
mga halaga ng mga pagpipilian sa shell na tinanggap ng tindahan ay nakalimbag sa pamantayan
output. Kung ang invocation option ay +O, ang output ay ipinapakita sa isang format
na maaaring magamit muli bilang input.
-- A -- senyales ng pagtatapos ng mga opsyon at hindi pinapagana ang karagdagang pagpoproseso ng opsyon. Anuman
mga argumento pagkatapos ng -- ay itinuturing bilang mga filename at argumento. Isang argumento ng -
ay katumbas ng --.

Malakas na palo binibigyang-kahulugan din ang isang bilang ng mga opsyon na maraming karakter. Dapat lumabas ang mga opsyong ito sa
ang command line bago ang mga opsyon sa solong-character na makikilala.

--debugger
Ayusin ang debugger profile na maisakatuparan bago magsimula ang shell. Naka-on
pinahabang debugging mode (tingnan ang paglalarawan ng extdebug opsyon sa tindahan
builtin sa ibaba).
--dump-po-strings
Katumbas ng -D, ngunit ang output ay nasa GNU gettext po (portable object) file
format.
--dump-strings
Katumbas ng -D.
- Tumulong Magpakita ng mensahe ng paggamit sa karaniwang output at matagumpay na lumabas.
--init-file file
--rcfile file
Isagawa ang mga utos mula sa file sa halip na ang system wide initialization file
/etc/bash.bashrc at ang karaniwang file ng personal na pagsisimula ~ / .bashrc kung ang
Ang shell ay interactive (tingnan INVOKASYON sa ibaba).

--mag log in
Katumbas ng -l.

--noediting
Huwag gamitin ang GNU Basahin ang linya library upang basahin ang mga linya ng command kapag ang shell ay
interactive.

--noprofile
Huwag basahin ang alinman sa system-wide startup file / etc / profile o alinman sa personal
pagsisimula ng mga file ~ / .bash_profile, ~/.bash_login, O ~ / .profile. Bilang default,
malakas na palo binabasa ang mga file na ito kapag na-invoke ito bilang login shell (tingnan ang INVOKASYON sa ibaba).

--norc Huwag basahin at isagawa ang system wide initialization file /etc/bash.bashrc at
ang personal na initialization file ~ / .bashrc kung interactive ang shell. Ito
Ang opsyon ay naka-on bilang default kung ang shell ay tinatawag bilang sh.

--posix
Baguhin ang ugali ng malakas na palo kung saan ang default na operasyon ay naiiba sa POSIX
pamantayan upang tumugma sa pamantayan (posix paraan). Tingnan TINGNAN KAYA DIN sa ibaba para sa isang sanggunian sa
isang dokumento na nagdedetalye kung paano nakakaapekto ang posix mode sa gawi ng bash.

--restricted
Nagiging restricted ang shell (tingnan NAGHIGIT KABIBI sa ibaba).

--verbose
Katumbas ng -v.

--bersyon
Ipakita ang impormasyon ng bersyon para sa pagkakataong ito ng malakas na palo sa karaniwang output at exit
matagumpay.

MGA PANGANGATWIRANG


Kung mananatili ang mga argumento pagkatapos ng pagpoproseso ng opsyon, at hindi rin ang -c ni ang -s naging opsyon
ibinigay, ang unang argumento ay ipinapalagay na pangalan ng isang file na naglalaman ng shell
mga utos. Kung malakas na palo ay tinatawag sa ganitong paraan, $0 ay nakatakda sa pangalan ng file, at ang
nakatakda ang mga positional na parameter sa natitirang mga argumento. Malakas na palo binabasa at isinasagawa
mga utos mula sa file na ito, pagkatapos ay lalabas. Malakas na paloAng exit status ni ay ang exit status ng huli
utos na isinagawa sa script. Kung walang mga utos na naisakatuparan, ang exit status ay 0. An
Ang pagtatangka ay unang ginawa upang buksan ang file sa kasalukuyang direktoryo, at, kung walang nakitang file,
pagkatapos ay hinahanap ng shell ang mga direktoryo sa PATH para sa iskrip.

INVOKASYON


A login talukap ng alimango ay isa na ang unang character ng argument zero ay a -, o isa na nagsimula sa
ang --mag log in pagpipilian.

An interactive Ang shell ay isang nagsimula nang walang mga argumentong hindi opsyon at walang -c opsyon
na ang karaniwang input at error ay parehong konektado sa mga terminal (tulad ng tinutukoy ng
isatty(3)), o isa na nagsimula sa -i pagpipilian. PS1 ay nakatakda at $- Kabilang i if malakas na palo is
interactive, na nagpapahintulot sa isang shell script o isang startup file na subukan ang estadong ito.

Ang mga sumusunod na talata ay naglalarawan kung paano malakas na palo nagpapatupad ng mga startup file nito. Kung alinman sa mga
umiiral ang mga file ngunit hindi mababasa, malakas na palo nag-uulat ng error. Ang mga Tildes ay pinalawak sa mga filename
tulad ng inilarawan sa ibaba sa ilalim Tilde Paglawak nasa EXPANSION seksyon.

Kailan malakas na palo ay tinatawag bilang isang interactive na shell sa pag-login, o bilang isang hindi interactive na shell na may
--mag log in opsyon, ito ay unang nagbabasa at nagpapatupad ng mga utos mula sa file / etc / profile, Kung na
umiiral ang file. Pagkatapos basahin ang file na iyon, hinahanap nito ~ / .bash_profile, ~/.bash_login, at
~ / .profile, sa ayos na iyon, at nagbabasa at nagpapatupad ng mga utos mula sa unang umiiral
at nababasa. Ang --noprofile maaaring gamitin ang opsyon kapag nagsimula nang mag-inhibit ang shell
pag-uugaling ito.

Kapag lumabas ang isang login shell, malakas na palo nagbabasa at nagpapatupad ng mga utos mula sa file ~/.bash_logout,
kung ito ay umiiral.

Kapag nagsimula ang isang interactive na shell na hindi isang login shell, malakas na palo binabasa at isinasagawa
utos mula sa /etc/bash.bashrc at ~ / .bashrc, kung umiiral ang mga file na ito. Ito ay maaaring inhibited
sa pamamagitan ng paggamit ng --norc pagpipilian Ang --rcfile file pipilitin ang pagpipilian malakas na palo upang basahin at isagawa
utos mula sa file sa halip ng /etc/bash.bashrc at ~ / .bashrc.

Kailan malakas na palo ay nagsimula nang hindi interactive, para magpatakbo ng shell script, halimbawa, hinahanap nito
ang variable BASH_ENV sa kapaligiran, pinalalawak ang halaga nito kung lilitaw ito doon, at ginagamit
ang pinalawak na halaga bilang pangalan ng isang file na babasahin at isasagawa. Malakas na palo kumikilos na parang ang
ang sumusunod na utos ay naisakatuparan:
kung [ -n "$BASH_ENV" ]; tapos . "$BASH_ENV"; fi
ngunit ang halaga ng PATH variable ay hindi ginagamit upang maghanap para sa filename.

If malakas na palo ay tinatawag na may pangalan sh, sinusubukan nitong gayahin ang pag-uugali ng pagsisimula ng kasaysayan
mga bersyon ng sh nang mas malapit hangga't maaari, habang umaayon din sa pamantayan ng POSIX.
Kapag tinawag bilang isang interactive login shell, o isang non-interactive na shell na may --mag log in
opsyon, susubukan muna nitong basahin at isagawa ang mga utos mula sa / etc / profile at ~ / .profile,
sa ayos na iyon. Ang --noprofile maaaring gamitin ang opsyon upang pigilan ang pag-uugaling ito. Kapag tinawag
bilang isang interactive na shell na may pangalan sh, malakas na palo hinahanap ang variable ENV, nagpapalawak nito
halaga kung ito ay tinukoy, at ginagamit ang pinalawak na halaga bilang pangalan ng isang file upang basahin at
isagawa. Dahil ang isang shell ay tinawag bilang sh ay hindi nagtatangkang magbasa at magsagawa ng mga utos mula sa
anumang iba pang mga startup file, ang --rcfile walang epekto ang opsyon. Isang hindi interactive na shell
tinatawag na may pangalan sh ay hindi nagtatangkang basahin ang anumang iba pang mga startup file. Kapag tinawag
as sh, malakas na palo pumasok posix mode pagkatapos basahin ang mga startup file.

Kailan malakas na palo ay nagsimula sa posix mode, tulad ng sa --posix pagpipilian sa command line, sumusunod ito
ang pamantayan ng POSIX para sa mga startup na file. Sa mode na ito, pinalawak ng mga interactive na shell ang ENV
variable at mga utos ay binabasa at isinasagawa mula sa file na ang pangalan ay pinalawak
halaga. Walang ibang mga startup na file ang nababasa.

Malakas na palo sinusubukang tukuyin kung kailan ito pinapatakbo gamit ang karaniwang input nito na konektado sa a
koneksyon sa network, tulad ng kapag pinaandar ng remote shell daemon, kadalasan rshd, O ang
secure na shell daemon sshd. Kung malakas na palo tinutukoy na ito ay pinapatakbo sa ganitong paraan, ito ay nagbabasa
at nagsasagawa ng mga utos mula sa ~ / .bashrc at ~ / .bashrc, kung ang mga file na ito ay umiiral at nababasa.
Hindi nito gagawin ito kung ipapatawag bilang sh. ang --norc maaaring gamitin ang opsyon upang pigilan ito
pag-uugali, at ang --rcfile opsyon ay maaaring gamitin upang pilitin ang isa pang file na basahin, ngunit
hindi rshd ni sshd karaniwang ginagamit ang shell gamit ang mga opsyong iyon o payagan ang mga ito
tinukoy.

Kung ang shell ay nagsimula sa epektibong user (group) id ay hindi katumbas ng tunay na user
(group) id, at ang -p ang opsyon ay hindi ibinibigay, walang mga startup na file ang nabasa, mga function ng shell
ay hindi namana sa kapaligiran, ang SHELLOPTS, MGA BASHOP, CDPATH, at GLOBIGNORE
ang mga variable, kung lumilitaw ang mga ito sa kapaligiran, ay hindi papansinin, at ang epektibong user id ay
itakda sa totoong user id. Kung ang -p ang opsyon ay ibinibigay sa invocation, ang startup na gawi
ay pareho, ngunit ang epektibong user id ay hindi na-reset.

Kahulugan


Ang mga sumusunod na kahulugan ay ginagamit sa kabuuan ng dokumentong ito.
blangko Isang puwang o tab.
salita Isang pagkakasunud-sunod ng mga character na itinuturing bilang isang yunit ng shell. Kilala rin bilang a
token.
pangalan A salita binubuo lamang ng mga alphanumeric na character at underscore, at simula
na may alpabetikong karakter o underscore. Tinutukoy din bilang isang pantukoy.
metacharacter
Isang karakter na, kapag hindi sinipi, ay naghihiwalay ng mga salita. Isa sa mga sumusunod:
| & ; ( ) < > puwang tab
kontrol opereytor
A token na gumaganap ng control function. Ito ay isa sa mga sumusunod na simbolo:
|| & && ; ;; ( ) | |&

NAG-RESERVE Mga salita


Nakalaan mga salita ay mga salita na may espesyal na kahulugan sa shell. Ang mga sumusunod na salita
ay kinikilala bilang nakalaan kapag hindi sinipi at alinman sa unang salita ng isang simpleng utos
(Tingnan ang KABIBI GRAMATIKA sa ibaba) o ang ikatlong salita ng a kaso or para utos:

! kaso coproc do tapos elif iba na C fi para tungkulin if in piliin pagkatapos hanggang habang { }
oras [[ ]]

KABIBI GRAMATIKA


Simple Command
A simple utos ay isang pagkakasunod-sunod ng mga opsyonal na variable na takdang-aralin na sinusundan ng blangko-
pinaghihiwalay na mga salita at pag-redirect, at winakasan ng a kontrol opereytor. Ang unang salita
tumutukoy sa utos na isasagawa, at ipinapasa bilang argument zero. Ang natitirang mga salita
ay ipinasa bilang mga argumento sa invoked command.

Ang return value ng a simple utos ay ang exit status nito, o 128+n kung ang utos ay
winakasan ng signal n.

Pipelines
A padaanin sa tubo ay isang pagkakasunod-sunod ng isa o higit pang mga command na pinaghihiwalay ng isa sa mga control operator
| or |&. Ang format para sa isang pipeline ay:

[oras [-p]] [ ! ] utos [[||&] utos2 ... ]

Ang karaniwang output ng utos ay konektado sa pamamagitan ng isang pipe sa karaniwang input ng utos2.
Ginagawa ang koneksyon na ito bago ang anumang mga pag-redirect na tinukoy ng utos (tingnan
REDIREKSYON sa ibaba). Kung |& Ginagamit, utoskaraniwang error, bilang karagdagan sa pamantayan nito
output, ay konektado sa utos2standard input sa pamamagitan ng pipe; ito ay shorthand para sa
2> & 1 |. Ang implicit na pag-redirect na ito ng karaniwang error sa karaniwang output ay
isinagawa pagkatapos ng anumang mga pag-redirect na tinukoy ng utos.

Ang return status ng pipeline ay ang exit status ng huling command, maliban kung ang
pipefail pinagana ang opsyon. Kung pipefail ay pinagana, ang katayuan ng pagbabalik ng pipeline ay ang
halaga ng huling (pinakakanan) na utos na lumabas nang may status na hindi zero, o zero kung lahat
matagumpay na lumabas ang mga command. Kung ang nakalaan na salita ! nauuna sa isang pipeline, ang exit status
ng pipeline na iyon ay ang lohikal na negation ng exit status tulad ng inilarawan sa itaas. Ang shell
naghihintay para sa lahat ng mga utos sa pipeline na wakasan bago ibalik ang isang halaga.

Kung ang oras nauuna ang nakalaan na salita sa isang pipeline, ang lumipas pati na rin ang oras ng user at system
natupok ng pagpapatupad nito ay iniuulat kapag natapos ang pipeline. Ang -p opsyon
binabago ang format ng output sa tinukoy ng POSIX. Kapag ang shell ay nasa posix paraan, Ito
hindi kinikilala oras bilang isang nakalaan na salita kung ang susunod na token ay nagsisimula sa isang `-'. Ang
TIMEFORMAT variable ay maaaring itakda sa isang format string na tumutukoy kung paano ang timing
dapat ipakita ang impormasyon; tingnan ang paglalarawan ng TIMEFORMAT sa ilalim Talukap ng alimango Variable
sa ibaba.

Kapag ang shell ay nasa posix paraan, oras maaaring sundan ng isang bagong linya. Sa kasong ito, ang
ipinapakita ng shell ang kabuuang oras ng user at system na natupok ng shell at mga anak nito. Ang
TIMEFORMAT variable ay maaaring gamitin upang tukuyin ang format ng impormasyon ng oras.

Ang bawat command sa isang pipeline ay isinasagawa bilang isang hiwalay na proseso (ibig sabihin, sa isang subshell).

Mga Listahan
A listahan ay isang pagkakasunud-sunod ng isa o higit pang mga pipeline na pinaghihiwalay ng isa sa mga operator ;, &, &&,
or ||, at opsyonal na winakasan ng isa sa ;, &, O .

Sa listahan ng mga operator na ito, && at || magkaroon ng pantay na pangunguna, na sinusundan ng ; at &, na mayroon
pantay na pangunguna.

Maaaring lumitaw ang pagkakasunod-sunod ng isa o higit pang mga bagong linya sa a listahan sa halip na isang tuldok-kuwit upang magtakda ng limitasyon
utos.

Kung ang isang command ay winakasan ng control operator &, ang shell ay nagpapatupad ng utos sa
ang likuran sa isang subshell. Ang shell ay hindi naghihintay para sa utos na matapos, at ang
return status ay 0. Commands separated by a ; ay isinasagawa nang sunud-sunod; naghihintay ang shell
para sa bawat utos upang wakasan sa turn. Ang katayuan sa pagbabalik ay ang katayuan sa paglabas ng huli
naisakatuparan ang utos.

Ang mga listahan ng AND at OR ay mga sequence ng isa sa higit pang mga pipeline na pinaghihiwalay ng && at || kontrol
mga operator, ayon sa pagkakabanggit. Ang mga listahan ng AND at OR ay isinasagawa nang may kaliwang pagkakaugnay. Isang AT
may form ang listahan

utos1 && utos2

utos2 ay isinasagawa kung, at kung, utos1 nagbabalik ng exit status na zero.

Ang isang listahan ng OR ay may form

utos1 || utos2

utos2 ay isinasagawa kung at kung lamang utos1 nagbabalik ng hindi-zero na katayuan sa paglabas. Ang pagbabalik
ang status ng AND at OR na mga listahan ay ang exit status ng huling command na naisakatuparan sa listahan.

Compound Command
A tambalan utos ay isa sa mga sumusunod. Sa karamihan ng mga kaso a listahan sa isang utos
ang paglalarawan ay maaaring ihiwalay mula sa natitirang utos ng isa o higit pang mga bagong linya, at maaaring
susundan ng isang bagong linya sa halip na isang semicolon.

(listahan) listahan ay isinasagawa sa isang subshell na kapaligiran (tingnan COMMAND Pagpapatupad Kapaligiran
sa ibaba). Mga variable na takdang-aralin at builtin na command na nakakaapekto sa shell
hindi mananatiling may bisa ang kapaligiran pagkatapos makumpleto ang utos. Ang katayuan sa pagbabalik
ay ang exit status ng listahan.

{ listahan; }
listahan ay pinaandar lamang sa kasalukuyang kapaligiran ng shell. listahan dapat wakasan
na may bagong linya o semicolon. Ito ay kilala bilang a grupo utos. Ang katayuan sa pagbabalik
ay ang exit status ng listahan. Tandaan na hindi katulad ng mga metacharacter ( at ), { at }
ay nakalaan mga salita at dapat mangyari kung saan pinahihintulutan ang isang nakalaan na salita
kinikilala. Dahil hindi sila nagiging sanhi ng pagkaputol ng salita, dapat silang paghiwalayin listahan
sa pamamagitan ng whitespace o ibang shell metacharacter.

((pagpapahayag))
Ang pagpapahayag ay sinusuri ayon sa mga panuntunang inilarawan sa ibaba sa ilalim ARITMETIKO
Paghusga. Kung ang value ng expression ay non-zero, ang return status ay 0;
kung hindi, ang return status ay 1. Ito ay eksaktong katumbas ng pabayaan "pagpapahayag".

[[ pagpapahayag ]]
Magbalik ng status na 0 o 1 depende sa pagsusuri ng conditional expression
pagpapahayag. Ang mga ekspresyon ay binubuo ng mga pangunahing inilarawan sa ibaba sa ilalim
KONDISYONAL MGA PAGPAPAHAYAG. Hindi ginagawa ang paghahati ng salita at pagpapalawak ng pathname
sa mga salita sa pagitan ng [[ at ]]; pagpapalawak ng tilde, parameter at variable
expansion, arithmetic expansion, command substitution, process substitution, at
ginagawa ang pag-alis ng quote. Mga operator na may kondisyon tulad ng -f dapat hindi naka-quote sa
kilalanin bilang mga primarya.

Kapag ginamit sa [[, ang < at > ang mga operator ay nag-uuri ayon sa leksikograpikal gamit ang kasalukuyang
lokal na lugar

Tingnan ang paglalarawan ng pagsusulit builtin command (seksyon SHELL BUILTIN COMMANDS sa ibaba) para sa
ang paghawak ng mga parameter (ibig sabihin, nawawalang mga parameter).

Kapag ang == at != ginagamit ang mga operator, ang string sa kanan ng operator ay
itinuturing na isang pattern at tumugma ayon sa mga panuntunang inilarawan sa ibaba sa ilalim huwaran
Pagtutugma, parang ang extglob Pinagana ang opsyon ng shell. Ang = operator ay katumbas ng
==. Kung ang pagpipiliang shell nocasematch ay pinagana, ang laban ay ginanap nang walang pagsasaalang-alang sa
ang kaso ng mga alpabetikong karakter. Ang return value ay 0 kung tumugma ang string (==) O
hindi tugma (!=) ang pattern, at 1 kung hindi. Anumang bahagi ng pattern ay maaaring ma-quote
upang pilitin ang naka-quote na bahagi na itugma bilang isang string.

Isang karagdagang binary operator, =~, ay magagamit, na may parehong precedence bilang == at !=.
Kapag ito ay ginamit, ang string sa kanan ng operator ay itinuturing na isang pinalawig na regular
expression at itinugma nang naaayon (tulad ng sa regex(3)). Ang return value ay 0 kung ang string
tumutugma sa pattern, at 1 kung hindi. Kung ang regular na expression ay syntactically
hindi tama, ang return value ng conditional expression ay 2. Kung ang pagpipiliang shell
nocasematch ay pinagana, ang tugma ay isinasagawa nang walang pagsasaalang-alang sa kaso ng alpabeto
mga karakter. Anumang bahagi ng pattern ay maaaring banggitin upang pilitin ang sinipi na bahagi na maging
tumugma bilang isang string. Dapat tratuhin ang mga expression ng bracket sa mga regular na expression
maingat, dahil ang normal na pag-quote ng mga character ay nawawala ang kanilang mga kahulugan sa pagitan ng mga bracket. Kung ang
pattern ay naka-imbak sa isang shell variable, quoting ang variable expansion pwersa ang kabuuan
pattern na itugma bilang isang string. Mga substring na tumugma sa mga nakakulong na subexpression
sa loob ng regular na expression ay nai-save sa array variable BASH_REMATCH. Ang elemento
of BASH_REMATCH na may index 0 ay ang bahagi ng string na tumutugma sa buong regular
pagpapahayag. Ang elemento ng BASH_REMATCH may index n ay ang bahagi ng string
tumutugma sa nika panaklong subexpression.

Maaaring pagsamahin ang mga expression gamit ang mga sumusunod na operator, na nakalista sa bumababa na pagkakasunud-sunod ng
karapatan sa pangunguna:

( pagpapahayag )
Ibinabalik ang halaga ng pagpapahayag. Ito ay maaaring gamitin upang i-override ang normal
nangunguna sa mga operator.
! pagpapahayag
Totoo kung pagpapahayag ay hindi totoo.
pagpapahayag1 && pagpapahayag2
Totoo kung pareho pagpapahayag1 at pagpapahayag2 ay totoo.
pagpapahayag1 || pagpapahayag2
Totoo kung alinman pagpapahayag1 or pagpapahayag2 ay totoo.

Ang && at || hindi sinusuri ng mga operator pagpapahayag2 kung ang halaga ng pagpapahayag1 is
sapat upang matukoy ang return value ng buong conditional expression.

para pangalan [[ in [ salita ... ] ] ; ] do listahan ; tapos
Ang listahan ng mga sumusunod na salita in ay pinalawak, na bumubuo ng isang listahan ng mga item. Ang
nagbabago pangalan ay nakatakda sa bawat elemento ng listahang ito, at listahan ay pinaandar
bawat oras. Kung ang in salita ay tinanggal, ang para ipinatupad ang utos listahan isang beses para sa bawat isa
positional parameter na nakatakda (tingnan MGA PARAMETERS sa ibaba). Ang katayuan sa pagbabalik ay ang
exit status ng huling command na ipapatupad. Kung ang pagpapalawak ng mga bagay
sumusunod in nagreresulta sa isang walang laman na listahan, walang mga utos na naisakatuparan, at ang pagbabalik
ang katayuan ay 0.

para (( expr1 ; expr2 ; expr3 )); do listahan ; tapos
Una, ang pagpapahayag ng aritmetika expr1 ay sinusuri ayon sa mga tuntunin
inilalarawan sa ibaba sa ilalim ARITMETIKO Paghusga. Ang pagpapahayag ng aritmetika expr2 is
pagkatapos ay sinusuri nang paulit-ulit hanggang sa masuri ito sa zero. Sa bawat pagkakataon expr2 sinusuri sa
isang hindi zero na halaga, listahan ay naisakatuparan at ang arithmetic expression expr3 is
sinusuri. Kung ang anumang expression ay tinanggal, ito ay kumikilos na parang ito ay sinusuri sa 1. Ang
ang return value ay ang exit status ng huling command in listahan na pinaandar, o
false kung ang alinman sa mga expression ay hindi wasto.

piliin pangalan [ in salita ]; do listahan ; tapos
Ang listahan ng mga sumusunod na salita in ay pinalawak, na bumubuo ng isang listahan ng mga item. Ang set ng
ang mga pinalawak na salita ay nakalimbag sa karaniwang error, ang bawat isa ay nauunahan ng isang numero. Kung ang
in salita ay tinanggal, ang mga positional na parameter ay naka-print (tingnan MGA PARAMETERS sa ibaba).
Ang PS3 prompt ay ipinapakita at ang isang linya basahin mula sa karaniwang input. Kung ang
line ay binubuo ng isang numero na katumbas ng isa sa mga ipinapakitang salita, pagkatapos ay ang
halaga ng pangalan ay nakatakda sa salitang iyon. Kung ang linya ay walang laman, ang mga salita at prompt ay
ipinakita muli. Kung nabasa ang EOF, makumpleto ang utos. Anumang iba pang halaga ang nabasa
sanhi pangalan upang itakda sa null. Ang linyang nabasa ay nai-save sa variable REPLY. ang
listahan ay isinasagawa pagkatapos ng bawat pagpili hanggang sa a masira naisakatuparan ang utos. Ang labasan
katayuan ng piliin ay ang exit status ng huling utos na pinaandar sa listahan, o zero
kung walang mga utos na naisakatuparan.

kaso salita in [ [(] huwaran [ | huwaran ] ... ) listahan ;; ] ... na C
A kaso unang lumalawak ang utos salita, at sinusubukang itugma ito sa bawat isa huwaran in
turn, gamit ang parehong mga patakaran sa pagtutugma tulad ng para sa pagpapalawak ng pathname (tingnan Pathname
Paglawak sa ibaba). Ang salita ay pinalawak gamit ang tilde expansion, parameter at
variable expansion, arithmetic substitution, command substitution, proseso
pagpapalit at pagtanggal ng quote. Bawat isa huwaran ang sinusuri ay pinalawak gamit ang tilde
pagpapalawak, pagpapalawak ng parameter at variable, pagpapalit ng aritmetika, utos
pagpapalit, at pagpapalit ng proseso. Kung ang pagpipiliang shell nocasematch is
pinagana, ang tugma ay isinasagawa nang walang pagsasaalang-alang sa kaso ng alpabeto
mga karakter. Kapag may nakitang tugma, ang katumbas listahan ay pinaandar. Kung ang ;;
operator ay ginagamit, walang kasunod na mga tugma ang sinubukan pagkatapos ng unang pattern
tugma. Gamit ;& sa halip na ;; nagiging sanhi ng pagpapatupad upang magpatuloy sa listahan
nauugnay sa susunod na hanay ng mga pattern. Gamit ;;& sa halip na ;; nagiging sanhi ng
shell upang subukan ang susunod na listahan ng pattern sa pahayag, kung mayroon man, at magsagawa ng anuman
nauugnay listahan sa isang matagumpay na laban. Ang exit status ay zero kung walang pattern
mga posporo. Kung hindi, ito ay ang exit status ng huling utos na pinaandar listahan.

if listahan; pagkatapos listahan; [ elif listahan; pagkatapos listahan; ] ... [ iba listahan; ] fi
Ang if listahan ay pinaandar. Kung ang exit status nito ay zero, ang pagkatapos listahan ay naisakatuparan.
Kung hindi, bawat isa elif listahan ay isinasagawa naman, at kung ang exit status nito ay zero, ang
katumbas pagkatapos listahan ay naisakatuparan at nakumpleto ang utos. Kung hindi, ang iba
listahan ay isinasagawa, kung naroroon. Ang exit status ay ang exit status ng huli
command na naisakatuparan, o zero kung walang kundisyong nasubok na totoo.

habang listahan-1; do listahan-2; tapos
hanggang listahan-1; do listahan-2; tapos
Ang habang Ang command ay patuloy na nagpapatupad ng listahan listahan-2 basta ang huling utos
sa listahan listahan-1 nagbabalik ng exit status na zero. Ang hanggang utos ay magkapareho
sa habang utos, maliban na ang pagsubok ay tinanggihan; listahan-2 ay pinaandar hangga't
bilang huling utos sa listahan-1 nagbabalik ng hindi-zero na katayuan sa paglabas. Ang katayuan ng paglabas ng
ang habang at hanggang Ang mga command ay ang exit status ng huling command na naisakatuparan sa
listahan-2, o zero kung walang naisakatuparan.

Mga coprocess
A coprocess ay isang shell command na pinangungunahan ng coproc nakalaan na salita. Ang isang coprocess ay
isinagawa nang asynchronous sa isang subshell, na parang winakasan ang utos sa &
control operator, na may two-way pipe na itinatag sa pagitan ng executing shell at ng
coprocess.

Ang format para sa isang coprocess ay:

coproc [NAME] utos [mga pag-redirect]

Lumilikha ito ng isang coprocess na pinangalanan NAME. Kung NAME ay hindi ibinigay, ang default na pangalan ay COPROC.
NAME hindi dapat ibigay kung utos ay isang simple utos (tingnan sa itaas); kung hindi, ito ay
binibigyang kahulugan bilang unang salita ng simpleng utos. Kapag ang coprocess ay naisakatuparan, ang
Ang shell ay lumilikha ng array variable (tingnan Mga Arrays sa ibaba) pinangalanan NAME sa konteksto ng
pagsasagawa ng shell. Ang karaniwang output ng utos ay konektado sa pamamagitan ng isang pipe sa isang file
descriptor sa executing shell, at ang file descriptor na iyon ay itinalaga sa NAME[0]. Ang
karaniwang input ng utos ay konektado sa pamamagitan ng isang pipe sa isang file descriptor sa executing
shell, at ang file descriptor na iyon ay itinalaga sa NAME[1]. Ang tubo na ito ay itinatag bago
anumang mga pag-redirect na tinukoy ng utos (tingnan REDIREKSYON sa ibaba). Ang mga deskriptor ng file
ay maaaring magamit bilang mga argumento sa shell ng mga utos at pag-redirect gamit ang karaniwang salita
pagpapalawak. Ang mga deskriptor ng file ay hindi magagamit sa mga subshell. Ang process ID ng
shell spawned upang isagawa ang coprocess ay magagamit bilang ang halaga ng variable NAME_PID.
Ang maghintay Ang builtin command ay maaaring gamitin upang hintayin na matapos ang coprocess.

Dahil ang coprocess ay nilikha bilang isang asynchronous na utos, ang coproc utos palagi
nagbabalik ng tagumpay. Ang return status ng isang coprocess ay ang exit status ng utos.

Talukap ng alimango tungkulin Kahulugan
Ang isang function ng shell ay isang bagay na tinatawag na tulad ng isang simpleng command at nagpapatupad ng isang tambalan
command na may bagong hanay ng mga positional na parameter. Ang mga function ng shell ay idineklara bilang mga sumusunod:

pangalan () tambalang-utos [pag-redirect]
tungkulin pangalan [()] tambalang-utos [pag-redirect]
Tinutukoy nito ang isang function na pinangalanan pangalan. Ang nakalaan na salita tungkulin ay opsyonal. Kung
ang tungkulin Ang nakalaan na salita ay ibinigay, ang mga panaklong ay opsyonal. Ang katawan of
ang function ay ang compound command tambalang-utos (Tingnan ang Compound Command
sa itaas). Ang utos na iyon ay karaniwang a listahan ng mga utos sa pagitan ng { at }, ngunit maaaring anuman
command na nakalista sa ilalim Compound Command sa itaas. tambalang-utos ay pinaandar
kailanman pangalan ay tinukoy bilang pangalan ng isang simpleng utos. Kapag nasa posix paraan,
pangalan maaaring hindi ang pangalan ng isa sa POSIX espesyal builtin. Anumang mga pag-redirect
(Tingnan ang REDIREKSYON sa ibaba) na tinukoy kapag tinukoy ang isang function ay ginaganap kapag ang
ang function ay naisakatuparan. Ang exit status ng isang function definition ay zero maliban kung a
nangyayari ang syntax error o mayroon nang readonly na function na may parehong pangalan. Kailan
naisakatuparan, ang exit status ng isang function ay ang exit status ng huling command
ipinatupad sa katawan. (Tingnan Mga function sa ibaba.)

KOMENTARYO


Sa isang non-interactive na shell, o isang interactive na shell kung saan ang interactive_comments
opsyon sa tindahan pinagana ang builtin (tingnan KABIBI BUILTIN UTOS sa ibaba), isang salita
nagsisimula sa # nagiging sanhi ng salitang iyon at lahat ng natitirang character sa linyang iyon na hindi papansinin.
Isang interactive na shell na walang interactive_comments hindi pinapayagan ang opsyon na pinagana
mga komento. Ang interactive_comments Ang opsyon ay naka-on bilang default sa mga interactive na shell.

NAGSISIPI


Pag-quote ay ginagamit upang alisin ang espesyal na kahulugan ng ilang mga character o salita sa shell.
Maaaring gamitin ang pagsipi upang huwag paganahin ang espesyal na paggamot para sa mga espesyal na karakter, upang maiwasan
nakalaan na mga salita mula sa pagkilala bilang ganoon, at upang maiwasan ang pagpapalawak ng parameter.

Bawat isa sa mga metacharacter nakalista sa itaas sa ilalim Kahulugan ay may espesyal na kahulugan sa shell
at dapat banggitin kung ito ay kumakatawan sa sarili nito.

Kapag ang mga pasilidad ng pagpapalawak ng kasaysayan ng utos ay ginagamit (tingnan KASAYSAYAN EXPANSION
sa ibaba ng kasaysayan paglawak karakter, kadalasan !, ay dapat na sinipi upang maiwasan ang kasaysayan
expansion.

May tatlong mekanismo ng pagsipi: ang makatakas katangian, single quotes, at double
mga quote

Isang hindi naka-quote na backslash (\) ay ang makatakas katangian. Pinapanatili nito ang literal na halaga ng
susunod na karakter na kasunod, maliban sa . Kung ang \pares
lilitaw, at ang backslash ay hindi sinipi mismo, ang \ay itinuturing bilang isang linya
pagpapatuloy (iyon ay, ito ay inalis mula sa input stream at epektibong hindi pinansin).

Ang paglalagay ng mga character sa iisang quote ay nagpapanatili ng literal na halaga ng bawat karakter sa loob
ang mga quotes. Maaaring hindi maganap ang isang quote sa pagitan ng mga solong quote, kahit na naunahan ng a
backslash.

Ang paglalagay ng mga character sa double quotes ay nagpapanatili ng literal na halaga ng lahat ng mga character sa loob
ang mga panipi, maliban sa $, `, \, at, kapag pinagana ang pagpapalawak ng kasaysayan, !. ang
character $ at ` panatilihin ang kanilang espesyal na kahulugan sa loob ng double quotes. Ang backslash
Pinapanatili lamang ang espesyal na kahulugan nito kapag sinusundan ng isa sa mga sumusunod na karakter: $, `,
", \, O . Ang isang double quote ay maaaring ma-quote sa loob ng double quote sa pamamagitan ng unahan nito
na may backslash. Kung pinagana, isasagawa ang pagpapalawak ng kasaysayan maliban kung ang isang ! lumilitaw
sa double quotes ay nakatakas gamit ang backslash. Ang backslash na nauuna sa ! Hindi
inalis.

Mga espesyal na parameter * at @ may espesyal na kahulugan kapag nasa dobleng panipi (tingnan MGA PARAMETERS
sa ibaba).

Mga salita sa anyo $'pisi' ay ginagamot nang espesyal. Lumalawak ang salita sa pisi, Na may
pinalitan ang mga backslash-escaped na character gaya ng tinukoy ng pamantayan ng ANSI C. Backslash
Ang mga pagkakasunud-sunod ng pagtakas, kung mayroon, ay na-decode tulad ng sumusunod:
\a alerto (kampana)
\b backspace
\e
\E isang karakter sa pagtakas
\f form feed
\n bagong linya
\r pagbabalik ng karwahe
\t pahalang na tab
\v patayong tab
\\ pagtalikod
\' nag-iisang quote
\" dobleng quote
\nnn ang walong-bit na karakter na ang halaga ay ang octal na halaga nnn (isa hanggang tatlo
digit)
\xHH ang walong-bit na character na ang halaga ay ang hexadecimal na halaga HH (isa o dalawa
hex digit)
\uHhhh ang Unicode (ISO/IEC 10646) character na ang value ay ang hexadecimal value
Hhhh (isa hanggang apat na hex na digit)
\UHHHHHHH
ang Unicode (ISO/IEC 10646) character na ang value ay ang hexadecimal value
HHHHHHH (isa hanggang walong hex na digit)
\cx isang kontrol-x katangian

Ang pinalawak na resulta ay single-quoted, na parang ang dollar sign ay hindi naroroon.

Isang double-quoted string na pinangungunahan ng isang dollar sign ($"pisi") ay magiging sanhi ng string
isinalin ayon sa kasalukuyang lokal. Kung ang kasalukuyang lokal ay C or POSIX, ang
hindi pinapansin ang dollar sign. Kung ang string ay isinalin at papalitan, ang kapalit ay
double-quoted.

MGA PARAMETERS


A parametro ay isang entity na nag-iimbak ng mga halaga. Maaari itong maging a pangalan, isang numero, o isa sa
mga espesyal na character na nakalista sa ibaba sa ilalim espesyal parameter. Ang nagbabago ay isang parameter
isinasaad ng a pangalan. Ang isang variable ay may a halaga at sero o higit pa mga katangian. Ang mga katangian ay
itinalaga gamit ang magpahayag builtin command (tingnan magpahayag sa ibaba sa KABIBI BUILTIN UTOS).

Ang isang parameter ay nakatakda kung ito ay itinalaga ng isang halaga. Ang null string ay isang wastong halaga.
Kapag naitakda na ang isang variable, maaari lamang itong i-unset sa pamamagitan ng paggamit ng i-unset builtin command (tingnan KABIBI
BUILTIN UTOS sa ibaba).

A nagbabago maaaring italaga sa pamamagitan ng isang pahayag ng form

pangalan=[halaga]

If halaga ay hindi ibinigay, ang variable ay itinalaga ang null string. Lahat halaga sumailalim sa tilde
expansion, parameter at variable expansion, command substitution, arithmetic expansion,
at pag-alis ng quote (tingnan EXPANSION sa ibaba). Kung ang variable ay may nito kabuuan set ng katangian,
pagkatapos halaga ay sinusuri bilang isang arithmetic expression kahit na ang $((...)) expansion ay hindi
ginamit (tingnan Pang-aritmetika Paglawak sa ibaba). Hindi ginaganap ang paghahati ng salita, kasama ang
pagbubukod ng "$@" tulad ng ipinaliwanag sa ibaba espesyal parameter. Ang pagpapalawak ng pathname ay hindi
gumanap. Ang mga pahayag ng takdang-aralin ay maaari ding lumitaw bilang mga argumento sa bansag, magpahayag,
typeset, i-export, Basahin lamang, at lokal builtin na mga utos. Kapag nasa posix paraan, ang mga builtin na ito
maaaring lumitaw sa isang utos pagkatapos ng isa o higit pang mga pagkakataon ng utos builtin at panatilihin
ang mga katangian ng pahayag ng pagtatalaga.

Sa konteksto kung saan ang isang pahayag ng pagtatalaga ay nagtatalaga ng isang halaga sa isang variable ng shell o
array index, ang += operator ay maaaring gamitin upang idagdag o idagdag sa nauna ng variable
halaga. Kapag ang += ay inilapat sa isang variable kung saan ang kabuuan naitakda ang katangian,
halaga ay sinusuri bilang isang arithmetic expression at idinagdag sa kasalukuyang halaga ng variable,
na sinusuri din. Kapag ang += ay inilapat sa isang array variable gamit ang compound
takdang-aralin (tingnan Mga Arrays sa ibaba), ang halaga ng variable ay hindi nakatakda (tulad ng kapag gumagamit ng =),
at ang mga bagong halaga ay idinagdag sa array na nagsisimula sa isang mas malaki kaysa sa maximum ng array
index (para sa mga naka-index na array) o idinagdag bilang karagdagang key-value pairs sa isang associative array.
Kapag inilapat sa isang string-valued variable, halaga ay pinalawak at idinagdag sa mga variable
halaga.

Ang isang variable ay maaaring italaga ang nameref katangian gamit ang -n opsyon sa magpahayag or
lokal builtin commands (tingnan ang mga paglalarawan ng magpahayag at lokal sa ibaba) upang lumikha ng a
nameref, o isang sanggunian sa isa pang variable. Ito ay nagpapahintulot sa mga variable na manipulahin
hindi direkta. Sa tuwing ang nameref variable ay isinangguni o itinalaga sa, ang operasyon ay
aktwal na gumanap sa variable na tinukoy ng value ng nameref variable. Isang nameref
ay karaniwang ginagamit sa loob ng mga function ng shell upang sumangguni sa isang variable na ang pangalan ay ipinasa bilang isang
argumento sa function. Halimbawa, kung ang isang variable na pangalan ay ipinasa sa isang function ng shell
bilang unang argumento nito, tumatakbo
ipahayag -n ref=$1
sa loob ng function ay lumilikha ng nameref variable Ref na ang halaga ay ang ipinasa na pangalan ng variable
bilang unang argumento. Mga sanggunian at takdang-aralin sa Ref ay itinuturing bilang mga sanggunian at
mga takdang-aralin sa variable na ang pangalan ay naipasa bilang $1. Kung ang control variable sa a para
loop ay may nameref attribute, ang listahan ng mga salita ay maaaring isang listahan ng mga variable ng shell, at a
itatatag ang reference ng pangalan para sa bawat salita sa listahan, kapag ang loop ay
pinaandar. Ang mga variable ng array ay hindi maibibigay ang -n katangian. Gayunpaman, nameref variable
maaaring sumangguni sa mga variable ng array at naka-subscript na mga variable ng array. Maaaring i-unset ang mga nameref
gamit ang -n opsyon sa i-unset builtin. Kung hindi, kung i-unset ay pinaandar gamit ang pangalan
ng isang nameref variable bilang argumento, ang variable na isinangguni ng nameref variable ay
hindi nakatakda.

Posisyon parameter
A posibilidad parametro ay isang parameter na tinutukoy ng isa o higit pang mga digit, maliban sa isa
digit 0. Ang mga parameter ng posisyon ay itinalaga mula sa mga argumento ng shell kapag ito ay
hinihingi, at maaaring muling italaga gamit ang itakda builtin na utos. Ang mga parameter ng posisyon ay maaaring
hindi italaga sa may mga pahayag ng pagtatalaga. Ang mga positional na parameter ay pansamantala
pinalitan kapag ang isang shell function ay naisakatuparan (tingnan Mga function sa ibaba).

Kapag ang isang positional parameter na binubuo ng higit sa isang digit ay pinalawak, ito ay dapat
nakapaloob sa mga braces (tingnan EXPANSION sa ibaba).

espesyal parameter
Espesyal na tinatrato ng shell ang ilang mga parameter. Ang mga parameter na ito ay maaari lamang i-reference;
bawal ang assignment sa kanila.
* Lumalawak sa mga positional na parameter, simula sa isa. Kapag ang pagpapalawak ay hindi
sa loob ng double quotes, ang bawat positional na parameter ay lumalawak sa isang hiwalay na salita. Sa
konteksto kung saan ito ginaganap, ang mga salitang iyon ay napapailalim sa karagdagang paghahati ng salita
at pagpapalawak ng pathname. Kapag naganap ang pagpapalawak sa loob ng dobleng panipi, lumalawak ito
sa isang salita na may halaga ng bawat parameter na pinaghihiwalay ng unang character
ng IFS espesyal na variable. Yan ay, "$*" ay katumbas ng "$1c$2c...", saan c
ay ang unang karakter ng halaga ng IFS variable. Kung IFS ay hindi nakatakda, ang
ang mga parameter ay pinaghihiwalay ng mga puwang. Kung IFS ay null, ang mga parameter ay pinagsama
nang walang intervening separator.
@ Lumalawak sa mga positional na parameter, simula sa isa. Kapag nangyari ang pagpapalawak
sa loob ng dobleng panipi, lumalawak ang bawat parameter sa isang hiwalay na salita. Yan ay, "$@"ay
katumbas ng "$1""$2" ... Kung ang dobleng panipi na pagpapalawak ay nangyayari sa loob ng isang salita,
ang pagpapalawak ng unang parameter ay pinagsama sa simulang bahagi ng
orihinal na salita, at ang pagpapalawak ng huling parameter ay pinagsama sa huling bahagi
ng orihinal na salita. Kapag walang mga positional na parameter, "$@"at $@ lumawak
sa wala (ibig sabihin, sila ay inalis).
# Lumalawak sa bilang ng mga positional na parameter sa decimal.
? Lumalawak sa exit status ng pinakakamakailang naisagawang foreground pipeline.
- Lumalawak sa kasalukuyang mga flag ng opsyon gaya ng tinukoy sa invocation, ng itakda
builtin command, o ang mga itinakda ng shell mismo (tulad ng -i pagpipilian).
$ Lumalawak sa process ID ng shell. Sa isang () subshell, lumalawak ito sa
process ID ng kasalukuyang shell, hindi ang subshell.
! Lumalawak sa process ID ng trabahong pinakakamakailang inilagay sa background,
kung naisakatuparan bilang isang asynchronous na utos o gamit ang bg builtin (tingnan Trabaho
Kontrol sa ibaba).
0 Lumalawak sa pangalan ng shell o shell script. Nakatakda ito sa shell
pagpapasimula. Kung malakas na palo ay hinihingi ng isang file ng mga utos, $0 ay nakatakda sa pangalan
ng file na iyon. Kung malakas na palo ay nagsimula sa -c pagpipilian, pagkatapos $0 ay nakatakda sa una
argumento pagkatapos ng string na isasagawa, kung ang isa ay naroroon. Kung hindi, ito ay nakatakda
sa filename na ginamit para i-invoke malakas na palo, gaya ng ibinigay ng argument zero.
_ Sa shell startup, itakda sa absolute pathname na ginamit para i-invoke ang shell o shell
script na ini-execute bilang naipasa sa environment o listahan ng argumento. Kasunod nito,
lumalawak hanggang sa huling argumento sa nakaraang utos, pagkatapos ng pagpapalawak. Nakatakda din sa
ang buong pathname na ginamit upang i-invoke ang bawat command na naisakatuparan at inilagay sa
kapaligiran na na-export sa utos na iyon. Kapag sinusuri ang mail, hawak ng parameter na ito ang
pangalan ng mail file na kasalukuyang sinusuri.

Talukap ng alimango Variable
Ang mga sumusunod na variable ay itinakda ng shell:

Malakas na palo Lumalawak hanggang sa buong filename na ginamit para gamitin ang instance na ito ng malakas na palo.
MGA BASHOP
Isang listahan na pinaghihiwalay ng colon ng mga pinaganang opsyon sa shell. Ang bawat salita sa listahan ay may bisa
argumento para sa -s opsyon sa tindahan builtin command (tingnan KABIBI BUILTIN UTOS
sa ibaba). Ang mga opsyon na lumalabas sa MGA BASHOP ay ang mga iniulat bilang on by tindahan. Kung
ang variable na ito ay nasa kapaligiran kapag malakas na palo magsisimula, ang bawat opsyon sa shell sa
list ay paganahin bago basahin ang anumang mga startup file. Ang variable na ito ay read-only.
BASHPID
Lumalawak sa process ID ng kasalukuyang malakas na palo proseso. Ito ay naiiba sa $$ sa ilalim
ilang mga pangyayari, tulad ng mga subshell na hindi nangangailangan malakas na palo na muling
pinasimulan.
BASH_ALIASES
Isang nauugnay na variable ng array na ang mga miyembro ay tumutugma sa panloob na listahan ng
mga alyas na pinananatili ng bansag builtin. Lumilitaw ang mga elementong idinagdag sa array na ito
ang listahan ng alias; Ang pag-unset ng mga elemento ng array ay nagiging sanhi ng pag-alis ng mga alias sa alias
listahan.
BASH_ARGC
Isang array variable na ang mga value ay ang bilang ng mga parameter sa bawat frame ng
kasalukuyan malakas na palo execution call stack. Ang bilang ng mga parameter sa kasalukuyang
subroutine (shell function o script na isinagawa gamit ang . or pinagmulan) ay nasa tuktok ng
ang salansan. Kapag ang isang subroutine ay naisakatuparan, ang bilang ng mga parameter na naipasa ay
tinulak papunta BASH_ARGC. Nagtatakda ang shell BASH_ARGC kapag nasa extended debugging lang
mode (tingnan ang paglalarawan ng extdebug opsyon sa tindahan builtin sa ibaba)
BASH_ARGV
Isang array variable na naglalaman ng lahat ng mga parameter sa kasalukuyang malakas na palo pagpapatupad
tawag stack. Ang huling parameter ng huling subroutine na tawag ay nasa itaas ng
salansan; ang unang parameter ng paunang tawag ay nasa ibaba. Kapag subroutine
ay naisakatuparan, ang mga parameter na ibinigay ay itinulak sa BASH_ARGV. Nagtatakda ang shell
BASH_ARGV kapag nasa extended debugging mode lamang (tingnan ang paglalarawan ng extdebug
opsyon sa tindahan builtin sa ibaba)
BASH_CMDS
Isang nauugnay na variable ng array na ang mga miyembro ay tumutugma sa panloob na talahanayan ng hash
ng mga utos na pinananatili ng sumira builtin. Lumilitaw ang mga elementong idinagdag sa array na ito
sa hash table; Ang pag-unset ng mga elemento ng array ay nagiging sanhi ng pag-alis ng mga command mula sa
hash table.
BASH_COMMAND
Ang command na kasalukuyang isinasagawa o malapit nang isakatuparan, maliban kung ang shell ay
pagpapatupad ng isang utos bilang resulta ng isang bitag, kung saan ito ay ang utos
pagsasagawa sa oras ng bitag.
BASH_EXECUTION_STRING
Ang command argument sa -c opsyon sa invocation.
BASH_LINENO
Isang array variable na ang mga miyembro ay ang mga line number sa source file kung saan ang bawat isa
kaukulang miyembro ng FUNCNAME ay tinawag. ${BASH_LINENO[$i]} ang linya
numero sa source file (${BASH_SOURCE[$i+1]}) saan ${FUNCNAME[$i]} ay tinawag
(O ${BASH_LINENO[$i-1]} kung isinangguni sa loob ng isa pang function ng shell). Gamitin LINENO
upang makuha ang kasalukuyang numero ng linya.
BASH_REMATCH
Isang array variable na ang mga miyembro ay itinalaga ng =~ binary operator sa [[
may kondisyong utos. Ang elementong may index 0 ay ang bahagi ng string
tumutugma sa buong regular na expression. Ang elementong may index n ay ang bahagi ng
ang string na tumutugma sa nika panaklong subexpression. Ang variable na ito ay nabasa-
lamang.
BASH_SOURCE
Isang array variable na ang mga miyembro ay ang source filename kung saan ang katumbas
mga pangalan ng function ng shell sa FUNCNAME ang array variable ay tinukoy. Ang shell
tungkulin ${FUNCNAME[$i]} ay tinukoy sa file ${BASH_SOURCE[$i]} at tinawag mula sa
${BASH_SOURCE[$i+1]}.
BASH_SUBSHELL
Nadagdagan ng isa sa loob ng bawat subshell o subshell na kapaligiran kapag ang shell
nagsisimula sa pagpapatupad sa kapaligiran na iyon. Ang paunang halaga ay 0.
BASH_VERSINFO
Isang readonly array variable na ang mga miyembro ay may hawak na impormasyon ng bersyon para sa pagkakataong ito
of malakas na palo. Ang mga halagang itinalaga sa mga miyembro ng array ay ang mga sumusunod:
BASH_VERSINFO[0] Ang pangunahing numero ng bersyon (ang pakawalan).
BASH_VERSINFO[1] Ang minor na numero ng bersyon (ang bersyon).
BASH_VERSINFO[2] Ang antas ng patch.
BASH_VERSINFO[3] Ang bersyon ng build.
BASH_VERSINFO[4] Ang katayuan ng paglabas (hal., beta1).
BASH_VERSINFO[5] Ang halaga ng mga MACHTYPE.
BASH_VERSION
Lumalawak sa isang string na naglalarawan sa bersyon ng instance na ito ng malakas na palo.
COMP_CWORD
Isang index sa ${COMP_WORDS} ng salitang naglalaman ng kasalukuyang posisyon ng cursor.
Ang variable na ito ay magagamit lamang sa mga function ng shell na ginagamit ng programmable
mga pasilidad sa pagkumpleto (tingnan Programmable pagtatapos sa ibaba).
COMP_KEY
Ang susi (o panghuling key ng isang key sequence) na ginamit upang i-invoke ang kasalukuyang pagkumpleto
function.
COMP_LINE
Ang kasalukuyang command line. Ang variable na ito ay magagamit lamang sa mga function ng shell at
mga panlabas na utos na hinihimok ng mga pasilidad sa pagkumpleto ng programmable (tingnan
Programmable pagtatapos sa ibaba).
COMP_POINT
Ang index ng kasalukuyang posisyon ng cursor na nauugnay sa simula ng kasalukuyang
utos. Kung ang kasalukuyang posisyon ng cursor ay nasa dulo ng kasalukuyang command, ang
ang halaga ng variable na ito ay katumbas ng ${#COMP_LINE}. Available lang ang variable na ito
sa mga function ng shell at mga panlabas na utos na hinihimok ng programmable na pagkumpleto
pasilidad (tingnan Programmable pagtatapos sa ibaba).
COMP_TYPE
Itakda sa isang integer na halaga na tumutugma sa uri ng pagkumpleto na sinubukan iyon
naging dahilan upang tawagin ang isang function ng pagkumpleto: TAB, para sa normal na pagkumpleto, ?, Para sa
mga pagkumpleto ng listahan pagkatapos ng magkakasunod na tab, !, para sa paglilista ng mga alternatibo sa bahagyang
pagkumpleto ng salita, @, upang ilista ang mga pagkumpleto kung ang salita ay hindi nabago, o %, Para sa
pagkumpleto ng menu. Ang variable na ito ay magagamit lamang sa mga function ng shell at panlabas
mga utos na hinihingi ng mga pasilidad sa pagkumpleto ng programmable (tingnan Programmable
pagtatapos sa ibaba).
COMP_WORDBREAKS
Ang set ng mga character na ang Basahin ang linya tinatrato ng library bilang mga word separator kapag
pagsasagawa ng pagkumpleto ng salita. Kung COMP_WORDBREAKS ay hindi nakatakda, nawawala ang espesyal nito
mga katangian, kahit na ito ay kasunod na i-reset.
COMP_WORDS
Isang array variable (tingnan Mga Arrays sa ibaba) na binubuo ng mga indibidwal na salita sa
kasalukuyang command line. Ang linya ay nahahati sa mga salita bilang Basahin ang linya hatiin ito,
paggamit COMP_WORDBREAKS tulad ng inilarawan sa itaas. Ang variable na ito ay magagamit lamang sa shell
function na hinihingi ng programmable completion facility (tingnan Programmable
pagtatapos sa ibaba).
COPROC Isang array variable (tingnan Mga Arrays sa ibaba) na nilikha upang hawakan ang mga deskriptor ng file para sa
output mula at input sa isang hindi pinangalanang coprocess (tingnan Mga coprocess sa itaas).
DIRSTACK
Isang array variable (tingnan Mga Arrays sa ibaba) na naglalaman ng kasalukuyang nilalaman ng
salansan ng direktoryo. Lumilitaw ang mga direktoryo sa stack sa pagkakasunud-sunod na ipinapakita ang mga ito
sa pamamagitan ng dirs builtin. Maaaring gamitin ang pagtatalaga sa mga miyembro ng array variable na ito
baguhin ang mga direktoryo na nasa stack, ngunit ang pushd at popd builtins ay dapat na
ginagamit upang magdagdag at mag-alis ng mga direktoryo. Ang pagtatalaga sa variable na ito ay hindi magbabago
ang kasalukuyang direktoryo. Kung DIRSTACK ay hindi nakatakda, nawawala ang mga espesyal na katangian nito, kahit na
kung ito ay kasunod na i-reset.
EUID Lumalawak sa epektibong user ID ng kasalukuyang user, na sinimulan sa shell startup.
Readonly ang variable na ito.
FUNCNAME
Isang array variable na naglalaman ng mga pangalan ng lahat ng mga function ng shell na kasalukuyang nasa
execution call stack. Ang elementong may index 0 ay ang pangalan ng alinmang kasalukuyang-
pagsasagawa ng shell function. Ang pinakamababang elemento (ang may pinakamataas na index)
ay "pangunahing". Ang variable na ito ay umiiral lamang kapag ang isang shell function ay gumagana.
Mga takdang-aralin sa FUNCNAME walang epekto at nagbabalik ng katayuan ng error. Kung FUNCNAME is
hindi nakatakda, nawawala ang mga espesyal na katangian nito, kahit na ito ay kasunod na i-reset.

Maaaring gamitin ang variable na ito sa BASH_LINENO at BASH_SOURCE. Ang bawat elemento ng
FUNCNAME ay may kaukulang elemento sa BASH_LINENO at BASH_SOURCE upang ilarawan ang
tawag stack. Halimbawa, ${FUNCNAME[$i]} ay tinawag mula sa file
${BASH_SOURCE[$i+1]} sa numero ng linya ${BASH_LINENO[$i]}. ang tumatawag builtin
ipinapakita ang kasalukuyang stack ng tawag gamit ang impormasyong ito.
GROUPS Isang array variable na naglalaman ng listahan ng mga grupo kung saan ang kasalukuyang user ay a
miyembro. Mga takdang-aralin sa GROUPS walang epekto at nagbabalik ng katayuan ng error. Kung
GROUPS ay hindi nakatakda, nawawala ang mga espesyal na katangian nito, kahit na ito ay kasunod na i-reset.
HISTCMD
Ang numero ng kasaysayan, o index sa listahan ng kasaysayan, ng kasalukuyang command. Kung
HISTCMD ay hindi nakatakda, nawawala ang mga espesyal na katangian nito, kahit na ito ay kasunod
i-reset
PANGALAN NG HOST
Awtomatikong itinakda sa pangalan ng kasalukuyang host.
HOSTTYPE
Awtomatikong itinakda sa isang string na natatanging naglalarawan sa uri ng makina kung saan
malakas na palo ay nagpapatupad. Ang default ay nakadepende sa system.
LINENO Sa tuwing sasangguni ang parameter na ito, pinapalitan ng shell ang isang decimal na numero
kumakatawan sa kasalukuyang sequential line number (nagsisimula sa 1) sa loob ng isang script
o function. Kapag wala sa isang script o function, ang halagang pinapalitan ay hindi
garantisadong makabuluhan. Kung LINENO ay hindi nakatakda, nawawala ang mga espesyal na katangian nito,
kahit na ito ay kasunod na i-reset.
MACHTYPE
Awtomatikong itinakda sa isang string na ganap na naglalarawan sa uri ng system kung saan malakas na palo is
executing, sa karaniwang GNU cpu-company-system pormat. Ang default ay system-
umaasa
MAPFILE
Isang array variable (tingnan Mga Arrays sa ibaba) na nilikha upang hawakan ang tekstong binasa ng mapfile
builtin kapag walang ibinigay na variable na pangalan.
OLDPWD Ang nakaraang working directory na itinakda ng cd utos.
OPTARG Ang halaga ng argumento ng huling opsyon na naproseso ng mga getopts builtin command (tingnan
KABIBI BUILTIN UTOS sa ibaba).
OPTIND Ang index ng susunod na argumento na ipoproseso ng mga getopts builtin command (tingnan
KABIBI BUILTIN UTOS sa ibaba).
OSTYPE Awtomatikong itinakda sa isang string na naglalarawan sa operating system kung saan malakas na palo is
nagsasagawa. Ang default ay nakadepende sa system.
PIPESTATUS
Isang array variable (tingnan Mga Arrays sa ibaba) na naglalaman ng listahan ng mga exit status value mula sa
ang mga proseso sa pinakakamakailang naisagawang foreground pipeline (na maaaring naglalaman ng
iisang utos lamang).
PPID Ang process ID ng parent ng shell. Readonly ang variable na ito.
PWD Ang kasalukuyang gumaganang direktoryo na itinakda ng cd utos.
RANDOM Sa tuwing sasangguni ang parameter na ito, ang isang random na integer sa pagitan ng 0 at 32767 ay
nabuo. Ang pagkakasunud-sunod ng mga random na numero ay maaaring masimulan sa pamamagitan ng pagtatalaga ng isang halaga
sa RANDOM. Kung RANDOM ay hindi nakatakda, nawawala ang mga espesyal na katangian nito, kahit na ito ay
pagkatapos ay i-reset.
READLINE_LINE
Ang nilalaman ng Basahin ang linya line buffer, para gamitin sa "bind -x" (tingnan KABIBI BUILTIN
UTOS sa ibaba).
READLINE_POINT
Ang posisyon ng insertion point sa Basahin ang linya line buffer, para gamitin sa "bind
-x" (tingnan KABIBI BUILTIN UTOS sa ibaba).
REPLY Itakda sa linya ng input na binasa ng basahin builtin command kapag walang argumento
ibinibigay.
SECONDS
Sa bawat oras na tinutukoy ang parameter na ito, ang bilang ng mga segundo mula noong shell
ibinalik ang panawagan. Kung ang isang halaga ay itinalaga sa SECONDS, ibinalik ang halaga
ang mga kasunod na sanggunian ay ang bilang ng mga segundo mula noong takdang-aralin kasama ang halaga
itinalaga. Kung SECONDS ay hindi nakatakda, nawawala ang mga espesyal na katangian nito, kahit na ito ay
pagkatapos ay i-reset.
SHELLOPTS
Isang listahan na pinaghihiwalay ng colon ng mga pinaganang opsyon sa shell. Ang bawat salita sa listahan ay may bisa
argumento para sa -o opsyon sa itakda builtin command (tingnan KABIBI BUILTIN UTOS
sa ibaba). Ang mga opsyon na lumalabas sa SHELLOPTS ay ang mga iniulat bilang on by itakda -o. Kung
ang variable na ito ay nasa kapaligiran kapag malakas na palo magsisimula, ang bawat opsyon sa shell sa
list ay paganahin bago basahin ang anumang mga startup file. Ang variable na ito ay read-only.
SHLVL Nadaragdagan ng isa sa bawat pagkakataon ng isang instance ng malakas na palo ay nagsimula na
UID Lumalawak sa user ID ng kasalukuyang user, na sinimulan sa shell startup. Ito
Ang variable ay readonly.

Ang mga sumusunod na variable ay ginagamit ng shell. Sa ibang Pagkakataon, malakas na palo nagtatalaga ng default
halaga sa isang variable; ang mga kasong ito ay nakasaad sa ibaba.

BASH_COMPAT
Ginagamit ang value para itakda ang antas ng compatibility ng shell. Tingnan ang paglalarawan ng
ang tindahan builtin sa ibaba sa ilalim KABIBI BUILTIN UTOS para sa paglalarawan ng
iba't ibang antas ng compatibility at ang mga epekto nito. Ang halaga ay maaaring isang decimal na numero
(hal., 4.2) o isang integer (hal. 42) na tumutugma sa nais na compatibility
antas Kung BASH_COMPAT ay hindi nakatakda o nakatakda sa walang laman na string, ang antas ng pagiging tugma
ay nakatakda sa default para sa kasalukuyang bersyon. Kung BASH_COMPAT ay nakatakda sa isang halaga
hindi iyon isa sa mga wastong antas ng compatibility, nagpi-print ng error ang shell
mensahe at itinatakda ang antas ng pagiging tugma sa default para sa kasalukuyang bersyon.
Ang mga wastong antas ng compatibility ay tumutugma sa mga opsyon sa compatibility na tinanggap ng
ang tindahan builtin na inilarawan sa ibaba (halimbawa, compat42 nangangahulugan na ang 4.2 at 42 ay
wastong halaga). Ang kasalukuyang bersyon ay isa ring wastong halaga.
BASH_ENV
Kung nakatakda ang parameter na ito kung kailan malakas na palo ay nagpapatupad ng shell script, ang halaga nito ay
binibigyang kahulugan bilang isang filename na naglalaman ng mga utos upang simulan ang shell, tulad ng sa
~ / .bashrc. Ang halaga ng BASH_ENV ay napapailalim sa pagpapalawak ng parameter, utos
pagpapalit, at pagpapalawak ng aritmetika bago bigyang-kahulugan bilang filename.
PATH ay hindi ginagamit upang hanapin ang resultang filename.
BASH_XTRACEFD
Kung nakatakda sa isang integer na tumutugma sa isang wastong file descriptor, malakas na palo isusulat ang
trace output na nabuo kapag itakda -x ay pinagana sa file descriptor na iyon. Ang file
ang deskriptor ay sarado kapag BASH_XTRACEFD ay hindi nakatakda o nagtalaga ng bagong halaga.
Tinatanggal ang pagkakatakda BASH_XTRACEFD o ang pagtatalaga dito ng walang laman na string ay nagiging sanhi ng trace output sa
maipadala sa karaniwang error. Tandaan ang setting na iyon BASH_XTRACEFD hanggang 2 (ang pamantayan
error file descriptor) at pagkatapos ay i-unset ito ay magreresulta sa karaniwang error
pagiging sarado.
CDPATH Ang landas sa paghahanap para sa cd utos. Ito ay isang listahan ng mga direktoryo na pinaghihiwalay ng tutuldok
kung saan hinahanap ng shell ang mga patutunguhang direktoryo na tinukoy ng cd utos.
Ang isang sample na halaga ay ".:~:/ usr".
CHILD_MAX
Itakda ang bilang ng mga lumabas na value ng status ng bata para matandaan ng shell. Gusto ni Bash
hindi pinapayagan ang halagang ito na bawasan sa ibaba ng minimum na ipinag-uutos ng POSIX, at mayroong a
maximum na halaga (kasalukuyang 8192) na hindi ito maaaring lumampas. Ang pinakamababang halaga ay
nakadepende sa sistema.
COLUMNS
Ginamit ng piliin compound command upang matukoy ang lapad ng terminal kapag nagpi-print
mga listahan ng pagpili. Awtomatikong itakda kung ang checkwinsize ang opsyon ay pinagana o sa isang
interactive shell sa pagtanggap ng a SIGWINCH.
SUMUNOD
Isang array variable kung saan malakas na palo binabasa ang mga posibleng pagkumpleto na nabuo ng a
shell function na hinihimok ng programmable completion facility (tingnan ang Programmable
pagtatapos sa ibaba). Ang bawat elemento ng array ay naglalaman ng isang posibleng pagkumpleto.
EMACS If malakas na palo hinahanap ang variable na ito sa kapaligiran kapag nagsimula ang shell sa halaga
"t", ipinapalagay nito na ang shell ay tumatakbo sa isang Emacs shell buffer at hindi pinapagana
pag-edit ng linya.
ENV Kapareho ng BASH_ENV; ginagamit kapag ang shell ay na-invoke sa POSIX mode.
FCEDIT Ang default na editor para sa fc builtin na utos.
FIGNORE
Isang listahan ng mga suffix na pinaghihiwalay ng tutuldok na babalewalain kapag nagsasagawa ng pagkumpleto ng filename
(Tingnan ang BASAHIN ANG LINYA sa ibaba). Isang filename na ang suffix ay tumutugma sa isa sa mga entry sa
FIGNORE ay hindi kasama sa listahan ng mga katugmang filename. Ang sample na value ay ".o:~"
(Kailangan ang pagsipi kapag nagtatalaga ng halaga sa variable na ito, na naglalaman ng mga tilde).
PINAKA-FUNCNEST
Kung nakatakda sa isang numeric na halaga na higit sa 0, tutukuyin ang isang maximum na antas ng nesting ng function.
Ang mga function na invocation na lumampas sa nesting level na ito ay magiging sanhi ng kasalukuyang command
magpalaglag.
GLOBIGNORE
Isang listahan ng mga pattern na pinaghihiwalay ng colon na tumutukoy sa hanay ng mga filename na hindi papansinin
pagpapalawak ng pathname. Kung ang isang filename ay tumugma sa isang pattern ng pagpapalawak ng pathname din
tumutugma sa isa sa mga pattern sa GLOBIGNORE, inalis ito sa listahan ng mga tugma.
HISTCONTROL
Isang listahan ng mga value na pinaghihiwalay ng colon na kumokontrol kung paano sine-save ang mga command sa history
listahan. Kung kasama sa listahan ng mga halaga huwag pansinin ang espasyo, mga linyang nagsisimula sa a puwang
ang character ay hindi nai-save sa listahan ng kasaysayan. Isang halaga ng hindi pinapansin nagiging sanhi ng mga linya
tumutugma sa nakaraang entry sa kasaysayan upang hindi mai-save. Isang halaga ng huwag pansinin pareho is
shorthand para sa huwag pansinin ang espasyo at hindi pinapansin. Isang halaga ng mga nabubura nagiging sanhi ng lahat ng nakaraan
mga linyang tumutugma sa kasalukuyang linya na aalisin sa listahan ng kasaysayan bago iyon
na-save ang linya. Ang anumang halaga na wala sa listahan sa itaas ay binabalewala. Kung HISTCONTROL is
hindi nakatakda, o hindi kasama ang isang wastong halaga, ang lahat ng mga linyang binabasa ng shell parser ay
naka-save sa listahan ng kasaysayan, napapailalim sa halaga ng HISTIGNORE. Ang pangalawa at
ang mga kasunod na linya ng isang multi-line compound command ay hindi sinusubok, at idinaragdag sa
ang kasaysayan anuman ang halaga ng HISTCONTROL.
HISTFILE
Ang pangalan ng file kung saan naka-save ang kasaysayan ng command (tingnan ang KASAYSAYAN sa ibaba). Ang
ang default na halaga ay ~ / .bash_history. Kung hindi nakatakda, hindi mase-save ang history ng command kapag
may lumabas na shell.
HISTFILESIZE
Ang maximum na bilang ng mga linyang nasa history file. Kapag ang variable na ito ay
itinalaga ang isang halaga, ang history file ay pinutol, kung kinakailangan, upang hindi na maglaman pa
kaysa sa bilang ng mga linya sa pamamagitan ng pag-alis ng mga pinakalumang entry. Ang history file ay din
pinutol sa ganitong laki pagkatapos isulat ito kapag lumabas ang isang shell. Kung ang halaga ay 0, ang
ang history file ay pinutol sa zero size. Mas kaunti ang mga hindi numeric na value at numeric na value
kaysa sa zero inhibit truncation. Itinatakda ng shell ang default na halaga sa halaga ng
HISTSIZE pagkatapos basahin ang anumang mga startup file.
HISTIGNORE
Isang listahan ng mga pattern na pinaghihiwalay ng colon na ginamit upang magpasya kung aling mga command line ang dapat
naka-save sa listahan ng kasaysayan. Ang bawat pattern ay naka-angkla sa simula ng linya
at dapat tumugma sa kumpletong linya (walang implicit `*' ay idinagdag). Ang bawat pattern ay
nasubok laban sa linya pagkatapos ng mga tseke na tinukoy ni HISTCONTROL ay inilapat. Sa
karagdagan sa normal na pattern ng shell na tumutugma sa mga character, `&' tumutugma sa nauna
linya ng kasaysayan. `&' ay maaaring makatakas gamit ang backslash; ang backslash ay tinanggal
bago subukan ang isang laban. Ang pangalawa at kasunod na mga linya ng isang multi-line
ang compound command ay hindi nasubok, at idinaragdag sa kasaysayan anuman ang
halaga ng HISTIGNORE.
HISTSIZE
Ang bilang ng mga utos na dapat tandaan sa kasaysayan ng utos (tingnan KASAYSAYAN sa ibaba). Kung
ang halaga ay 0, ang mga utos ay hindi nai-save sa listahan ng kasaysayan. Mas kaunti ang mga numerong halaga
kaysa sa zero ang resulta sa bawat utos na nai-save sa listahan ng kasaysayan (walang
limitasyon). Itinatakda ng shell ang default na halaga sa 500 pagkatapos basahin ang anumang mga startup na file.
HIST TIME FORMAT
Kung nakatakda ang variable na ito at hindi null, ginagamit ang value nito bilang string ng format para sa
strftime(3) upang i-print ang time stamp na nauugnay sa bawat entry sa kasaysayan na ipinapakita ni
ang kasaysayan builtin. Kung nakatakda ang variable na ito, isusulat ang mga time stamp sa
history file upang mapanatili ang mga ito sa mga sesyon ng shell. Ito ay gumagamit ng kasaysayan
magkomento ng character upang makilala ang mga timestamp mula sa iba pang mga linya ng kasaysayan.
HOME Ang home directory ng kasalukuyang user; ang default na argumento para sa cd builtin
utos. Ginagamit din ang halaga ng variable na ito kapag nagsasagawa ng pagpapalawak ng tilde.
HOSTFILE
Naglalaman ng pangalan ng isang file sa parehong format bilang / Etc / host dapat basahin yan
kapag kailangang kumpletuhin ng shell ang isang hostname. Ang listahan ng posibleng hostname
maaaring baguhin ang mga pagkumpleto habang tumatakbo ang shell; sa susunod na hostname
ang pagkumpleto ay tinangka pagkatapos mabago ang halaga, malakas na palo idinaragdag ang mga nilalaman ng
bagong file sa kasalukuyang listahan. Kung HOSTFILE ay nakatakda, ngunit walang halaga, o wala
pangalanan ang isang nababasang file, malakas na palo pagtatangka na basahin / Etc / host upang makuha ang listahan ng
posibleng mga pagkumpleto ng hostname. Kailan HOSTFILE ay hindi nakatakda, ang listahan ng hostname ay
nalinis
IFS Ang Panloob Patlang panghiwalay na ginagamit para sa paghahati ng salita pagkatapos ng pagpapalawak at sa
hatiin ang mga linya sa mga salita na may basahin builtin na utos. Ang default na halaga ay
`` ''.
IGNOREEOF
Kinokontrol ang pagkilos ng isang interactive na shell sa pagtanggap ng isang EOF karakter bilang ang
tanging input. Kung itinakda, ang halaga ay ang bilang ng magkakasunod EOF mga karakter na
dapat na nai-type bilang unang mga character sa isang input line bago malakas na palo labasan. Kung ang
umiiral ang variable ngunit walang numeric na halaga, o walang halaga, ang default
ang halaga ay 10. Kung wala ito, EOF nangangahulugan ng pagtatapos ng input sa shell.
INPUTRC
Ang filename para sa Basahin ang linya startup file, na override ang default ng ~ / .inputrc
(Tingnan ang BASAHIN ANG LINYA sa ibaba).
WIKA Ginagamit upang matukoy ang kategorya ng lokal para sa anumang kategoryang hindi partikular na napili
na may variable na nagsisimula sa LC_.
LC_ALL Ino-override ng variable na ito ang halaga ng WIKA at anumang iba pa LC_ variable na tumutukoy sa a
kategorya ng lokal.
LC_COLLATE
Tinutukoy ng variable na ito ang pagkakasunud-sunod ng collation na ginamit sa pag-uuri ng mga resulta ng
pagpapalawak ng pathname, at tinutukoy ang gawi ng mga expression ng range, equivalence
mga klase, at pagsasama-sama ng mga pagkakasunud-sunod sa loob ng pagpapalawak ng pathname at pagtutugma ng pattern.
LC_CTYPE
Tinutukoy ng variable na ito ang interpretasyon ng mga character at ang pag-uugali ng
mga klase ng character sa loob ng pagpapalawak ng pathname at pagtutugma ng pattern.
LC_MESSAGES
Tinutukoy ng variable na ito ang lokal na ginamit upang isalin ang mga double-quoted na string
naunahan ng a $.
LC_NUMERIC
Tinutukoy ng variable na ito ang kategorya ng lokal na ginagamit para sa pag-format ng numero.
MGA LINYA Ginamit ng piliin compound command upang matukoy ang haba ng column para sa pag-print
mga listahan ng pagpili. Awtomatikong itakda kung ang checkwinsize ang opsyon ay pinagana o sa isang
interactive shell sa pagtanggap ng a SIGWINCH.
MAIL Kung ang parameter na ito ay nakatakda sa isang file o pangalan ng direktoryo at ang MAILPATH variable ay
hindi nakatakda, malakas na palo nagpapaalam sa gumagamit ng pagdating ng mail sa tinukoy na file o
Maildir-format na direktoryo.
MAILCHECK
Tinutukoy kung gaano kadalas (sa mga segundo) malakas na palo mga pagsusuri para sa mail. Ang default ay 60 segundo.
Kapag oras na upang suriin para sa mail, ginagawa ito ng shell bago ipakita ang pangunahin
prompt. Kung ang variable na ito ay hindi nakatakda, o nakatakda sa isang halaga na hindi isang numerong mas malaki
kaysa sa o katumbas ng zero, hindi pinapagana ng shell ang pagsuri ng mail.
MAILPATH
Isang listahan ng mga filename na pinaghihiwalay ng colon na susuriin para sa mail. Ang mensahe na dapat
na naka-print kapag dumating ang mail sa isang partikular na file ay maaaring tukuyin sa pamamagitan ng paghihiwalay sa
filename mula sa mensaheng may `?'. Kapag ginamit sa teksto ng mensahe, $_
lumalawak sa pangalan ng kasalukuyang mailfile. Halimbawa:
MAILPATH='/var/mail/bfox?"Mayroon kang mail":~/shell-mail?"Si $_ ay may mail!"'
Malakas na palo nagbibigay ng default na halaga para sa variable na ito, ngunit ang lokasyon ng user mail
ang mga file na ginagamit nito ay nakadepende sa system (hal., /var/mail/$ USER).
OPTERR Kung itinakda sa halaga 1, malakas na palo nagpapakita ng mga mensahe ng error na nabuo ng mga getopts
builtin command (tingnan KABIBI BUILTIN UTOS sa ibaba). OPTERR ay pinasimulan sa 1
sa bawat oras na ang shell ay tinatawag o isang shell script ay pinaandar.
PATH Ang landas ng paghahanap para sa mga utos. Ito ay isang colon-separated na listahan ng mga direktoryo kung saan
ang shell ay naghahanap ng mga utos (tingnan COMMAND Pagpapatupad sa ibaba). Isang zero-length (null)
pangalan ng direktoryo sa halaga ng PATH ay nagpapahiwatig ng kasalukuyang direktoryo. Isang null
pangalan ng direktoryo ay maaaring lumitaw bilang dalawang magkatabing colon, o bilang isang inisyal o trailing
colon. Ang default na landas ay nakasalalay sa system, at itinakda ng administrator na
install malakas na palo. Ang isang karaniwang halaga ay ``/ usr / local / bin:/ usr / local / sbin:/ usr / bin:
/ usr / sbin:/ bin:/ sbin"
POSIXLY_CORRECT
Kung ang variable na ito ay nasa kapaligiran kung kailan malakas na palo nagsisimula, pumapasok ang shell posix
paraan bago basahin ang mga startup file, na parang ang --posix ang opsyon sa invocation ay
binigay. Kung nakatakda ito habang tumatakbo ang shell, malakas na palo Binibigyang-daan posix paraan, parang
ang utos itakda -o posix ay pinatay.
PROMPT_COMMAND
Kung nakatakda, ang value ay isasagawa bilang isang command bago ibigay ang bawat pangunahing prompt.
PROMPT_DIRTRIM
Kung itatakda sa isang numerong mas mataas sa zero, ang value ay gagamitin bilang bilang ng trailing
mga bahagi ng direktoryo upang mapanatili kapag pinalawak ang \w at \W agarang pagtakas ng string
(Tingnan ang PAG-UUSAP sa ibaba). Ang mga character na inalis ay pinapalitan ng isang ellipsis.
PS1 Ang halaga ng parameter na ito ay pinalawak (tingnan PAG-UUSAP sa ibaba) at ginamit bilang ang
pangunahing prompt string. Ang default na halaga ay ``\s-\v\$ "
PS2 Ang halaga ng parameter na ito ay pinalawak tulad ng sa PS1 at ginamit bilang pangalawa
prompt string. Ang default ay ``> "
PS3 Ang halaga ng parameter na ito ay ginagamit bilang prompt para sa piliin utos (tingnan KABIBI
GRAMATIKA sa itaas).
PS4 Ang halaga ng parameter na ito ay pinalawak tulad ng sa PS1 at ang halaga ay naka-print bago
bawat utos malakas na palo ipinapakita habang may execution trace. Ang unang karakter ng PS4
ay ginagaya nang maraming beses, kung kinakailangan, upang ipahiwatig ang maraming antas ng
hindi direksyon. Ang default ay ``+ "
KABIBI Ang buong pathname sa shell ay pinananatili sa environment variable na ito. Kung hindi naman
itakda kapag nagsimula ang shell, malakas na palo itinatalaga dito ang buong pathname ng kasalukuyang
shell sa pag-login ng user.
TIMEFORMAT
Ang halaga ng parameter na ito ay ginagamit bilang isang format na string na tumutukoy kung paano ang timing
impormasyon para sa mga pipeline na may prefix na oras dapat ipakita ang nakalaan na salita.
Ang % ang karakter ay nagpapakilala ng isang escape sequence na pinalawak sa isang time value o
iba pang impormasyon. Ang mga pagkakasunud-sunod ng pagtakas at ang mga kahulugan nito ay ang mga sumusunod; ang
Ang mga braces ay tumutukoy sa mga opsyonal na bahagi.
%% Isang literal %.
%[p][l]R Ang lumipas na oras sa mga segundo.
%[p][l]U Ang bilang ng mga segundo ng CPU na ginugol sa user mode.
%[p][l]S Ang bilang ng mga segundo ng CPU na ginugol sa system mode.
%P Ang porsyento ng CPU, kinalkula bilang (%U + %S) / %R.

Ang opsyonal p ay isang digit na tumutukoy sa katumpakan, ang bilang ng mga fractional digit
pagkatapos ng decimal point. Ang halaga ng 0 ay nagiging sanhi ng walang decimal point o fraction
output. Hindi hihigit sa tatlong lugar pagkatapos ng decimal point ay maaaring tukuyin; mga halaga ng p
higit sa 3 ay gagawing 3. Kung p ay hindi tinukoy, ang halaga 3 ay ginagamit.

Ang opsyonal l tumutukoy ng mas mahabang format, kabilang ang mga minuto, ng form MMmSS.FFs.
Ang halaga ng mga p tinutukoy kung ang fraction ay kasama o hindi.

Kung hindi nakatakda ang variable na ito, malakas na palo kumikilos na parang may halaga ito
$'\nreal\t%3lR\nuser\t%3lU\nsys\t%3lS'. Kung null ang value, walang timing
ipinapakita ang impormasyon. Ang isang sumusunod na bagong linya ay idinagdag kapag ang format na string ay
ipinakita
TMOUT Kung nakatakda sa isang halagang mas mataas sa zero, TMOUT ay itinuturing bilang default na timeout para sa
ang basahin builtin. Ang piliin magtatapos ang utos kung hindi dumating ang input pagkatapos
TMOUT segundo kapag ang input ay nagmumula sa isang terminal. Sa isang interactive na shell, ang
Ang value ay binibigyang-kahulugan bilang bilang ng mga segundo upang maghintay para sa isang linya ng input pagkatapos
pagbibigay ng pangunahing prompt. Malakas na palo magwawakas pagkatapos maghintay para sa bilang ng
segundo kung ang isang kumpletong linya ng input ay hindi dumating.
TMPDIR Kung itinakda, malakas na palo ginagamit ang halaga nito bilang pangalan ng isang direktoryo kung saan malakas na palo lumilikha
pansamantalang mga file para sa paggamit ng shell.
auto_resume
Kinokontrol ng variable na ito kung paano nakikipag-ugnayan ang shell sa user at kontrol sa trabaho. Kung
ang variable na ito ay nakatakda, ang isang salita na simpleng command na walang mga pag-redirect ay ginagamot
bilang mga kandidato para sa pagpapatuloy ng isang kasalukuyang nahintong trabaho. Walang kalabuan
pinapayagan; kung mayroong higit sa isang trabaho na nagsisimula sa string na na-type, ang trabaho
ang pinakahuling na-access ay napili. Ang pangalan ng isang tumigil na trabaho, sa kontekstong ito, ay
ang command line na ginamit upang simulan ito. Kung nakatakda sa halaga eksakto, ang ibinigay na string
dapat eksaktong tumugma sa pangalan ng isang nahintong trabaho; kung nakatakda sa substring, ang tali
ang ibinigay ay kailangang tumugma sa isang substring ng pangalan ng isang nahintong trabaho. Ang substring
ang halaga ay nagbibigay ng functionality na kahalintulad sa %? tagatukoy ng trabaho (tingnan Trabaho Kontrol
sa ibaba). Kung nakatakda sa anumang iba pang value, ang ibinigay na string ay dapat na prefix ng a
pinahinto ang pangalan ng trabaho; nagbibigay ito ng functionality na kahalintulad sa %pisi trabaho
kilalanin.
hischars
Ang dalawa o tatlong karakter na kumokontrol sa pagpapalawak ng kasaysayan at tokenization (tingnan
KASAYSAYAN EXPANSION sa ibaba). Ang unang karakter ay ang kasaysayan paglawak karakter,
ang karakter na nagpapahiwatig ng pagsisimula ng pagpapalawak ng kasaysayan, karaniwan ay `!'. Ang
pangalawang karakter ay ang mabilis paghalili character, na ginagamit bilang shorthand
para sa muling pagpapatakbo ng nakaraang command na ipinasok, pinapalitan ang isang string para sa isa pang in
ang utos. Ang default ay `^'. Ang opsyonal na ikatlong karakter ay ang karakter
na nagpapahiwatig na ang natitira sa linya ay isang komento kapag nahanap bilang ang una
katangian ng isang salita, karaniwan `#'. Ang history comment character ay nagdudulot ng history
pagpapalit na laktawan para sa natitirang mga salita sa linya. Hindi ito
kinakailangang maging sanhi ng shell parser na tratuhin ang natitirang linya bilang isang komento.

Mga Arrays
Malakas na palo nagbibigay ng isang-dimensional na naka-index at nag-uugnay na mga variable ng array. Anumang variable ay maaaring
gamitin bilang isang naka-index na hanay; ang magpahayag Ang builtin ay tahasang magdedeklara ng isang array. doon
ay walang maximum na limitasyon sa laki ng isang array, o anumang pangangailangan na ma-index ang mga miyembro
o nakatalagang magkadikit. Ang mga naka-index na array ay isinangguni gamit ang mga integer (kabilang ang
arithmetic expression) at zero-based; Ang mga associative array ay isinangguni gamit ang
arbitrary na mga string. Maliban kung iba ang nabanggit, ang mga naka-index na indeks ng array ay dapat na hindi negatibo
integers

Awtomatikong nalilikha ang isang naka-index na array kung ang anumang variable ay nakatalaga sa paggamit ng syntax
pangalan[subskrip]=halaga. ang subskrip ay itinuturing bilang isang arithmetic expression na dapat
suriin sa isang numero. Upang tahasang magdeklara ng naka-index na array, gamitin magpahayag -a pangalan (Tingnan ang
KABIBI BUILTIN UTOS sa ibaba). magpahayag -a pangalan[subskrip] tinatanggap din; ang subskrip
ay hindi pinansin.

Ang mga nauugnay na array ay nilikha gamit ang magpahayag -A pangalan.

Maaaring tukuyin ang mga katangian para sa isang array variable gamit ang magpahayag at Basahin lamang builtin.
Nalalapat ang bawat katangian sa lahat ng miyembro ng isang array.

Ang mga array ay itinalaga sa paggamit ng mga compound na pagtatalaga ng form pangalan=(halaga1 ... halagan),
kung saan ang bawat isa halaga ay nasa anyo [subskrip]=pisi. Ang mga naka-index na pagtatalaga ng array ay hindi
nangangailangan ng anuman ngunit pisi. Kapag nagtatalaga sa mga naka-index na array, kung ang mga opsyonal na bracket
at ang subscript ay ibinibigay, ang index na iyon ay itinalaga sa; kung hindi man ang index ng elemento
assigned ay ang huling index na itinalaga ng statement plus one. Nagsisimula ang pag-index sa
zero.

Kapag nagtatalaga sa isang associative array, kinakailangan ang subscript.

Ang syntax na ito ay tinatanggap din ng magpahayag builtin. Ang mga indibidwal na elemento ng array ay maaaring
itinalaga sa paggamit ng pangalan[subskrip]=halaga syntax na ipinakilala sa itaas. Kapag nakatalaga sa isang
naka-index na hanay, kung pangalan ay naka-subscript ng negatibong numero, ang numerong iyon ay binibigyang-kahulugan bilang
may kaugnayan sa isang mas malaki kaysa sa pinakamataas na index ng pangalan, kaya ang mga negatibong indeks ay nagbibilang pabalik
mula sa dulo ng array, at isang index ng -1 ang tumutukoy sa huling elemento.

Anumang elemento ng isang array ay maaaring i-reference gamit ang ${pangalan[subskrip]}. Ang mga braces ay
kinakailangan upang maiwasan ang mga salungatan sa pagpapalawak ng pathname. Kung subskrip is @ or *, ang salita
lumalawak sa lahat ng miyembro ng pangalan. Naiiba lang ang mga subscript na ito kapag lumabas ang salita sa loob
dobleng panipi. Kung ang salita ay dobleng sinipi, ${pangalanLumalawak ang [*]} sa isang salita na may
halaga ng bawat miyembro ng array na pinaghihiwalay ng unang character ng IFS espesyal na variable,
at ${pangalanPinapalawak ng [@]} ang bawat elemento ng pangalan sa isang hiwalay na salita. Kapag walang array
mga miyembro, ${pangalan[@]} lumalawak sa wala. Kung ang double-quoted expansion ay nangyari sa loob ng a
salita, ang pagpapalawak ng unang parameter ay pinagsama sa simulang bahagi ng
orihinal na salita, at ang pagpapalawak ng huling parameter ay pinagsama sa huling bahagi ng
orihinal na salita. Ito ay kahalintulad sa pagpapalawak ng mga espesyal na parameter * at @ (Tingnan ang
espesyal parameter sa itaas). ${#pangalan[subskrip]} lumalawak sa haba ng
${pangalan[subskrip]}. Kung subskrip is * or @, ang pagpapalawak ay ang bilang ng mga elemento sa
ang array. Ang pagre-refer sa isang array variable na walang subscript ay katumbas ng reference
ang array na may subscript na 0. Kung ang subskrip ginagamit sa pagtukoy sa isang elemento ng isang
sinusuri ang naka-index na array sa isang numerong mas mababa sa zero, ito ay binibigyang kahulugan bilang kamag-anak sa isa
mas malaki kaysa sa maximum na index ng array, kaya ang mga negatibong indeks ay nagbibilang pabalik mula sa dulo
ng array, at isang index ng -1 ang tumutukoy sa huling elemento.

Ang isang array variable ay itinuturing na nakatakda kung ang isang subscript ay naitalaga ng isang halaga. Ang null
string ay isang wastong halaga.

Posibleng makuha ang mga susi (mga indeks) ng isang array pati na rin ang mga halaga.
${!pangalan[@]} at ${!pangalan[*]} lumawak sa mga indeks na itinalaga sa array variable pangalan. ang
ang paggamot kapag nasa double quotes ay katulad ng pagpapalawak ng mga espesyal na parameter @
at * sa loob ng dobleng panipi.

Ang i-unset Ang builtin ay ginagamit upang sirain ang mga array. i-unset pangalan[subskrip] sinisira ang array
elemento sa index subskrip. Ang mga negatibong subscript sa mga naka-index na array ay binibigyang kahulugan bilang
inilarawan sa itaas. Dapat mag-ingat upang maiwasan ang mga hindi gustong epekto na dulot ng pangalan ng path
expansion. i-unset pangalan, Kung saan pangalan ay isang array, o i-unset pangalan[subskrip], saan subskrip
is * or @, inaalis ang buong array.

Ang magpahayag, lokal, at Basahin lamang builtin bawat tumatanggap ng a -a opsyon upang tukuyin ang isang na-index
array at a -A opsyon upang tukuyin ang isang associative array. Kung ang parehong mga opsyon ay ibinigay, -A
inuuna. Ang basahin tinatanggap ng builtin a -a opsyon na magtalaga ng listahan ng mga salitang binasa
mula sa karaniwang input hanggang sa isang array. Ang itakda at magpahayag ipinapakita ng mga builtin ang mga halaga ng array sa
isang paraan na nagpapahintulot sa kanila na magamit muli bilang mga takdang-aralin.

EXPANSION


Isinasagawa ang pagpapalawak sa command line matapos itong hatiin sa mga salita. meron
pitong uri ng pagpapalawak na isinagawa: suhay paglawak, tilda paglawak, parametro at
nagbabago paglawak, utos paghalili, aritmetika paglawak, salita malakas, at
pangalan ng landas paglawak.

Ang pagkakasunud-sunod ng mga pagpapalawak ay: brace expansion; pagpapalawak ng tilde, parameter at variable
expansion, arithmetic expansion, at command substitution (ginagawa sa kaliwa-pakanan
fashion); paghahati ng salita; at pagpapalawak ng pathname.

Sa mga system na maaaring suportahan ito, mayroong isang karagdagang pagpapalawak na magagamit: paraan
paghalili. Ginagawa ito kasabay ng tilde, parameter, variable, at
pagpapalawak ng aritmetika at pagpapalit ng utos.

Tanging pagpapalawak ng brace, paghahati ng salita, at pagpapalawak ng pathname ang makakapagbago sa bilang ng
mga salita ng pagpapalawak; ang ibang mga pagpapalawak ay nagpapalawak ng isang salita sa isang salita. Ang nag-iisang
ang mga pagbubukod dito ay ang mga pagpapalawak ng "$@"At"${pangalan[@]}" gaya ng ipinaliwanag sa itaas (tingnan
MGA PARAMETERS).

Brace Paglawak
Brace paglawak ay isang mekanismo kung saan maaaring makabuo ng mga arbitrary string. Ito
mekanismo ay katulad ng pangalan ng landas paglawak, ngunit ang mga filename na nabuo ay hindi kailangang umiral.
Ang mga pattern na pinalawak na brace ay nasa anyo ng isang opsyonal preamble, na sinusundan ng alinman sa a
serye ng mga string na pinaghihiwalay ng kuwit o isang sequence expression sa pagitan ng isang pares ng braces,
na sinusundan ng isang opsyonal postcript. Ang preamble ay prefix sa bawat string na nilalaman
sa loob ng mga braces, at pagkatapos ay idaragdag ang postscript sa bawat resultang string, na lumalawak
kaliwa pakanan.

Maaaring naka-nest ang mga pagpapalawak ng brace. Ang mga resulta ng bawat pinalawak na string ay hindi pinagsunod-sunod; umalis
sa tamang pagkakasunod-sunod ay napanatili. Halimbawa, a{d,c,b}e lumalawak sa `ade ace abe'.

Kinukuha ng isang sequence expression ang anyo {x..y[..incr]}, Kung saan x at y ay alinman sa mga integer o
solong karakter, at incr, isang opsyonal na pagtaas, ay isang integer. Kapag ang mga integer ay
ibinibigay, lumalawak ang expression sa bawat numero sa pagitan x at y, kasama. Ibinigay
ang mga integer ay maaaring may prefix na 0 upang pilitin ang bawat termino na magkaroon ng parehong lapad. Kapag alinman x
or y nagsisimula sa isang zero, sinusubukan ng shell na pilitin ang lahat ng nabuong termino na naglalaman ng
parehong bilang ng mga digit, zero-padding kung kinakailangan. Kapag ang mga character ay ibinigay, ang
lumalawak ang ekspresyon sa bawat karakter ayon sa leksikograpiya sa pagitan x at y, kasama, gamit
ang default na lokal na C. Tandaan na pareho x at y dapat pareho ang uri. Kapag ang
increment ay ibinibigay, ito ay ginagamit bilang pagkakaiba sa pagitan ng bawat termino. Ang default
ang pagtaas ay 1 o -1 kung naaangkop.

Ginagawa ang pagpapalawak ng brace bago ang anumang iba pang pagpapalawak, at ang anumang mga character na espesyal sa
iba pang mga pagpapalawak ay napanatili sa resulta. Ito ay mahigpit na teksto. Malakas na palo hindi
ilapat ang anumang syntactic na interpretasyon sa konteksto ng pagpapalawak o ang teksto sa pagitan ng
braces.

Ang isang wastong nabuong pagpapalawak ng brace ay dapat maglaman ng hindi naka-quote na opening at closing braces, at
kahit isang hindi naka-quote na kuwit o isang wastong sequence expression. Anumang maling nabuong brace
ang pagpapalawak ay hindi nababago. A { or , maaaring sipiin ng backslash upang maiwasan ang pagkakaroon nito
itinuturing na bahagi ng isang brace expression. Upang maiwasan ang mga salungatan sa pagpapalawak ng parameter, ang
pisi ${ ay hindi itinuturing na karapat-dapat para sa pagpapalawak ng brace.

Ang construct na ito ay karaniwang ginagamit bilang shorthand kapag ang karaniwang prefix ng mga string ay magiging
ang nabuo ay mas mahaba kaysa sa halimbawa sa itaas:

mkdir /usr/local/src/bash/{old,new,dist,bugs}
or
ugat ng chown /usr/{ucb/{ex,edit},lib/{ex?.?*,how_ex}}

Ang pagpapalawak ng brace ay nagpapakilala ng bahagyang hindi pagkakatugma sa mga makasaysayang bersyon ng sh. sh
ay hindi tinatrato ang pambungad o pagsasara ng mga braces lalo na kapag lumilitaw ang mga ito bilang bahagi ng isang salita, at
pinapanatili ang mga ito sa output. Malakas na palo nag-aalis ng braces mula sa mga salita bilang resulta ng brace
pagpapalawak. Halimbawa, isang salitang ipinasok sa sh as file{1,2} lilitaw na magkapareho sa
output. Ang parehong salita ay output bilang file1 file2 pagkatapos ng pagpapalawak ng malakas na palo. Kung mahigpit
pagiging tugma sa sh ay ninanais, simulan malakas na palo sa +B opsyon o huwag paganahin ang pagpapalawak ng brace
sa +B opsyon sa itakda utos (tingnan KABIBI BUILTIN UTOS sa ibaba).

Tilde Paglawak
Kung ang isang salita ay nagsisimula sa isang hindi naka-quote na tilde character (`~'), lahat ng mga character na nauna
ang unang unquoted slash (o lahat ng character, kung walang unquoted slash) ay isinasaalang-alang
a tilde-prefix. Kung wala sa mga character sa tilde-prefix ang sinipi, ang mga character
sa tilde-prefix kasunod ng tilde ay itinuturing na posible login pangalan. Kung ito
Ang pangalan ng pag-login ay ang null string, ang tilde ay pinapalitan ng halaga ng parameter ng shell
HOME. Kung HOME ay hindi nakatakda, ang home directory ng user na nagpapatupad ng shell ay pinapalitan
sa halip. Kung hindi, ang tilde-prefix ay papalitan ng home directory na nauugnay sa
ang tinukoy na pangalan sa pag-login.

Kung ang tilde-prefix ay isang `~+', ang halaga ng shell variable PWD pinapalitan ang tilde-
unlapi. Kung ang tilde-prefix ay isang `~-', ang halaga ng shell variable OLDPWD, kung ito ay
itinakda, ay pinapalitan. Kung ang mga character na sumusunod sa tilde sa tilde-prefix ay binubuo ng
isang numero N, opsyonal na prefix ng isang `+' o isang `-', ang tilde-prefix ay pinapalitan ng
kaukulang elemento mula sa salansan ng direktoryo, dahil ito ay ipapakita ng dirs
builtin invoked na may tilde-prefix bilang argumento. Kung ang mga karakter na sumusunod sa
tilde sa tilde-prefix ay binubuo ng isang numero na walang nangunguna na `+' o `-', ang `+' ay
ipinapalagay.

Kung hindi wasto ang pangalan sa pag-log in, o nabigo ang pagpapalawak ng tilde, hindi nababago ang salita.

Ang bawat variable na pagtatalaga ay sinusuri para sa mga unquoted tilde-prefix kaagad kasunod ng a :
o ang una =. Sa mga kasong ito, ginagawa din ang pagpapalawak ng tilde. Dahil dito, maaaring ang isa
gumamit ng mga filename na may mga tilde sa mga takdang-aralin sa PATH, MAILPATH, at CDPATH, at ang shell
nagtatalaga ng pinalawak na halaga.

Parametro Paglawak
Ang `$' ang karakter ay nagpapakilala ng pagpapalawak ng parameter, pagpapalit ng command, o arithmetic
pagpapalawak. Ang pangalan ng parameter o simbolo na ipapalawak ay maaaring nakapaloob sa mga brace, na
ay opsyonal ngunit nagsisilbing protektahan ang variable na palawakin mula sa mga character kaagad
sumusunod dito na maaaring bigyang kahulugan bilang bahagi ng pangalan.

Kapag ginamit ang braces, ang katugmang ending brace ay ang unang `}' hindi nakatakas ng a
backslash o sa loob ng isang naka-quote na string, at hindi sa loob ng isang naka-embed na pagpapalawak ng arithmetic,
pagpapalit ng command, o pagpapalawak ng parameter.

${parametro}
Ang halaga ng mga parametro ay pinapalitan. Ang mga braces ay kinakailangan kapag parametro ay isang
positional parameter na may higit sa isang digit, o kung kailan parametro ay sinusundan ng a
karakter na hindi dapat bigyang-kahulugan bilang bahagi ng pangalan nito. Ang parametro ay isang
parameter ng shell tulad ng inilarawan sa itaas MGA PARAMETERS) o isang sanggunian ng array (Mga Arrays).

Kung ang unang karakter ng parametro ay isang tandang padamdam (!), ipinakikilala nito ang isang antas ng
variable na hindi direksyon. Malakas na palo ginagamit ang halaga ng variable na nabuo mula sa natitirang bahagi ng
parametro bilang pangalan ng variable; ang variable na ito ay pinalawak at ang halaga ay
ginamit sa natitirang bahagi ng pagpapalit, sa halip na ang halaga ng parametro mismo. Ito ay
kilala bilang hindi tuwiran paglawak. Ang mga pagbubukod dito ay ang mga pagpapalawak ng ${!unlapi*} at
${!pangalan[@]} inilalarawan sa ibaba. Ang tandang padamdam ay dapat na sumunod kaagad sa kaliwang brace
upang ipakilala ang hindi direksyon.

Sa bawat isa sa mga kaso sa ibaba, salita ay napapailalim sa pagpapalawak ng tilde, pagpapalawak ng parameter,
pagpapalit ng utos, at pagpapalawak ng aritmetika.

Kapag hindi nagsasagawa ng pagpapalawak ng substring, gamit ang mga form na nakadokumento sa ibaba (hal, :-), malakas na palo
mga pagsubok para sa isang parameter na hindi nakatakda o null. Ang pag-alis sa colon ay nagreresulta sa isang pagsubok lamang
para sa isang parameter na hindi nakatakda.

${parametro:-salita}
paggamit default Halaga ng. Kung parametro ay hindi nakatakda o null, ang pagpapalawak ng salita is
pinalitan. Kung hindi, ang halaga ng parametro ay pinalitan.
${parametro:=salita}
Magtalaga default Halaga ng. Kung parametro ay hindi nakatakda o null, ang pagpapalawak ng salita is
nakatalaga sa parametro. Ang halaga ng parametro ay pagkatapos ay pinapalitan. Posisyon
ang mga parameter at mga espesyal na parameter ay maaaring hindi italaga sa ganitong paraan.
${parametro:?salita}
display pagkakamali if Walang bisa or Hindi nakatakda. Kung parametro ay null o unset, ang pagpapalawak ng
salita (o isang mensahe sa ganoong epekto kung salita ay hindi naroroon) ay nakasulat sa
karaniwang error at ang shell, kung hindi ito interactive, ay lalabas. Kung hindi, ang
halaga ng parametro ay pinalitan.
${parametro:+salita}
paggamit Alternatibo halaga. Kung parametro ay null o unset, walang pinapalitan,
kung hindi ang pagpapalawak ng salita ay pinalitan.
${parametro:ginalaw}
${parametro:ginalaw:haba}
Substring Paglawak. Lumalawak hanggang sa haba mga karakter ng halaga ng parametro
simula sa karakter na tinukoy ni ginalaw. Kung parametro is @, isang naka-index na hanay
naka-subscribe sa pamamagitan ng @ or *, o isang associative array name, ang mga resulta ay naiiba bilang
inilarawan sa ibaba. Kung haba ay tinanggal, lumalawak sa substring ng halaga ng
parametro simula sa karakter na tinukoy ni ginalaw at umaabot hanggang sa dulo ng
ang halaga. haba at ginalaw ay mga ekspresyong aritmetika (tingnan ARITMETIKO Paghusga
sa ibaba).

If ginalaw sinusuri sa isang numerong mas mababa sa zero, ang halaga ay ginagamit bilang isang offset sa
mga character mula sa dulo ng halaga ng parametro. Kung haba sinusuri sa isang numero
mas mababa sa zero, ito ay binibigyang-kahulugan bilang isang offset sa mga character mula sa dulo ng
halaga ng parametro sa halip na isang bilang ng mga character, at ang pagpapalawak ay ang
mga character sa pagitan ginalaw at ang resultang iyon. Tandaan na ang isang negatibong offset ay dapat na
pinaghihiwalay mula sa colon ng hindi bababa sa isang puwang upang maiwasang malito sa :-
expansion.

If parametro is @, ang resulta ay haba positional parameter na nagsisimula sa ginalaw.
Isang negatibo ginalaw ay kinuha kaugnay sa isang mas malaki kaysa sa pinakadakilang positional
parameter, kaya ang isang offset ng -1 ay sinusuri sa huling positional na parameter. Ito ay isang
error sa pagpapalawak kung haba sinusuri sa isang numerong mas mababa sa zero.

If parametro ay isang naka-index na pangalan ng array na naka-subscript ng @ o *, ang resulta ay ang
haba mga miyembro ng array na nagsisimula sa ${parametro[ginalaw]}. Isang negatibo ginalaw
ay kinuha na may kaugnayan sa isang mas malaki kaysa sa maximum na index ng tinukoy na array. Ito
ay isang error sa pagpapalawak kung haba sinusuri sa isang numerong mas mababa sa zero.

Ang pagpapalawak ng substring na inilapat sa isang associative array ay gumagawa ng mga hindi natukoy na resulta.

Ang substring indexing ay zero-based maliban kung ang mga positional na parameter ay ginagamit, sa
na kung saan ang pag-index ay nagsisimula sa 1 bilang default. Kung ginalaw ay 0, at ang positional
ginagamit ang mga parameter, $0 ay prefix sa listahan.

${!unlapi*}
${!unlapi@}
pangalan pagtutugma unlapi. Lumalawak sa mga pangalan ng mga variable na ang mga pangalan ay nagsisimula sa
unlapi, na pinaghihiwalay ng unang karakter ng IFS espesyal na variable. Kailan @ is
ginamit at lumalabas ang pagpapalawak sa loob ng dobleng panipi, ang bawat pangalan ng variable ay lumalawak hanggang
isang hiwalay na salita.

${!pangalan[@]}
${!pangalan[*]}
listahan of ayos mga susi. Kung pangalan ay isang array variable, lumalawak sa listahan ng array
mga indeks (mga susi) na nakatalaga sa pangalan. Kung pangalan ay hindi isang array, lumalawak sa 0 kung pangalan is
itakda at null kung hindi man. Kailan @ ay ginagamit at ang pagpapalawak ay lilitaw sa loob ng doble
quote, ang bawat key ay lumalawak sa isang hiwalay na salita.

${#parametro}
Parametro haba. Ang haba sa mga character ng halaga ng parametro is
pinalitan. Kung parametro is * or @, ang halagang pinalitan ay ang bilang ng
positional na mga parameter. Kung parametro ay isang array name na naka-subscribe ng * or @, ang
value substituted ay ang bilang ng mga elemento sa array. Kung parametro ay isang
naka-index na pangalan ng array na naka-subscript ng negatibong numero, ang numerong iyon ay binibigyang-kahulugan bilang
may kaugnayan sa isang mas malaki kaysa sa pinakamataas na index ng parametro, kaya negatibong mga indeks
bilang pabalik mula sa dulo ng array, at isang index ng -1 ang tumutukoy sa huli
elemento.

${parametro#salita}
${parametro##salita}
Alisin pagtutugma unlapi huwaran. ang salita ay pinalawak upang makabuo ng isang pattern tulad ng
sa pagpapalawak ng pathname. Kung ang pattern ay tumutugma sa simula ng halaga ng
parametro, kung gayon ang resulta ng pagpapalawak ay ang pinalawak na halaga ng parametro sa
ang pinakamaikling pattern ng pagtutugma (ang ``#'' case) o ang pinakamahabang pattern ng pagtutugma (ang
``##'' kaso) tinanggal. Kung parametro is @ or *, ang pagpapatakbo ng pag-alis ng pattern ay
inilapat sa bawat positional parameter sa turn, at ang pagpapalawak ay ang resulta
listahan. Kung parametro ay isang array variable na naka-subscribe sa @ or *, ang pattern
ang operasyon ng pag-alis ay inilalapat sa bawat miyembro ng array, at ang pagpapalawak
ay ang resultang listahan.

${parametro%salita}
${parametro%%salita}
Alisin pagtutugma suffix huwaran. ang salita ay pinalawak upang makabuo ng isang pattern tulad ng
sa pagpapalawak ng pathname. Kung ang pattern ay tumutugma sa isang sumusunod na bahagi ng pinalawak
halaga ng parametro, kung gayon ang resulta ng pagpapalawak ay ang pinalawak na halaga ng
parametro na may pinakamaikling pattern ng pagtutugma (ang ``%'' kaso) o ang pinakamahaba
tumutugmang pattern (ang ``%%'' kaso) tinanggal. Kung parametro is @ or *, ang pattern
ang operasyon ng pag-alis ay inilapat sa bawat positional na parameter sa turn, at ang
Ang pagpapalawak ay ang resultang listahan. Kung parametro ay isang array variable na naka-subscribe
sa @ or *, ang pagpapatakbo ng pag-alis ng pattern ay inilalapat sa bawat miyembro ng array
sa turn, at ang pagpapalawak ay ang resultang listahan.

${parametro/huwaran/pisi}
huwaran paghalili. ang huwaran ay pinalawak upang makabuo ng isang pattern tulad ng sa
pagpapalawak ng pathname. Parametro ay pinalawak at ang pinakamahabang tugma ng huwaran laban sa
ang halaga nito ay pinalitan ng pisi. Kung huwaran nagsisimula sa /, lahat ng tugma ng
huwaran ay pinalitan ng pisi. Karaniwan ang unang laban lang ang pinapalitan. Kung
huwaran nagsisimula sa #, dapat itong tumugma sa simula ng pinalawak na halaga ng
parametro. Kung huwaran nagsisimula sa %, dapat itong tumugma sa dulo ng pinalawak
halaga ng parametro. Kung pisi ay null, mga tugma ng huwaran ay tinanggal at ang /
sumusunod huwaran maaaring tanggalin. Kung parametro is @ or *, ang pagpapalit
operasyon ay inilapat sa bawat positional parameter sa turn, at ang pagpapalawak ay ang
resultang listahan. Kung parametro ay isang array variable na naka-subscribe sa @ or *, ang
ang pagpapalit na operasyon ay inilalapat sa bawat miyembro ng array, at ang
Ang pagpapalawak ay ang resultang listahan.

${parametro^huwaran}
${parametro^^huwaran}
${parametro,huwaran}
${parametro,,huwaran}
kaso kaunting pagbabago o pagkakabago. Binabago ng pagpapalawak na ito ang kaso ng mga alphabetic na character sa
parametro. ang huwaran ay pinalawak upang makabuo ng isang pattern tulad ng sa pathname
pagpapalawak. Ang bawat karakter sa pinalawak na halaga ng parametro ay sinubok laban sa
huwaran, at, kung tumugma ito sa pattern, mako-convert ang case nito. Ang pattern ay dapat
huwag subukang tumugma sa higit sa isang character. Ang ^ ang operator ay nagko-convert ng lowercase
magkatugma ang mga titik huwaran sa uppercase; ang , nagko-convert ang operator ng katugmang uppercase
mga titik sa maliit na titik. Ang ^^ at ,, kino-convert ng mga pagpapalawak ang bawat katugmang character sa
ang pinalawak na halaga; ang ^ at , ang mga pagpapalawak ay tumutugma at nagko-convert lamang sa una
character sa pinalawak na halaga. Kung huwaran ay tinanggal, ito ay tinatrato tulad ng a ?,
na tumutugma sa bawat karakter. Kung parametro is @ or *, ang pagbabago ng kaso
operasyon ay inilapat sa bawat positional parameter sa turn, at ang pagpapalawak ay ang
resultang listahan. Kung parametro ay isang array variable na naka-subscribe sa @ or *, ang
case modification operation ay inilapat sa bawat miyembro ng array, at ang
Ang pagpapalawak ay ang resultang listahan.

Utos Paghalili
Utos paghalili pinapayagan ang output ng isang command na palitan ang pangalan ng command. doon
ay dalawang anyo:

$(utos)
or
`utos`

Malakas na palo nagsasagawa ng pagpapalawak sa pamamagitan ng pagsasagawa utos at pagpapalit ng command substitution
gamit ang karaniwang output ng command, kung saan tinanggal ang anumang sumusunod na mga bagong linya. Naka-embed
hindi tinatanggal ang mga bagong linya, ngunit maaaring alisin ang mga ito sa panahon ng paghahati ng salita. Ang utos
paghalili $(pusa file) maaaring palitan ng katumbas ngunit mas mabilis $( file).

Kapag ginamit ang lumang-style na backquote na anyo ng pagpapalit, pinapanatili ng backslash ang literal nito
ibig sabihin maliban kung sinusundan ng $, `, O \. Ang unang backquote na hindi pinangungunahan ng a
Tinatapos ng backslash ang pagpapalit ng command. Kapag ginagamit ang $(utos) anyo, lahat
mga character sa pagitan ng mga panaklong ang bumubuo sa utos; walang espesyal na ginagamot.

Maaaring ma-nest ang mga pagpapalit ng command. Upang mag-nest kapag ginagamit ang backquoted na form, i-escape ang
panloob na backquotes na may backslashes.

Kung lalabas ang pagpapalit sa loob ng dobleng panipi, paghahati ng salita at pagpapalawak ng pathname
ay hindi isinagawa sa mga resulta.

Pang-aritmetika Paglawak
Ang pagpapalawak ng aritmetika ay nagbibigay-daan sa pagsusuri ng isang pagpapahayag ng aritmetika at ang
pagpapalit ng resulta. Ang format para sa pagpapalawak ng arithmetic ay:

$((pagpapahayag))

Ang lumang format $[pagpapahayag] ay hindi na ginagamit at aalisin sa mga paparating na bersyon ng
bash.

Ang pagpapahayag ay itinuturing na parang nasa loob ng double quote, ngunit double quote sa loob
ang mga panaklong ay hindi ginagamot nang espesyal. Ang lahat ng mga token sa expression ay sumasailalim sa parameter
at variable expansion, pagpapalit ng command, at pag-alis ng quote. Ang resulta ay itinuturing bilang
ang arithmetic expression na susuriin. Maaaring naka-nest ang mga pagpapalawak ng aritmetika.

Isinasagawa ang pagsusuri ayon sa mga tuntuning nakalista sa ibaba ARITMETIKO
Paghusga. Kung pagpapahayag ay hindi wasto, malakas na palo nagpi-print ng mensahe na nagpapahiwatig ng kabiguan at hindi
nagaganap ang pagpapalit.

paraan Paghalili
paraan paghalili ay suportado sa mga system na sumusuporta sa pinangalanang mga tubo (Mga FIFO) o ang
/dev/fd paraan ng pagbibigay ng pangalan sa mga bukas na file. Ito ay tumatagal sa anyo ng <(listahan) or >(listahan). ang
paraan listahan ay tumatakbo kasama ang input o output nito na konektado sa a FIFO o ilang file sa /dev/fd.
Ang pangalan ng file na ito ay ipinasa bilang argumento sa kasalukuyang command bilang resulta ng
pagpapalawak. Kung ang >(listahan) ginagamit ang form, ang pagsulat sa file ay magbibigay ng input para sa listahan.
Kung ang <(listahan) form ay ginagamit, ang file na ipinasa bilang isang argumento ay dapat basahin upang makuha ang
output ng listahan.

Kapag magagamit, ang pagpapalit ng proseso ay isinasagawa nang sabay-sabay sa parameter at
variable expansion, command substitution, at arithmetic expansion.

Salita Paghahati
Ini-scan ng shell ang mga resulta ng pagpapalawak ng parameter, pagpapalit ng command, at arithmetic
pagpapalawak na hindi naganap sa loob ng dobleng panipi para sa salita malakas.

Tinatrato ng shell ang bawat karakter ng IFS bilang isang delimiter, at hinahati ang mga resulta ng isa pa
pagpapalawak sa mga salita gamit ang mga character na ito bilang field terminator. Kung IFS ay hindi nakatakda, o
eksakto ang halaga nito , ang default, pagkatapos ay ang mga pagkakasunud-sunod ng , ,
at sa simula at dulo ng mga resulta ng mga nakaraang pagpapalawak ay
hindi pinansin, at anumang pagkakasunod-sunod ng IFS ang mga character na wala sa simula o dulo ay nagsisilbing takda
mga salita. Kung IFS ay may value maliban sa default, pagkatapos ay mga sequence ng whitespace
character puwang at tab ay binabalewala sa simula at dulo ng salita, hangga't ang
Ang whitespace na character ay nasa halaga ng IFS (isang IFS character na whitespace). Kahit anong karakter
in IFS hindi iyon IFS whitespace, kasama ang anumang katabi IFS mga character na whitespace,
nililimitahan ang isang field. Isang pagkakasunod-sunod ng IFS Ang mga character na whitespace ay itinuturing din bilang isang delimiter.
Kung ang halaga ng IFS ay null, walang salitang paghahati na nagaganap.

Mga tahasang null na argumento ("" or '') ay pinanatili. Hindi naka-quote na implicit na null na mga argumento,
na nagreresulta mula sa pagpapalawak ng mga parameter na walang mga halaga, ay inalis. Kung ang
Ang parameter na walang halaga ay pinalawak sa loob ng double quotes, isang null argument na nagreresulta at ay
pinanatili

Tandaan na kung walang pagpapalawak na nangyari, walang paghahati na gagawin.

Pathname Paglawak
Pagkatapos ng paghahati ng salita, maliban kung ang -f ang pagpipilian ay itinakda, malakas na palo sinusuri ang bawat salita para sa
character *, ?, at [. Kung ang isa sa mga character na ito ay lilitaw, kung gayon ang salita ay itinuturing na
a huwaran, at pinalitan ng nakaayos ayon sa alpabeto na listahan ng mga filename na tumutugma sa
pattern (tingnan huwaran Pagtutugma sa ibaba). Kung walang nahanap na katugmang mga filename, at ang shell
opsyon nullglob ay hindi pinagana, ang salita ay hindi nababago. Kung ang nullglob Ang opsyon ay
nakatakda, at walang nahanap na tugma, ang salita ay aalisin. Kung ang failglob Nakatakda ang pagpipiliang shell,
at walang nahanap na mga tugma, ang isang mensahe ng error ay naka-print at ang command ay hindi naisakatuparan. Kung
ang pagpipiliang shell nocaseglob ay pinagana, ang tugma ay isinasagawa nang walang pagsasaalang-alang sa kaso
ng mga alpabetikong karakter. Tandaan na kapag gumagamit ng mga expression ng range tulad ng [az] (tingnan sa ibaba),
maaaring isama ang mga titik ng ibang kaso, depende sa setting ng LC_COLLATE. Kapag ang isang
pattern ay ginagamit para sa pagpapalawak ng pathname, ang character ``.'' sa simula ng isang pangalan o
kaagad na sumusunod sa isang slash ay dapat na tahasang itugma, maliban kung ang pagpipiliang shell dotglob
ay nakatakda. Kapag tumutugma sa isang pathname, ang slash na character ay dapat palaging itugma nang tahasan.
Sa ibang mga kaso, ang ``.'' ang karakter ay hindi pinahahalagahan. Tingnan ang paglalarawan ng
tindahan Sa ilalim ng KABIBI BUILTIN UTOS para sa paglalarawan ng nocaseglob, nullglob,
failglob, at dotglob mga pagpipilian sa shell.

Ang GLOBIGNORE shell variable ay maaaring gamitin upang paghigpitan ang hanay ng mga filename na tumutugma sa a
huwaran. Kung GLOBIGNORE ay nakatakda, bawat tumutugmang filename na tumutugma din sa isa sa
mga pattern GLOBIGNORE ay tinanggal mula sa listahan ng mga tugma. Ang mga filename ``.'' at
``..'' ay palaging hindi pinapansin kapag GLOBIGNORE ay nakatakda at hindi null. Gayunpaman, ang pagtatakda
GLOBIGNORE sa isang hindi-null na halaga ay may epekto ng pagpapagana ng dotglob pagpipiliang shell, kaya lahat
ibang mga filename na nagsisimula sa a ``.'' magkatugma. Upang makuha ang lumang pag-uugali ng hindi papansin
mga filename na nagsisimula sa a ``.'', gumawa ``.*'' isa sa mga pattern sa GLOBIGNORE. ang
dotglob hindi pinagana ang opsyon kapag GLOBIGNORE ay hindi nakatakda.

huwaran Pagtutugma

Anumang character na lumalabas sa isang pattern, maliban sa mga espesyal na pattern na character
inilarawan sa ibaba, tumutugma sa sarili nito. Ang karakter na NUL ay maaaring hindi mangyari sa isang pattern. A
tinatakasan ng backslash ang sumusunod na character; ang escaping backslash ay itatapon kapag
tugma. Ang mga espesyal na character ng pattern ay dapat na sinipi kung sila ay itugma
literal.

Ang mga espesyal na character na pattern ay may mga sumusunod na kahulugan:

* Tumutugma sa anumang string, kabilang ang null string. Kapag ang globstar talukap ng alimango
pinagana ang opsyon, at * ay ginagamit sa isang konteksto ng pagpapalawak ng pathname, dalawa
katabi *s ginamit bilang isang pattern ay tutugma sa lahat ng mga file at zero o higit pa
mga direktoryo at mga subdirektoryo. Kung susundan ng a /, dalawang magkatabi *s kalooban
tumugma lamang sa mga direktoryo at subdirektoryo.
? Tumutugma sa anumang solong karakter.
[...] Tumutugma sa alinman sa mga nakalakip na character. Isang pares ng mga character ang pinaghiwalay
sa pamamagitan ng isang gitling ay nagsasaad ng a saklaw pagpapahayag; anumang karakter na nahuhulog sa pagitan
ang dalawang character na iyon, kasama, gamit ang kasalukuyang lokal na pagsasama-sama
pagkakasunud-sunod at set ng character, ay naitugma. Kung sumusunod ang unang tauhan
ang [ ay isang ! o isang ^ kung gayon ang anumang karakter na hindi nakapaloob ay tugma. Ang
Ang pag-uuri ng pagkakasunud-sunod ng mga character sa mga expression ng saklaw ay tinutukoy ng
kasalukuyang lokal at ang mga halaga ng LC_COLLATE or LC_ALL mga variable ng shell,
kung itinakda. Upang makuha ang tradisyonal na interpretasyon ng mga expression ng saklaw,
saan [Ad] ay katumbas ng [a B C D], itakda ang halaga ng LC_ALL variable ng shell
sa C, o paganahin ang globasciranges pagpipiliang shell. A - maaaring pantayan ng
kasama ito bilang una o huling karakter sa set. A ] maaaring magkatugma
sa pamamagitan ng pagsasama nito bilang unang karakter sa set.

Sa loob [ at ], katangian klase maaaring tukuyin gamit ang syntax
[:klase:], Kung saan klase ay isa sa mga sumusunod na klase na tinukoy sa POSIX
pamantayan
alnum alpha ASCII blangko cntrl tambilang talangguhit ibaba i-print punt puwang itaas salita
xdigit
Ang isang klase ng character ay tumutugma sa anumang karakter na kabilang sa klase na iyon. Ang salita
ang klase ng character ay tumutugma sa mga titik, digit, at character _.

Sa loob [ at ], Isang pagkakapantay-pantay klase maaaring tukuyin gamit ang syntax
[=c=], na tumutugma sa lahat ng character na may parehong bigat ng collation (bilang
tinukoy ng kasalukuyang lokal) bilang karakter c.

Sa loob [ at ], ang syntax [.simbolo.] tumutugma sa simbolo ng collating simbolo.

Kung ang extglob Ang pagpipiliang shell ay pinagana gamit ang tindahan builtin, ilang pinahabang pattern
kinikilala ang mga tumutugmang operator. Sa sumusunod na paglalarawan, a pattern-list ay isang listahan
ng isa o higit pang mga pattern na pinaghihiwalay ng a |. Maaaring mabuo ang mga composite pattern gamit ang isa o
higit pa sa mga sumusunod na sub-pattern:

?(pattern-list)
Tumutugma sa zero o isang paglitaw ng mga ibinigay na pattern
*(pattern-list)
Tumutugma sa zero o higit pang mga paglitaw ng mga ibinigay na pattern
+(pattern-list)
Tumutugma sa isa o higit pang paglitaw ng mga ibinigay na pattern
@(pattern-list)
Tumutugma sa isa sa mga ibinigay na pattern
!(pattern-list)
Tumutugma sa anuman maliban sa isa sa mga ibinigay na pattern

Sumipi Pag-aalis
Pagkatapos ng mga naunang pagpapalawak, lahat ng hindi nabanggit na paglitaw ng mga character \, ', at "
na hindi nagresulta mula sa isa sa mga pagpapalawak sa itaas ay aalisin.

REDIREKSYON


Bago ang isang utos ay naisakatuparan, ang input at output nito ay maaaring na-redirect gamit ang isang espesyal
notasyon na binibigyang kahulugan ng shell. Ang pag-redirect ay nagbibigay-daan sa mga file handle ng command na maging
nadoble, binuksan, isinara, ginawa upang sumangguni sa iba't ibang mga file, at maaaring baguhin ang mga file sa
Ang utos ay nagbabasa mula at nagsusulat sa. Ang pag-redirect ay maaari ding gamitin upang baguhin ang mga hawakan ng file
ang kasalukuyang kapaligiran ng pagpapatupad ng shell. Maaaring mauna ang mga sumusunod na operator ng pag-redirect
o lumilitaw kahit saan sa loob ng a simple utos o maaaring sumunod sa a utos. Ang mga pag-redirect ay
naproseso sa pagkakasunud-sunod ng paglitaw ng mga ito, mula kaliwa hanggang kanan.

Ang bawat pag-redirect na maaaring unahan ng isang numero ng deskriptor ng file ay maaaring maunahan
sa pamamagitan ng isang salita ng anyong {varname}. Sa kasong ito, para sa bawat operator ng pag-redirect maliban sa >&-
at <&-, ang shell ay maglalaan ng file descriptor na mas malaki sa o katumbas ng 10 at magtatalaga
ito sa varname. Kung ang >&- o <&- ay pinangungunahan ng {varname}, ang halaga ng varname tumutukoy sa
file descriptor upang isara.

Sa mga sumusunod na paglalarawan, kung ang numero ng deskriptor ng file ay tinanggal, at ang una
katangian ng operator ng pag-redirect ay <, ang pag-redirect ay tumutukoy sa karaniwang input
(file descriptor 0). Kung ang unang karakter ng operator ng pag-redirect ay >, ang
ang redirection ay tumutukoy sa karaniwang output (file descriptor 1).

Ang salitang sumusunod sa operator ng pag-redirect sa mga sumusunod na paglalarawan, maliban kung
kung hindi man nabanggit, ay napapailalim sa pagpapalawak ng brace, pagpapalawak ng tilde, parameter at variable
pagpapalawak, pagpapalit ng command, pagpapalawak ng aritmetika, pag-aalis ng quote, pagpapalawak ng pathname,
at paghahati ng salita. Kung lumawak ito sa higit sa isang salita, malakas na palo nag-uulat ng error.

Tandaan na ang pagkakasunud-sunod ng mga pag-redirect ay makabuluhan. Halimbawa, ang utos

ls > dirlist 2>&1

nagdidirekta sa parehong karaniwang output at karaniwang error sa file dirlist, habang ang utos

LS 2>&1 > dirlist

dinidirekta lamang ang karaniwang output sa file dirlist, dahil ang karaniwang error ay
nadoble mula sa karaniwang output bago ang karaniwang output ay na-redirect sa dirlist.

Malakas na palo humahawak ng ilang mga filename lalo na kapag ginagamit ang mga ito sa mga pag-redirect, gaya ng inilarawan
sa sumusunod na talahanayan:

/dev/fd/fd
If fd ay isang wastong integer, file descriptor fd ay nadoble.
/dev/stdin
Ang file descriptor 0 ay nadoble.
/dev/stdout
Ang file descriptor 1 ay nadoble.
/dev/stderr
Ang file descriptor 2 ay nadoble.
/dev/tcp/marami/port
If marami ay isang wastong hostname o Internet address, at port ay isang integer port
numero o pangalan ng serbisyo, malakas na palo sinusubukang buksan ang kaukulang TCP socket.
/dev/udp/marami/port
If marami ay isang wastong hostname o Internet address, at port ay isang integer port
numero o pangalan ng serbisyo, malakas na palo sinusubukang buksan ang kaukulang socket ng UDP.

Ang pagkabigo sa pagbukas o paglikha ng isang file ay nagdudulot ng pagkabigo sa pag-redirect.

Ang mga pag-redirect na gumagamit ng mga deskriptor ng file na higit sa 9 ay dapat gamitin nang may pag-iingat, hangga't maaari
sumasalungat sa mga deskriptor ng file na ginagamit ng shell sa loob.

Tandaan na ang exec Ang builtin command ay maaaring gumawa ng mga pag-redirect na magkabisa sa kasalukuyang shell.

Pag-redirect input
Ang pag-redirect ng input ay nagiging sanhi ng file na ang pangalan ay nagreresulta mula sa pagpapalawak ng salita upang maging
binuksan para sa pagbabasa sa file descriptor n, o ang karaniwang input (file descriptor 0) kung n is
hindi tinukoy.

Ang pangkalahatang format para sa pag-redirect ng input ay:

[n]<salita

Pag-redirect Pagbubuhos
Ang pag-redirect ng output ay nagiging sanhi ng file na ang pangalan ay nagreresulta mula sa pagpapalawak ng salita upang maging
binuksan para sa pagsulat sa file descriptor n, o ang karaniwang output (file descriptor 1) kung n
ay hindi tinukoy. Kung ang file ay hindi umiiral ito ay nilikha; kung ito ay umiiral ito ay
pinutol sa zero size.

Ang pangkalahatang format para sa pag-redirect ng output ay:

[n]>salita

Kung ang operator ng pag-redirect ay >, at ang noclobber opsyon sa itakda builtin ay naging
pinagana, ang pag-redirect ay mabibigo kung ang file na ang pangalan ay nagreresulta mula sa pagpapalawak ng
salita umiiral at isang regular na file. Kung ang operator ng pag-redirect ay >|, o ang pag-redirect
operator ay > at ang noclobber opsyon sa itakda builtin command ay hindi pinagana, ang
ang pag-redirect ay sinubukan kahit na ang file ay pinangalanan ng salita umiiral.

Nagdadagdag Nai-redirect Pagbubuhos
Ang pag-redirect ng output sa ganitong paraan ay nagiging sanhi ng file na ang pangalan ay nagreresulta mula sa
pagpapalawak ng salita na bubuksan para sa pagdaragdag sa file descriptor n, o ang karaniwang output
(file descriptor 1) kung n ay hindi tinukoy. Kung ang file ay hindi umiiral ito ay nilikha.

Ang pangkalahatang format para sa pagdaragdag ng output ay:

[n]>>salita

Pag-redirect pamantayan Pagbubuhos at pamantayan pagkakamali
Ang construct na ito ay nagbibigay-daan sa parehong karaniwang output (file descriptor 1) at ang karaniwang error
output (file descriptor 2) na ire-redirect sa file na ang pangalan ay pagpapalawak ng
salita.

Mayroong dalawang mga format para sa pag-redirect ng karaniwang output at karaniwang error:

&>salita
at
>&salita

Sa dalawang anyo, mas gusto ang una. Ito ay semantically equivalent sa

>salita 2>&1

Kapag ginagamit ang pangalawang anyo, salita maaaring hindi lumawak sa isang numero o -. Kung ito ay, iba
nalalapat ang mga operator ng pag-redirect (tingnan Pagdoble talaksan Mga naglalarawan sa ibaba) para sa pagiging tugma
mga dahilan.

Nagdadagdag pamantayan Pagbubuhos at pamantayan pagkakamali
Ang construct na ito ay nagbibigay-daan sa parehong karaniwang output (file descriptor 1) at ang karaniwang error
output (file descriptor 2) na idaragdag sa file na ang pangalan ay pagpapalawak ng salita.

Ang format para sa pagdaragdag ng karaniwang output at karaniwang error ay:

&>>salita

Ito ay semantically equivalent sa

>>salita 2>&1

(Tingnan ang Pagdoble talaksan Mga naglalarawan sa ibaba).

dito Mga dokumento
Ang ganitong uri ng pag-redirect ay nagtuturo sa shell na basahin ang input mula sa kasalukuyang pinagmulan hanggang sa a
linyang naglalaman lamang limitahan (na walang trailing blanks) ay makikita. Nabasa lahat ng linya
hanggang sa puntong iyon ay gagamitin bilang karaniwang input para sa isang utos.

Ang format ng mga here-documents ay:

<<[-]salita
dito-dokumento
limitahan

Walang parameter at variable expansion, command substitution, arithmetic expansion, o
Ang pagpapalawak ng pathname ay isinasagawa sa salita. Kung may mga character sa salita ay sinipi, ang
limitahan ay ang resulta ng pagtanggal ng quote sa salita, at ang mga linya sa here-document ay
hindi pinalawak. Kung salita ay hindi sinipi, ang lahat ng mga linya ng dito-dokumento ay napapailalim sa
pagpapalawak ng parameter, pagpapalit ng utos, at pagpapalawak ng aritmetika, ang karakter
pagkakasunud-sunod \ ay hindi pinapansin, at \ dapat gamitin sa pagsipi ng mga tauhan \, $, at `.

Kung ang operator ng pag-redirect ay <<-, pagkatapos ay aalisin ang lahat ng nangungunang mga character sa tab
mga linya ng input at ang linyang naglalaman ng limitahan. Ito ay nagbibigay-daan dito-mga dokumento sa loob ng shell
mga script na dapat i-indent sa natural na paraan.

dito String
Isang variant ng mga dokumento dito, ang format ay:

<<salita

Ang salita sumasailalim sa brace expansion, tilde expansion, parameter at variable expansion,
pagpapalit ng utos, pagpapalawak ng arithmetic, at pag-alis ng quote. Pagpapalawak ng pathname at
hindi ginaganap ang paghahati ng salita. Ang resulta ay ibinibigay bilang isang string sa
command sa karaniwang input nito.

Pagdoble talaksan Mga naglalarawan
Ang operator ng pag-redirect

[n]<&salita

ay ginagamit upang duplicate ang input file descriptors. Kung salita lumalawak sa isa o higit pang mga digit, ang
file descriptor na tinutukoy ng n ay ginawa upang maging isang kopya ng descriptor ng file na iyon. Kung ang mga digit
in salita huwag tukuyin ang isang file descriptor na bukas para sa input, nangyayari ang isang error sa pag-redirect. Kung
salita sinusuri sa -, descriptor ng file n ay sarado. Kung n ay hindi tinukoy, ang pamantayan
input (file descriptor 0) ay ginagamit.

Ang namamahala

[n]>&salita

ay ginagamit nang katulad sa mga duplicate na output file descriptors. Kung n ay hindi tinukoy, ang
ginagamit ang karaniwang output (file descriptor 1). Kung ang mga digit ay nasa salita huwag tumukoy ng file
bukas ang descriptor para sa output, nangyayari ang isang error sa pag-redirect. Kung salita sinusuri sa -, file
deskriptor n ay sarado. Bilang isang espesyal na kaso, kung n ay tinanggal, at salita hindi lumalawak sa
isa o higit pang mga digit o -, ang karaniwang output at karaniwang error ay nire-redirect bilang
inilarawan dati.

Gumagalaw talaksan Mga naglalarawan
Ang operator ng pag-redirect

[n]<&tambilang-

gumagalaw ang file descriptor tambilang sa file descriptor n, o ang karaniwang input (file
descriptor 0) kung n ay hindi tinukoy. tambilang ay sarado pagkatapos ma-duplicate sa n.

Katulad nito, ang operator ng pag-redirect

[n]>&tambilang-

gumagalaw ang file descriptor tambilang sa file descriptor n, o ang karaniwang output (file
descriptor 1) kung n ay hindi tinukoy.

Pagbubukas talaksan Mga naglalarawan para Pagbabasa at Pagsulat
Ang operator ng pag-redirect

[n]<>salita

nagiging sanhi ng file na ang pangalan ay pagpapalawak ng salita upang mabuksan para sa parehong pagbabasa at
pagsulat sa file descriptor n, o sa file descriptor 0 if n ay hindi tinukoy. Kung ang file
ay hindi umiiral, ito ay nilikha.

MGA ALIASE


Aliases payagan ang isang string na palitan para sa isang salita kapag ito ay ginamit bilang unang salita ng a
simpleng utos. Ang shell ay nagpapanatili ng isang listahan ng mga alias na maaaring itakda at i-unset sa
bansag at Unalias builtin command (tingnan KABIBI BUILTIN UTOS sa ibaba). Ang unang salita ng
bawat simpleng utos, kung hindi sinipi, ay sinusuri upang makita kung mayroon itong alias. Kung gayon, ang salitang iyon
ay pinalitan ng text ng alias. Ang mga karakter /, $, `, at = at alinman sa shell
metacharacter o ang pagsipi ng mga character na nakalista sa itaas ay maaaring hindi lumitaw sa isang pangalan ng alyas. Ang
Ang kapalit na text ay maaaring maglaman ng anumang wastong shell input, kabilang ang mga shell metacharacter. Ang
ang unang salita ng kapalit na text ay sinubok para sa mga alias, ngunit isang salita na kapareho ng
ang isang alias na pinalawak ay hindi pinalawak sa pangalawang pagkakataon. Nangangahulugan ito na ang isa ay maaaring alias ls
sa ls -F, halimbawa, at malakas na palo ay hindi sinusubukang i-recursively palawakin ang kapalit na text.
Kung ang huling character ng alias value ay a blangko, pagkatapos ay ang susunod na command word na sumusunod
ang alias ay sinusuri din para sa pagpapalawak ng alias.

Ang mga alyas ay nilikha at nakalista kasama ang bansag utos, at inalis gamit ang Unalias
utos.

Walang mekanismo para sa paggamit ng mga argumento sa kapalit na teksto. Kung ang mga argumento ay
kinakailangan, dapat gumamit ng isang function ng shell (tingnan Mga function sa ibaba).

Ang mga alyas ay hindi pinalawak kapag ang shell ay hindi interactive, maliban kung ang expand_aliases
Ang pagpipiliang shell ay nakatakda gamit ang tindahan (tingnan ang paglalarawan ng tindahan sa ilalim KABIBI BUILTIN UTOS
sa ibaba).

Ang mga patakaran tungkol sa kahulugan at paggamit ng mga alias ay medyo nakakalito. Malakas na palo
palaging nagbabasa ng kahit isang kumpletong linya ng input bago isagawa ang alinman sa mga command sa
linyang iyon. Ang mga alias ay pinalawak kapag ang isang command ay nabasa, hindi kapag ito ay naisakatuparan.
Samakatuwid, ang isang kahulugan ng alias na lumilitaw sa parehong linya bilang isa pang command ay hindi tumatagal
epekto hanggang sa mabasa ang susunod na linya ng input. Ang mga utos na sumusunod sa kahulugan ng alias
sa linyang iyon ay hindi apektado ng bagong alias. Ang pag-uugali na ito ay isang isyu din kapag
ang mga function ay naisakatuparan. Ang mga alyas ay pinalawak kapag ang isang kahulugan ng function ay binasa, hindi kung kailan
ang function ay naisakatuparan, dahil ang kahulugan ng function ay mismong isang compound command. Bilang
isang kinahinatnan, ang mga alias na tinukoy sa isang function ay hindi magagamit hanggang pagkatapos ng function na iyon
ay pinaandar. Para maging ligtas, palaging ilagay ang mga kahulugan ng alias sa isang hiwalay na linya, at huwag gumamit
bansag sa tambalang utos.

Para sa halos lahat ng layunin, ang mga alias ay pinapalitan ng mga function ng shell.

Mga function


Isang function ng shell, na tinukoy bilang inilarawan sa itaas sa ilalim KABIBI GRAMATIKA, nag-iimbak ng serye ng
mga utos para sa susunod na pagpapatupad. Kapag ang pangalan ng isang shell function ay ginamit bilang isang simple
pangalan ng command, ang listahan ng mga command na nauugnay sa pangalan ng function na iyon ay isinasagawa.
Ang mga pag-andar ay isinasagawa sa konteksto ng kasalukuyang shell; walang bagong proseso na nilikha para
bigyang-kahulugan ang mga ito (ihambing ito sa pagpapatupad ng isang script ng shell). Kapag ang isang function ay
naisakatuparan, ang mga argumento sa function ay nagiging positional na mga parameter sa panahon nito
pagbitay. Ang espesyal na parameter # ay na-update upang ipakita ang pagbabago. Espesyal na parameter 0
ay hindi nagbabago. Ang unang elemento ng FUNCNAME variable ay nakatakda sa pangalan ng
function habang isinasagawa ang function.

Ang lahat ng iba pang aspeto ng shell execution environment ay magkapareho sa pagitan ng isang function at
tumatawag nito kasama ang mga pagbubukod na ito: ang MGA DEBUG at RETURN mga bitag (tingnan ang paglalarawan ng
bitag builtin sa ilalim KABIBI BUILTIN UTOS sa ibaba) ay hindi minana maliban kung mayroon ang function
nabigyan ng kopyahin o sipiin sa pamamagitan ng pag-aninag katangian (tingnan ang paglalarawan ng magpahayag builtin sa ibaba) o ang
-o function Ang pagpipiliang shell ay pinagana gamit ang itakda builtin (kung saan ang lahat
ang mga function ay namamana ng MGA DEBUG at RETURN mga bitag), at ang Magkamali ang bitag ay hindi namamana maliban kung
ang -o errtrace Pinagana ang opsyon ng shell.

Ang mga variable na lokal sa function ay maaaring ideklara gamit ang lokal builtin na utos.
Karaniwan, ang mga variable at ang kanilang mga halaga ay ibinabahagi sa pagitan ng function at ng tumatawag nito.

Ang PINAKA-FUNCNEST variable, kung nakatakda sa isang numeric na halaga na higit sa 0, ay tumutukoy sa isang maximum
antas ng function nesting. Ang mga function na invocation na lumampas sa limitasyon ay nagiging sanhi ng kabuuan
utos na ipalaglag.

Kung ang builtin command pagbabalik ay executed sa isang function, ang function ay nakumpleto at
magpapatuloy ang execution sa susunod na command pagkatapos ng function call. Anumang utos na nauugnay
sa RETURN ang bitag ay isinasagawa bago ipagpatuloy ang pagpapatupad. Kapag nakumpleto ang isang function, ang
mga halaga ng mga positional na parameter at ang espesyal na parameter # ay naibalik sa mga halaga
mayroon sila bago ang pagpapatupad ng function.

Maaaring nakalista ang mga pangalan at kahulugan ng function kasama ng -f opsyon sa magpahayag or typeset
builtin na mga utos. Ang -F pagpipilian sa magpahayag or typeset ililista lamang ang mga pangalan ng function
(at opsyonal ang source file at line number, kung ang extdebug pinagana ang opsyon ng shell).
Maaaring i-export ang mga function upang awtomatikong matukoy ng mga subshell ang mga ito gamit ang -f
opsyon sa i-export builtin. Maaaring tanggalin ang isang kahulugan ng function gamit ang -f pagpipilian sa
ang i-unset builtin. Tandaan na maaaring magresulta ang mga function at variable ng shell na may parehong pangalan
sa maramihang magkakaparehong pangalan na mga entry sa kapaligiran na ipinasa sa mga bata ng shell.
Ang pangangalaga ay dapat gawin sa mga kaso kung saan ito ay maaaring magdulot ng problema.

Maaaring recursive ang mga function. Ang PINAKA-FUNCNEST variable ay maaaring gamitin upang limitahan ang lalim ng
function call stack at higpitan ang bilang ng mga function invocation. Bilang default, walang limitasyon
ay ipinapataw sa bilang ng mga recursive na tawag.

ARITMETIKO Paghusga


Ang shell ay nagbibigay-daan sa mga arithmetic expression na masuri, sa ilalim ng ilang mga pangyayari (tingnan
ang pabayaan at magpahayag builtin command at Pang-aritmetika Paglawak). Ginagawa ang pagsusuri sa
fixed-width integer na walang check para sa overflow, kahit na ang dibisyon sa pamamagitan ng 0 ay nakulong at
na-flag bilang isang error. Ang mga operator at ang kanilang precedence, associativity, at values ​​ay
katulad ng sa wikang C. Ang sumusunod na listahan ng mga operator ay nakapangkat sa mga antas ng
mga operator ng equal-precedence. Ang mga antas ay nakalista sa pagkakasunud-sunod ng pagpapababa ng precedence.

id++ id--
variable post-increment at post-decrement
++id --id
variable na pre-increment at pre-decrement
- + unary minus at plus
! ~ lohikal at bitwise negation
** pagpaparami
* / % multiplikasyon, paghahati, natitira
+ - karagdagan, pagbabawas
<< >> kaliwa at kanan bitwise shifts
<= >= < >
paghahambing
== != pagkakapantay-pantay at hindi pagkakapantay-pantay
& bitwise AT
^ bitwise eksklusibo O
| bitwise O
&& lohikal AT
|| lohikal O
ipahayag?ipahayag:ipahayag
may kondisyong operator
= *= /= %= += -= << = >> = &= ^= |=
trabaho
expr1 , expr2
comma

Ang mga variable ng shell ay pinapayagan bilang mga operand; Ang pagpapalawak ng parameter ay isinasagawa bago ang
nasusuri ang ekspresyon. Sa loob ng isang expression, ang mga variable ng shell ay maaari ding i-reference ng
pangalan nang hindi ginagamit ang syntax ng pagpapalawak ng parameter. Isang shell variable na null o hindi nakatakda
sinusuri sa 0 kapag nire-reference ng pangalan nang hindi ginagamit ang syntax ng pagpapalawak ng parameter. Ang
ang halaga ng isang variable ay sinusuri bilang isang aritmetika na expression kapag ito ay isinangguni, o
kapag ang isang variable na ibinigay ang kabuuan gamit ang katangian magpahayag -i ay itinalaga a
halaga. Ang isang null na halaga ay nagsusuri sa 0. Ang isang shell variable ay hindi kailangang magkaroon nito kabuuan katangian
naka-on para magamit sa isang expression.

Ang mga constant na may nangungunang 0 ay binibigyang kahulugan bilang mga octal na numero. Ang isang nangungunang 0x o 0X ay nagpapahiwatig
hexadecimal. Kung hindi, ang mga numero ay nasa anyo [base#]n, kung saan ang opsyonal base ay isang
decimal na numero sa pagitan ng 2 at 64 na kumakatawan sa arithmetic base, at n ay isang numero sa
na base. Kung base# ay tinanggal, pagkatapos ay ginagamit ang base 10. Kapag tinukoy n, ang mga digit
mas malaki< sa 9 ay kinakatawan ng maliliit na titik, malalaking titik, @, at _,
sa ayos na iyon. Kung base ay mas mababa sa o katumbas ng 36, ang maliliit at malalaking titik ay maaaring
gamitin nang palitan upang kumatawan sa mga numero sa pagitan ng 10 at 35.

Ang mga operator ay sinusuri sa pagkakasunud-sunod ng pangunguna. Ang mga sub-expression sa panaklong ay
sinusuri muna at maaaring i-override ang mga panuntunan sa pangunguna sa itaas.

KONDISYONAL MGA PAGPAPAHAYAG


Ang mga kondisyong ekspresyon ay ginagamit ng [[ tambalang utos at ang pagsusulit at [ builtin
mga utos upang subukan ang mga katangian ng file at magsagawa ng mga paghahambing ng string at arithmetic.
Ang mga ekspresyon ay nabuo mula sa mga sumusunod na unary o binary na primarya. Kung mayroon man file argumento
sa isa sa mga primarya ay sa anyo /dev/fd/n, pagkatapos ay file descriptor n ay sinusuri. Kung
ang file argumento sa isa sa mga primarya ay isa sa /dev/stdin, /dev/stdout, O
/dev/stderr, ang file descriptor 0, 1, o 2, ayon sa pagkakabanggit, ay may check.

Maliban kung tinukoy, ang mga primaryang gumagana sa mga file ay sumusunod sa mga simbolikong link at
gumana sa target ng link, sa halip na sa link mismo.

Kapag ginamit sa [[, ang < at > ang mga operator ay nag-uuri ayon sa leksikograpikal gamit ang kasalukuyang lokal.
Ang pagsusulit pag-uuri ng command gamit ang pag-order ng ASCII.

-a file
Totoo kung file umiiral.
-b file
Totoo kung file umiiral at ito ay isang block na espesyal na file.
-c file
Totoo kung file umiiral at isang espesyal na file ng character.
-d file
Totoo kung file umiiral at ito ay isang direktoryo.
-e file
Totoo kung file umiiral.
-f file
Totoo kung file umiiral at isang regular na file.
-g file
Totoo kung file umiiral at set-group-id.
-h file
Totoo kung file umiiral at isang simbolikong link.
-k file
Totoo kung file umiiral at nakatakda ang ``sticky'' bit nito.
-p file
Totoo kung file umiiral at isang pinangalanang tubo (FIFO).
-r file
Totoo kung file umiiral at nababasa.
-s file
Totoo kung file umiiral at may sukat na higit sa zero.
-t fd True kung file descriptor fd ay bukas at tumutukoy sa isang terminal.
-u file
Totoo kung file umiiral at nakatakda ang set-user-id bit nito.
-w file
Totoo kung file umiiral at nasusulat.
-x file
Totoo kung file umiiral at maipapatupad.
-G file
Totoo kung file umiiral at pagmamay-ari ng epektibong group id.
-L file
Totoo kung file umiiral at isang simbolikong link.
-N file
Totoo kung file umiiral at binago mula noong huli itong nabasa.
-O file
Totoo kung file umiiral at pagmamay-ari ng epektibong user id.
-S file
Totoo kung file umiiral at isang socket.
file1 -kung file2
Totoo kung file1 at file2 sumangguni sa parehong aparato at mga numero ng inode.
file1 -nt file2
Totoo kung file1 ay mas bago (ayon sa petsa ng pagbabago) kaysa file2, o kaya file1
umiiral at file2 ay hindi.
file1 -ot file2
Totoo kung file1 ay mas matanda kaysa sa file2, o kaya file2 umiiral at file1 ay hindi.
-o optname
Totoo kung ang pagpipilian sa shell optname ay pinagana. Tingnan ang listahan ng mga opsyon sa ilalim ng
paglalarawan ng mga -o opsyon sa itakda builtin sa ibaba.
-v varname
Tama kung ang shell variable varname ay nakatakda (naitalaga ang isang halaga).
-R varname
Tama kung ang shell variable varname ay nakatakda at isang sanggunian ng pangalan.
-z pisi
Tama kung ang haba ng pisi ay zero.
pisi
-n pisi
Tama kung ang haba ng pisi ay hindi zero.

string1 == string2
string1 = string2
Tama kung ang mga string ay pantay. = dapat gamitin kasama ng pagsusulit utos para sa POSIX
pagkakasundo. Kapag ginamit kasama ng [[ command, nagsasagawa ito ng pagtutugma ng pattern bilang
inilarawan sa itaas (Compound Command).

string1 != string2
Tama kung ang mga string ay hindi pantay.

string1 < string2
Totoo kung string1 sorts dati string2 leksikograpikal.

string1 > string2
Totoo kung string1 nag-uuri pagkatapos string2 leksikograpikal.

arg1 OP arg2
OP ay isa sa -eq, - ay, -lt, -ang, -gt, O -ge. Ang mga arithmetic binary operator na ito
ibalik ang totoo kung arg1 ay katumbas ng, hindi katumbas ng, mas mababa sa, mas mababa sa o katumbas ng,
mas malaki kaysa, o mas malaki kaysa o katumbas ng arg2, Ayon sa pagkakabanggit. arg1 at arg2 maaaring hindi
positibo o negatibong integer.

SIMPLE COMMAND EXPANSION


Kapag ang isang simpleng command ay naisakatuparan, ang shell ay nagsasagawa ng mga sumusunod na pagpapalawak,
mga takdang-aralin, at mga pag-redirect, mula kaliwa hanggang kanan.

1. Ang mga salita na minarkahan ng parser bilang mga variable na takdang-aralin (ang mga nauna sa
command name) at mga pag-redirect ay nai-save para sa pagproseso sa ibang pagkakataon.

2. Ang mga salitang hindi variable na takdang-aralin o pag-redirect ay pinalawak. Kung mayroon man
ang mga salita ay nananatili pagkatapos ng pagpapalawak, ang unang salita ay kinuha bilang pangalan ng utos
at ang natitirang mga salita ay ang mga argumento.

3. Isinasagawa ang mga pag-redirect gaya ng inilarawan sa itaas sa ilalim REDIREKSYON.

4. Ang teksto pagkatapos ng = sa bawat variable na pagtatalaga ay sumasailalim sa pagpapalawak ng tilde,
pagpapalawak ng parameter, pagpapalit ng command, pagpapalawak ng arithmetic, at pag-alis ng quote
bago italaga sa variable.

Kung walang resulta ng pangalan ng command, makakaapekto ang mga variable na pagtatalaga sa kasalukuyang kapaligiran ng shell.
Kung hindi, ang mga variable ay idinagdag sa kapaligiran ng executed command at hindi
nakakaapekto sa kasalukuyang kapaligiran ng shell. Kung ang alinman sa mga takdang-aralin ay nagtatangkang magtalaga ng a
value sa isang readonly na variable, may naganap na error, at ang command ay lumabas na may non-zero
status.

Kung walang resulta ng pangalan ng command, ang mga pag-redirect ay isinasagawa, ngunit hindi makakaapekto sa kasalukuyang
kapaligiran ng shell. Ang isang error sa pag-redirect ay nagiging sanhi ng pag-alis ng command na may status na hindi zero.

Kung may natitira pang pangalan ng command pagkatapos ng pagpapalawak, magpapatuloy ang pagpapatupad gaya ng inilarawan sa ibaba.
Kung hindi, lalabas ang command. Kung ang isa sa mga pagpapalawak ay naglalaman ng command substitution,
ang exit status ng command ay ang exit status ng huling command substitution
gumanap. Kung walang mga pagpapalit ng command, lalabas ang command na may status na
zero.

COMMAND Pagpapatupad


Matapos mahati ang isang utos sa mga salita, kung magreresulta ito sa isang simpleng utos at isang
opsyonal na listahan ng mga argumento, ang mga sumusunod na aksyon ay ginawa.

Kung ang pangalan ng command ay walang mga slash, sinusubukan ng shell na hanapin ito. Kung meron
isang function ng shell sa pamamagitan ng pangalang iyon, ang function na iyon ay ginagamit tulad ng inilarawan sa itaas sa Mga function.
Kung hindi tumutugma ang pangalan sa isang function, hahanapin ito ng shell sa listahan ng shell
builtins. Kung may nakitang tugma, ipapatawag ang builtin na iyon.

Kung ang pangalan ay hindi isang shell function o isang builtin, at hindi naglalaman ng mga slash, malakas na palo
hinahanap ang bawat elemento ng PATH para sa isang direktoryo na naglalaman ng isang maipapatupad na file sa pamamagitan ng iyon
pangalan. Malakas na palo gumagamit ng hash table para matandaan ang buong pathname ng mga executable file (tingnan ang sumira
sa ilalim KABIBI BUILTIN UTOS sa ibaba). Isang buong paghahanap ng mga direktoryo sa PATH is
gumanap lamang kung ang command ay hindi matatagpuan sa hash table. Kung ang paghahanap ay
hindi matagumpay, ang shell ay naghahanap ng isang tinukoy na function ng shell na pinangalanan
command_not_found_handle. Kung ang function na iyon ay umiiral, ito ay ginagamit kasama ang orihinal
command at ang mga argumento ng orihinal na command bilang mga argumento nito, at ang paglabas ng function
ang status ay nagiging exit status ng shell. Kung ang function na iyon ay hindi tinukoy, ang shell
nagpi-print ng mensahe ng error at nagbabalik ng exit status na 127.

Kung matagumpay ang paghahanap, o kung ang pangalan ng command ay naglalaman ng isa o higit pang mga slash, ang
Isinasagawa ng shell ang pinangalanang programa sa isang hiwalay na kapaligiran ng pagpapatupad. Nakatakda ang argumento 0
sa ibinigay na pangalan, at ang natitirang mga argumento sa utos ay nakatakda sa mga argumento
ibinigay, kung mayroon man.

Kung nabigo ang pagpapatupad na ito dahil ang file ay wala sa executable na format, at ang file ay wala
isang direktoryo, ito ay ipinapalagay na isang talukap ng alimango script, isang file na naglalaman ng mga shell command. A
subshell ay spawned upang isagawa ito. Ang subshell na ito ay muling sinisimulan ang sarili, upang ang epekto
ay parang isang bagong shell ang tinawag upang hawakan ang script, maliban sa ang
mga lokasyon ng mga utos na naaalala ng magulang (tingnan sumira Sa ilalim ng KABIBI BUILTIN
UTOS) ay pinanatili ng bata.

Kung ang programa ay isang file na nagsisimula sa #!, ang natitira sa unang linya ay tumutukoy sa isang
interpreter para sa programa. Isinasagawa ng shell ang tinukoy na interpreter sa pagpapatakbo
mga system na hindi sila mismo ang humahawak sa executable na format na ito. Ang mga argumento sa
interpreter ay binubuo ng isang opsyonal na argumento kasunod ng pangalan ng interpreter sa
unang linya ng programa, na sinusundan ng pangalan ng programa, na sinusundan ng utos
mga argumento, kung mayroon man.

COMMAND Pagpapatupad Kapaligiran


Ang shell ay may isang pagpapatupad kapaligiran, na binubuo ng mga sumusunod:

· buksan ang mga file na minana ng shell sa invocation, na binago ng mga redirection
ibinigay sa exec builtin

· ang kasalukuyang gumaganang direktoryo bilang itinakda ni cd, pushd, O popd, o minana ng
shell sa panawagan

· ang mask ng mode ng paglikha ng file bilang itinakda ni umask o minana sa magulang ng shell

· kasalukuyang mga bitag na itinakda ni bitag

· mga parameter ng shell na itinakda ng variable na pagtatalaga o kasama itakda o minana mula sa
ang magulang ng shell sa kapaligiran

· mga function ng shell na tinukoy sa panahon ng pagpapatupad o minana mula sa parent ng shell sa
kapaligiran

· mga opsyon na pinagana sa invocation (alinman sa default o may command-line arguments) o
by itakda

· mga opsyon na pinagana ng tindahan

· mga shell aliases na tinukoy sa bansag

· iba't ibang mga ID ng proseso, kabilang ang mga trabaho sa background, ang halaga ng $$, at ang
halaga ng PPID

Kapag ang isang simpleng command maliban sa isang builtin o shell function ay isasagawa, ito ay
hinihingi sa isang hiwalay na kapaligiran ng pagpapatupad na binubuo ng mga sumusunod. Maliban kung
kung hindi man ay nabanggit, ang mga halaga ay minana mula sa shell.

· mga bukas na file ng shell, kasama ang anumang mga pagbabago at pagdaragdag na tinukoy ni
mga pag-redirect sa utos

· ang kasalukuyang gumaganang direktoryo

· ang mask ng mode ng paggawa ng file

· mga variable at function ng shell na minarkahan para sa pag-export, kasama ang mga variable na na-export para sa
ang utos, ipinasa sa kapaligiran

· Ang mga bitag na nahuli ng shell ay ni-reset sa mga halagang minana mula sa shell
magulang, at ang mga bitag na hindi pinansin ng shell ay binabalewala

Ang isang utos na hinihimok sa hiwalay na kapaligiran na ito ay hindi makakaapekto sa pagpapatupad ng shell
kapaligiran.

Ang pagpapalit ng utos, mga utos na nakapangkat sa mga panaklong, at mga asynchronous na utos ay
invoked sa isang subshell environment na duplicate ng shell environment, maliban sa
na ang mga bitag na nahuli ng shell ay ni-reset sa mga value na minana ng shell mula dito
magulang sa panawagan. Ang mga built-in na command na ginagamit bilang bahagi ng isang pipeline ay din
isinagawa sa isang subshell na kapaligiran. Ang mga pagbabagong ginawa sa kapaligiran ng subshell ay hindi maaaring
makakaapekto sa kapaligiran ng pagpapatupad ng shell.

Ang mga subshell na nabuo upang magsagawa ng mga pagpapalit ng command ay namamana ng halaga ng -e pagpipilian mula sa
ang parent shell. Kapag hindi papasok posix fashion, malakas na palo nililinis ang -e opsyon sa naturang mga subshell.

Kung ang isang utos ay sinusunod ng a & at ang kontrol sa trabaho ay hindi aktibo, ang default na karaniwang input
para sa utos ay ang walang laman na file / dev / null. Kung hindi, ang invoked command ay nagmamana ng
mga deskriptor ng file ng shell ng pagtawag na binago ng mga pag-redirect.

Kapaligiran


Kapag ang isang programa ay na-invoke ito ay binibigyan ng isang hanay ng mga string na tinatawag na kapaligiran. Ito ay
isang listahan ng mga pangalan-halaga pares, ng anyo pangalan=halaga.

Ang shell ay nagbibigay ng ilang mga paraan upang manipulahin ang kapaligiran. Sa invocation, ang shell
ini-scan ang sarili nitong kapaligiran at gumagawa ng parameter para sa bawat pangalan na natagpuan, awtomatiko
pagmamarka nito para sa i-export sa mga proseso ng bata. Ang mga naisagawang utos ay namamana ng kapaligiran. Ang
i-export at magpahayag -x pinahihintulutan ng mga utos ang mga parameter at function na maidagdag at matanggal
mula sa kapaligiran. Kung ang halaga ng isang parameter sa kapaligiran ay binago, ang bago
ang halaga ay nagiging bahagi ng kapaligiran, na pinapalitan ang luma. Ang kapaligirang minana ni
anumang naisagawang utos ay binubuo ng paunang kapaligiran ng shell, na ang mga halaga ay maaaring
binago sa shell, mas mababa ang anumang mga pares na inalis ng i-unset command, kasama ang anumang mga karagdagan sa pamamagitan ng
ang i-export at magpahayag -x utos.

Ang kapaligiran para sa anumang simple utos o function ay maaaring pansamantalang dagdagan ng
prefixing ito ng mga takdang-aralin ng parameter, tulad ng inilarawan sa itaas sa MGA PARAMETERS. Mga ito
Ang mga pahayag ng pagtatalaga ay nakakaapekto lamang sa kapaligiran na nakikita ng utos na iyon.

Kung ang -k nakatakda ang opsyon (tingnan ang itakda builtin command sa ibaba), pagkatapos lahat parametro
ang mga takdang-aralin ay inilalagay sa kapaligiran para sa isang utos, hindi lamang ang mga nauuna sa
pangalan ng utos.

Kailan malakas na palo humihingi ng panlabas na utos, ang variable _ ay nakatakda sa buong filename ng
utos at ipinasa sa utos na iyon sa kapaligiran nito.

EXIT STATUS


Ang exit status ng isang executed command ay ang value na ibinalik ng waitpid system call o
katumbas na function. Ang mga exit status ay nasa pagitan ng 0 at 255, gayunpaman, tulad ng ipinaliwanag sa ibaba,
ang shell ay maaaring gumamit ng mga halaga sa itaas ng 125 lalo na. Lumabas sa mga status mula sa shell builtin at
Ang mga compound command ay limitado rin sa hanay na ito. Sa ilalim ng ilang mga pangyayari, ang shell
gagamit ng mga espesyal na halaga upang ipahiwatig ang mga partikular na mode ng pagkabigo.

Para sa mga layunin ng shell, nagtagumpay ang isang command na lumabas na may zero exit status. An
Ang exit status ng zero ay nagpapahiwatig ng tagumpay. Ang non-zero exit status ay nagpapahiwatig ng pagkabigo. Kapag a
utos ay nagtatapos sa isang nakamamatay na signal N, malakas na palo gumagamit ng value na 128+N bilang exit status.

Kung ang isang utos ay hindi natagpuan, ang proseso ng bata na ginawa upang maisagawa ito ay nagbabalik ng isang katayuan ng
127. Kung ang isang command ay natagpuan ngunit hindi maipapatupad, ang return status ay 126.

Kung nabigo ang isang command dahil sa isang error sa panahon ng pagpapalawak o pag-redirect, ang exit status ay
mas malaki sa zero.

Ang mga Shell builtin command ay nagbabalik ng katayuan na 0 (totoo) kung matagumpay, at hindi zero (hindi totoo) kung
isang error ang nangyayari habang sila ay nagpapatupad. Ang lahat ng builtin ay nagbabalik ng exit status na 2 upang ipahiwatig
maling paggamit.

Malakas na palo ibinabalik mismo ang exit status ng huling utos na naisakatuparan, maliban kung may error sa syntax
nangyayari, kung saan lalabas ito nang may hindi zero na halaga. Tingnan din ang lumabas builtin na utos
sa ibaba.

Mga TANDA


Kailan malakas na palo ay interactive, sa kawalan ng anumang mga bitag, binabalewala nito TARGET TERM (kaya nga pumatay 0
ay hindi pumatay ng isang interactive na shell), at TANDAAN ay hinuhuli at hinahawakan (upang ang maghintay
ang builtin ay naaantala). Sa lahat ng pagkakataon, malakas na palo binabalewala SUMUSUNOD. Kung ang kontrol sa trabaho ay nasa
epekto, malakas na palo binabalewala SIGTTIN, SIGTTOU, at SIGTSTP.

Mga non-built na command na pinapatakbo ng malakas na palo may mga signal handler na nakatakda sa mga value na minana ng
shell mula sa magulang nito. Kapag walang bisa ang kontrol sa trabaho, binabalewala ng mga asynchronous na command
TANDAAN at SUMUSUNOD bilang karagdagan sa mga minanang humahawak na ito. Ang mga utos ay tumatakbo bilang resulta ng
pagpapalit ng command huwag pansinin ang mga signal ng kontrol sa trabaho na binuo ng keyboard SIGTTIN, SIGTTOU,
at SIGTSTP.

Ang shell ay lalabas bilang default kapag natanggap ang a FOLLOW UP. Bago lumabas, isang interactive na shell
ipinadala muli ang FOLLOW UP sa lahat ng trabaho, tumatakbo o huminto. Ipinapadala ang mga natigil na trabaho NEXTCONT sa
tiyaking matatanggap nila ang FOLLOW UP. Upang maiwasan ang shell mula sa pagpapadala ng signal sa a
partikular na trabaho, dapat itong alisin sa talahanayan ng mga trabaho kasama ang itakwil builtin (tingnan
KABIBI BUILTIN UTOS sa ibaba) o minarkahan na hindi tumanggap FOLLOW UP paggamit itakwil -h.

Kung ang huponexit ang pagpipiliang shell ay naitakda na sa tindahan, malakas na palo nagpapadala a FOLLOW UP sa lahat ng trabaho
kapag lumabas ang isang interactive login shell.

If malakas na palo ay naghihintay para sa isang utos na makumpleto at tumatanggap ng isang senyas kung saan mayroon ang isang bitag
naitakda, ang bitag ay hindi isasagawa hanggang sa makumpleto ang utos. Kailan malakas na palo ay naghihintay
para sa isang asynchronous na utos sa pamamagitan ng maghintay builtin, ang pagtanggap ng isang senyas kung saan a
bitag ay naitakda ay magiging sanhi ng maghintay builtin upang bumalik kaagad na may katayuan sa paglabas
higit sa 128, kaagad pagkatapos na ang bitag ay naisakatuparan.

Trabaho Kontrol


Trabaho kontrol ay tumutukoy sa kakayahang piliing huminto (suspindihin) ang pagsasagawa ng mga proseso
at magpatuloy (ipagpatuloy) ang kanilang pagpapatupad sa susunod na punto. Karaniwang ginagamit ito ng isang user
pasilidad sa pamamagitan ng isang interactive na interface na magkasamang ibinibigay ng kernel ng operating system
terminal driver at malakas na palo.

Ang shell ay nag-uugnay a trabaho sa bawat pipeline. Ito ay nagpapanatili ng isang talahanayan ng kasalukuyang pagpapatupad
mga trabaho, na maaaring nakalista sa trabaho utos. Kailan malakas na palo nagsisimula ng trabaho nang hindi magkakasabay
(nasa likuran), nagpi-print ito ng linya na parang:

1

na nagsasaad na ang trabahong ito ay numero 1 ng trabaho at ang process ID ng huling proseso sa
ang pipeline na nauugnay sa trabahong ito ay 25647. Lahat ng mga proseso sa iisang pipeline
ay mga miyembro ng parehong trabaho. Malakas na palo ay gumagamit ng trabaho abstraction bilang batayan para sa kontrol sa trabaho.

Upang mapadali ang pagpapatupad ng user interface sa trabaho control, ang operating
pinapanatili ng sistema ang paniwala ng a kasalukuyan pandulo paraan grupo ID. Mga miyembro nito
pangkat ng proseso (mga proseso na ang ID ng pangkat ng proseso ay katumbas ng kasalukuyang proseso ng terminal
group ID) tumanggap ng mga signal na binuo ng keyboard tulad ng TANDAAN. Ang mga prosesong ito ay sinasabing
maging sa harapan. likuran ang mga proseso ay yaong ang proseso ng grupo ID ay naiiba sa
ang terminal; ang mga naturang proseso ay immune sa mga signal na binuo ng keyboard. Foreground lang
ang mga proseso ay pinapayagang magbasa mula sa o, kung tinukoy ng user na may stty tostop, sumulat sa
ang terminal. Mga proseso sa background na nagtatangkang magbasa mula sa (sumulat sa kapag stty tostop
ay may bisa) ang terminal ay ipinadala a SIGTTIN (SIGTTOU) signal ng terminal ng kernel
driver, na, maliban kung mahuli, ay suspindihin ang proseso.

Kung ang operating system kung saan malakas na palo ang tumatakbo ay sumusuporta sa kontrol sa trabaho, malakas na palo naglalaman ng
pasilidad para magamit ito. Ang pagta-type ng suspindihin karakter (karaniwan ^Z, Control-Z) habang a
Ang proseso ay tumatakbo ay nagiging sanhi ng prosesong iyon upang ihinto at ibabalik ang kontrol sa malakas na palo. Nagta-type
ang antala suspindihin karakter (karaniwan ^Y, Control-Y) ang nagiging sanhi ng paghinto ng proseso
kapag sinubukan nitong basahin ang input mula sa terminal, at kontrol na ibabalik sa malakas na palo. ang
maaaring manipulahin ng user ang estado ng trabahong ito, gamit ang bg utos na ipagpatuloy ito sa
background, ang fg utos na ipagpatuloy ito sa harapan, o ang pumatay utos na pumatay
ito. A ^Z magkakabisa kaagad, at may karagdagang side effect na sanhi ng nakabinbin
output at typeahead na itatapon.

Mayroong ilang mga paraan upang sumangguni sa isang trabaho sa shell. Ang karakter % nagpapakilala a
detalye ng trabaho (jobspec). Numero ng trabaho n maaaring tinukoy bilang %n. Ang isang trabaho ay maaari ding
tinutukoy ang paggamit ng prefix ng pangalan na ginamit upang simulan ito, o paggamit ng substring na lalabas
sa command line nito. Halimbawa, %ce ay tumutukoy sa isang tumigil ce trabaho. Kung tumugma ang isang prefix
higit sa isang trabaho, malakas na palo nag-uulat ng error. Gamit %?ce, sa kabilang banda, ay tumutukoy sa alinman
trabaho na naglalaman ng string ce sa command line nito. Kung ang substring ay tumutugma sa higit sa isa
trabaho, malakas na palo nag-uulat ng error. Ang mga simbolo %% at %+ sumangguni sa paniwala ng shell ng
kasalukuyan trabaho, na siyang huling trabahong itinigil habang ito ay nasa harapan o nagsimula
ang background. Ang nakaraan trabaho maaaring sanggunian gamit %-. Kung meron lang single
trabaho, %+ at %- parehong maaaring gamitin upang sumangguni sa trabahong iyon. Sa output na nauukol sa mga trabaho (hal.,
ang output ng trabaho command), ang kasalukuyang trabaho ay palaging naka-flag ng a +, at ang
nakaraang trabaho sa a -. Ang isang solong % (na walang kasamang detalye ng trabaho) ay tumutukoy din sa
ang kasalukuyang trabaho.

Ang simpleng pagbibigay ng pangalan sa isang trabaho ay maaaring gamitin upang dalhin ito sa harapan: %1 ay isang kasingkahulugan para sa ``fg
%1'', dinadala ang trabaho 1 mula sa background papunta sa foreground. Katulad nito, ``%1 &'' Resume
trabaho 1 sa background, katumbas ng ``bg %1''.

Natututo kaagad ang shell sa tuwing nagbabago ang estado ng trabaho. Karaniwan, malakas na palo naghihintay hanggang dito
ay malapit nang mag-print ng prompt bago mag-ulat ng mga pagbabago sa katayuan ng trabaho upang hindi
matakpan ang anumang iba pang output. Kung ang -b opsyon sa itakda naka-enable ang builtin command, malakas na palo
nag-uulat kaagad ng gayong mga pagbabago. Kahit anong bitag SIGCHLD ay isinasagawa para sa bawat bata na
labasan.

Kung pagtatangka na lumabas malakas na palo ay ginawa habang ang mga trabaho ay huminto (o, kung ang checkjobs talukap ng alimango
ang opsyon ay pinagana gamit ang tindahan builtin, tumatakbo), ang shell ay nagpi-print ng babala
mensahe, at, kung ang checkjobs ang opsyon ay pinagana, naglilista ng mga trabaho at kanilang mga katayuan. Ang
trabaho maaaring gamitin ang command upang suriin ang kanilang katayuan. Kung ang pangalawang pagtatangka na lumabas ay
ginawa nang walang intervening command, ang shell ay hindi nagpi-print ng isa pang babala, at anuman
ang mga natigil na trabaho ay tinapos.

PAG-UUSAP


Kapag nagsasagawa ng interactive, malakas na palo ipinapakita ang pangunahing prompt PS1 kapag ito ay handa na
basahin ang isang command, at ang pangalawang prompt PS2 kapag nangangailangan ito ng karagdagang input upang makumpleto ang a
utos. Malakas na palo nagbibigay-daan sa mga prompt string na ito na ma-customize sa pamamagitan ng paglalagay ng bilang ng
backslash-escaped na mga espesyal na character na na-decode bilang mga sumusunod:
\a isang ASCII bell character (07)
\d ang petsa sa "Weekday Month Date" na format (hal., "Tue May 26")
\D{format}
ang format ay ipinasa sa strftime(3) at ang resulta ay ipinasok sa
prompt string; isang walang laman format nagreresulta sa isang oras na tukoy sa lokal
representasyon. Ang mga braces ay kinakailangan
\e isang ASCII escape character (033)
\h ang hostname hanggang sa unang `.'
\H ang hostname
\j ang bilang ng mga trabahong kasalukuyang pinamamahalaan ng shell
\l ang basename ng pangalan ng terminal device ng shell
\n bagong linya
\r pagbabalik ng karwahe
\s ang pangalan ng shell, ang basename ng $0 (ang bahagi pagkatapos ng final
slash)
\t ang kasalukuyang oras sa 24 na oras na HH:MM:SS na format
\T ang kasalukuyang oras sa 12 na oras na HH:MM:SS na format
\@ ang kasalukuyang oras sa 12-hour am/pm na format
\A ang kasalukuyang oras sa 24 na oras na HH:MM na format
\u ang username ng kasalukuyang user
\v ang bersyon ng malakas na palo (hal, 2.00)
\V ang paglabas ng malakas na palo, bersyon + antas ng patch (hal, 2.00.0)
\w ang kasalukuyang gumaganang direktoryo, na may $ HOME pinaikli ng isang tilde (gumagamit ng
halaga ng PROMPT_DIRTRIM variable)
\W ang basename ng kasalukuyang gumaganang direktoryo, na may $ HOME dinaglat ng a
tilda
\! ang numero ng kasaysayan ng utos na ito
\# ang command number ng command na ito
\$ kung ang epektibong UID ay 0, a #, kung hindi a $
\nnn ang karakter na katumbas ng octal number nnn
\\ isang backslash
\[ magsimula ng isang pagkakasunud-sunod ng mga hindi naka-print na character, na maaaring magamit upang mag-embed ng a
terminal control sequence sa prompt
\] tapusin ang isang pagkakasunud-sunod ng mga hindi naka-print na character

Karaniwang magkaiba ang command number at ang history number: ang history number ng a
command ay ang posisyon nito sa listahan ng kasaysayan, na maaaring kasama ang mga command na naibalik mula sa
history file (tingnan ang KASAYSAYAN sa ibaba), habang ang command number ay ang posisyon sa sequence
ng mga utos na isinagawa sa kasalukuyang sesyon ng shell. Matapos ma-decode ang string, ito ay
pinalawak sa pamamagitan ng pagpapalawak ng parameter, pagpapalit ng command, pagpapalawak ng arithmetic, at quote
pag-alis, napapailalim sa halaga ng promptvars pagpipiliang shell (tingnan ang paglalarawan ng
tindahan utos sa ilalim KABIBI BUILTIN UTOS sa ibaba).

BASAHIN ANG LINYA


Ito ang library na humahawak ng input sa pagbabasa kapag gumagamit ng interactive na shell, maliban kung ang
--noediting ang opsyon ay ibinibigay sa shell invocation. Ginagamit din ang pag-edit ng linya kapag ginagamit ang
-e opsyon sa basahin builtin. Bilang default, ang mga command sa pag-edit ng linya ay katulad ng mga iyon
ng Emacs. Available din ang isang vi-style line editing interface. Ang pag-edit ng linya ay maaaring
pinagana anumang oras gamit ang -o emacs or -o vi mga pagpipilian sa itakda builtin (tingnan KABIBI
BUILTIN UTOS sa ibaba). Upang i-off ang pag-edit ng linya pagkatapos tumakbo ang shell, gamitin ang +o
emacs or +o vi mga pagpipilian sa itakda builtin.

Basahin ang linya notasyon
Sa seksyong ito, ang Emacs-style notation ay ginagamit upang tukuyin ang mga keystroke. Ang mga control key ay
tinutukoy ng C-susi, hal, ang ibig sabihin ng Cn ay Control-N. Katulad nito, meta ang mga susi ay tinutukoy ng M-susi,
kaya ang ibig sabihin ng Mx ay Meta-X. (Sa mga keyboard na walang a meta susi, M-x ibig sabihin ay ESC x, ibig sabihin, pindutin ang
Escape key pagkatapos ay ang x susi. Ginagawa nitong ESC ang meta unlapi. Ang kumbinasyong MC-x paraan
ESC-Control-x, o pindutin ang Escape key pagkatapos ay hawakan ang Control key habang pinindot ang x
susi.)

Ang mga utos ng readline ay maaaring bigyan ng numero argumento, na karaniwang gumaganap bilang umuulit na bilang.
Minsan, gayunpaman, ito ay ang tanda ng argumento na makabuluhan. Pagpasa a
negatibong argumento sa isang utos na kumikilos sa direksyong pasulong (hal., kill-line) sanhi
ang utos na iyon na kumilos sa pabalik na direksyon. Mga utos na ang pag-uugali ay may mga argumento
ang mga paglihis dito ay nakasaad sa ibaba.

Kapag ang isang utos ay inilarawan bilang nakamamatay text, ang text na tinanggal ay ise-save para sa posibleng hinaharap
pagkuha (humihikab). Ang pinatay na teksto ay nai-save sa a pumatay singsing. Sunud-sunod na pagpatay dahilan
ang teksto na maiipon sa isang yunit, na maaaring makuha nang sabay-sabay. Mga utos na
huwag patayin ang text paghiwalayin ang mga tipak ng text sa kill ring.

Basahin ang linya Pinasimulan
Ang Readline ay na-customize sa pamamagitan ng paglalagay ng mga command sa isang initialization file (ang inputrc file)
Ang pangalan ng file na ito ay kinuha mula sa halaga ng INPUTRC variable. Kung ang variable na iyon
ay hindi nakatakda, ang default ay ~ / .inputrc. Kapag ang isang programa na gumagamit ng readline library
magsisimula, binabasa ang initialization file, at itinakda ang mga key binding at variable.
Mayroon lamang ilang mga pangunahing konstruksyon na pinapayagan sa readline initialization file. Blanko
hindi pinapansin ang mga linya. Mga linyang nagsisimula sa a # ay mga komento. Mga linyang nagsisimula sa a $
ipahiwatig ang mga kondisyong konstruksyon. Ang ibang mga linya ay tumutukoy sa mga key binding at variable na setting.

Ang mga default na key-binding ay maaaring baguhin gamit ang isang inputrc file. Iba pang mga program na gumagamit
ang library na ito ay maaaring magdagdag ng sarili nilang mga command at binding.

Halimbawa, paglalagay

M-Control-u: universal-argument
or
C-Meta-u: universal-argument
sa inputrc gagawing isagawa ng MCu ang readline command universal-argument.

Ang mga sumusunod na simbolikong pangalan ng karakter ay kinikilala: RUBOUT, ANG, ESC, LFD, BAGONG LINYA,
Magpabasa, RETURN, SPC, Puwang, at TAB.

Bilang karagdagan sa mga pangalan ng command, pinapayagan ng readline ang mga key na itali sa isang string na
ipinasok kapag pinindot ang key (a macro).

Basahin ang linya Key Mga binding
Ang syntax para sa pagkontrol ng mga key binding sa inputrc simple lang ang file. Lahat yan
kinakailangan ay ang pangalan ng command o ang teksto ng isang macro at isang key sequence kung saan ito
dapat itali. Maaaring tukuyin ang pangalan sa isa sa dalawang paraan: bilang simbolikong pangalan ng susi,
posibleng kasama Meta- or Control- prefix, o bilang key sequence.

Kapag ginagamit ang form keyname:function-name or macro, keyname ay ang pangalan ng isang key na nabaybay
out sa English. Halimbawa:

Control-u: universal-argument
Meta-Rubout: paatras-kill-word
Control-o: "> output"

Sa halimbawa sa itaas, Cu ay nakatali sa function universal-argument, M-DEL ay nakasalalay sa
ang function na backward-kill-word, at Co ay tiyak na patakbuhin ang macro na ipinahayag sa kanan
gilid ng kamay (iyon ay, upang ipasok ang teksto ``> output'' sa linya).

Sa pangalawang anyo, "keyseq":function-name or macro, keyseq naiiba mula sa keyname sa itaas sa
na ang mga string na nagsasaad ng isang buong key sequence ay maaaring tukuyin sa pamamagitan ng paglalagay ng sequence
sa loob ng dobleng panipi. Maaaring gamitin ang ilang GNU Emacs style key escapes, tulad ng sa mga sumusunod
halimbawa, ngunit ang mga simbolikong pangalan ng karakter ay hindi kinikilala.

"\Cu": universal-argument
"\Cx\Cr": muling basahin ang init-file
"\e[11~": "Susi ng Function 1"

Sa halimbawang ito, Cu ay muling nakatali sa function universal-argument. Cx Cr ay nakatali
sa function basahin muli ang init-file, at ESC [ 1 1 ~ ay nakatali na ipasok ang tekstong ``Function
Susi 1''.

Ang buong set ng GNU Emacs style escape sequences ay
\C- kontrolin ang prefix
\M- meta prefix
\e isang karakter sa pagtakas
\\ pagtalikod
\" literal"
\' literal '

Bilang karagdagan sa GNU Emacs style escape sequence, ang pangalawang set ng backslash escapes ay
Available ang:
\a alerto (kampana)
\b backspace
\d alisin
\f form feed
\n bagong linya
\r pagbabalik ng karwahe
\t pahalang na tab
\v patayong tab
\nnn ang walong-bit na karakter na ang halaga ay ang octal na halaga nnn (isa hanggang tatlo
digit)
\xHH ang walong-bit na character na ang halaga ay ang hexadecimal na halaga HH (isa o dalawa
hex digit)

Kapag naglalagay ng teksto ng isang macro, dapat gamitin ang isa o dobleng panipi upang ipahiwatig ang a
macro definition. Ang hindi naka-quote na text ay ipinapalagay na isang function name. Sa macro body, ang
Ang mga backslash escape na inilarawan sa itaas ay pinalawak. Ang backslash ay magsisipi ng anumang iba pang karakter
sa macro text, kasama ang " at '.

Malakas na palo nagbibigay-daan sa kasalukuyang readline key binding na maipakita o mabago gamit ang magtali
builtin na utos. Ang mode ng pag-edit ay maaaring ilipat sa panahon ng interactive na paggamit sa pamamagitan ng paggamit ng -o
opsyon sa itakda builtin command (tingnan KABIBI BUILTIN UTOS sa ibaba).

Basahin ang linya Variable
Ang Readline ay may mga variable na maaaring magamit upang higit pang i-customize ang gawi nito. Ang isang variable ay maaaring
itakda sa inputrc file na may pahayag ng form

itakda variable-pangalan halaga

Maliban kung nabanggit, ang mga variable ng readline ay maaaring kunin ang mga halaga On or Patay (nang walang pagsasaalang-alang sa
kaso). Binabalewala ang mga hindi nakikilalang pangalan ng variable. Kapag nabasa ang isang variable na halaga, walang laman o
null values, "on" (case-insensitive), at "1" ay katumbas ng On. Ang lahat ng iba pang mga halaga ay
katumbas ng Patay. Ang mga variable at ang kanilang mga default na halaga ay:

istilong kampana (naririnig)
Kinokontrol kung ano ang mangyayari kapag gustong i-ring ng readline ang terminal bell. Kung nakatakda sa
wala, hindi kailanman tumutunog ang readline. Kung nakatakda sa nakikita, ang readline ay gumagamit ng nakikita
bell kung may available. Kung nakatakda sa naririnig, sinusubukan ng readline na tawagan ang
kampana ng terminal.
bind-tty-special-chars (Bukas)
Kung itakda sa On, ang readline ay sumusubok na itali ang mga control character na espesyal na ginagamot ni
terminal driver ng kernel sa kanilang mga katumbas na readline.
colored-stats (Naka-off)
Kung itakda sa On, ang readline ay nagpapakita ng mga posibleng pagkumpleto gamit ang iba't ibang kulay sa
ipahiwatig ang kanilang uri ng file. Ang mga kahulugan ng kulay ay kinuha mula sa halaga ng
LS_COLORS variable ng kapaligiran.
komento-simulan (``#'')
Ang string na ipinasok kapag ang readline insert-comment naisakatuparan ang utos.
Ang utos na ito ay nakasalalay sa M-# sa emacs mode at sa # sa vi command mode.
completion-ignore-case (Naka-off)
Kung itakda sa On, nagsasagawa ang readline ng pagtutugma ng filename at pagkumpleto sa a
case-insensitive na fashion.
pagkumpleto-prefix-haba ng display (0)
Ang haba sa mga character ng karaniwang prefix ng isang listahan ng mga posibleng pagkumpleto
na ipinapakita nang walang pagbabago. Kapag nakatakda sa isang halagang mas mataas sa zero,
ang mga karaniwang prefix na mas mahaba kaysa sa halagang ito ay pinapalitan ng isang ellipsis kapag
pagpapakita ng mga posibleng pagkumpleto.
pagkumpleto-query-item (100)
Tinutukoy nito kung kailan tinanong ang user tungkol sa pagtingin sa bilang ng posible
mga pagkumpleto na nabuo ng posibleng-pagkumpleto utos. Maaari itong itakda sa alinman
halaga ng integer na mas malaki sa o katumbas ng zero. Kung ang bilang ng mga posibleng pagkumpleto
ay mas malaki sa o katumbas ng halaga ng variable na ito, tatanungin ang user kung
o hindi niya nais na tingnan ang mga ito; kung hindi ay nakalista lang sila sa terminal.
convert-meta (Bukas)
Kung itakda sa On, ang readline ay magko-convert ng mga character na may ikawalong bit na nakatakda sa isang ASCII
key sequence sa pamamagitan ng pagtanggal ng ikawalong bit at pag-prefix ng isang escape character (sa
epekto, gamit ang pagtakas bilang ang meta unlapi).
huwag paganahin-pagkumpleto (Naka-off)
Kung itakda sa On, ang readline ay hahadlang sa pagkumpleto ng salita. Ang mga character sa pagkumpleto ay magiging
ipinasok sa linya na parang na-map sila pagsingit sa sarili.
mode ng pag-edit (emacs)
Kinokontrol kung magsisimula ang readline sa isang hanay ng mga key binding na katulad ng Emacs or vi.
mode ng pag-edit maaaring itakda sa alinman emacs or vi.
echo-control-character (Bukas)
Kapag itinakda sa On, sa mga operating system na nagpapahiwatig na sinusuportahan nila ito, nag-echo ang readline
isang character na naaayon sa isang senyas na nabuo mula sa keyboard.
paganahin-keypad (Naka-off)
Kapag itinakda sa On, susubukan ng readline na paganahin ang keypad ng application kapag ito ay
tinawag. Kailangan ito ng ilang system para paganahin ang mga arrow key.
paganahin-meta-key (Bukas)
Kapag itinakda sa On, susubukan ng readline na paganahin ang anumang meta modifier key sa terminal
inaangkin na sumusuporta kapag ito ay tinatawag. Sa maraming mga terminal, ginagamit ang meta key
magpadala ng walong-bit na mga character.
palawakin-tilde (Naka-off)
Kung itakda sa On, ginagawa ang pagpapalawak ng tilde kapag sinubukan ng readline ang pagkumpleto ng salita.
history-preserve-point (Naka-off)
Kung itakda sa On, sinusubukan ng history code na ilagay ang punto sa parehong lokasyon sa bawat isa
linya ng kasaysayan na nakuha gamit ang nakaraang-kasaysayan or susunod na kasaysayan.
sukat ng kasaysayan (0)
Itakda ang maximum na bilang ng mga entry sa kasaysayan na na-save sa listahan ng kasaysayan. Kung nakatakda sa
zero, ang anumang umiiral na mga entry sa kasaysayan ay tatanggalin at walang mga bagong entry ang nai-save. Kung
itinakda sa isang halaga na mas mababa sa zero, ang bilang ng mga entry sa kasaysayan ay hindi limitado. Sa pamamagitan ng
default, ang bilang ng mga entry sa kasaysayan ay hindi limitado.
horizontal-scroll-mode (Naka-off)
Kapag itinakda sa On, ginagawa ang readline na gumamit ng isang linya para sa pagpapakita, pag-scroll sa input
pahalang sa isang linya ng screen kapag mas mahaba ito kaysa sa lapad ng screen
sa halip na i-wrap sa isang bagong linya.
input-meta (Naka-off)
Kung itakda sa On, papaganahin ng readline ang walong-bit na input (iyon ay, hindi nito aalisin ang
mataas na bit mula sa mga character na binabasa nito), anuman ang sinasabi ng terminal dito
maaaring suportahan. Ang pangalan meta-flag ay isang kasingkahulugan para sa variable na ito.
isearch-terminators (``C-[C-J'')
Ang string ng mga character na dapat wakasan ang isang incremental na paghahanap nang wala
kasunod na pagpapatupad ng karakter bilang isang utos. Kung ang variable na ito ay hindi naging
binigyan ng halaga, ang mga karakter ESC at CJ wawakasan ang isang incremental na paghahanap.
keymap (emacs)
Itakda ang kasalukuyang readline keymap. Ang hanay ng mga wastong pangalan ng keymap ay emacs,
emacs-standard, emacs-meta, emacs-ctlx, vi, vi-utos, at vi-insert. vi is
katumbas ng vi-utos; emacs ay katumbas ng emacs-standard. Ang default na halaga
is emacs; ang halaga ng mode ng pag-edit nakakaapekto rin sa default na keymap.
keyseq-timeout (500)
Tinutukoy ang tagal Basahin ang linya maghihintay para sa isang karakter kapag nagbabasa ng isang hindi maliwanag
key sequence (isa na maaaring bumuo ng kumpletong key sequence gamit ang input read so
malayo, o maaaring kumuha ng karagdagang input upang makumpleto ang mas mahabang key sequence). Kung walang input
ay natanggap sa loob ng timeout, Basahin ang linya gagamitin ang mas maikli ngunit kumpletong key
pagkakasunod-sunod. Tinukoy ang value sa milliseconds, kaya ang value na 1000 ay nangangahulugang iyon
Basahin ang linya maghihintay ng isang segundo para sa karagdagang input. Kung ang variable na ito ay nakatakda sa a
mas mababa sa o katumbas ng zero, o sa isang hindi numeric na halaga, Basahin ang linya maghihintay
hanggang sa pinindot ang isa pang key upang magpasya kung aling key sequence ang kukumpletuhin.
marka-direktoryo (Bukas)
Kung itakda sa On, ang mga nakumpletong pangalan ng direktoryo ay may nakadugtong na slash.
mark-modified-linya (Naka-off)
Kung itakda sa On, ang mga linya ng kasaysayan na binago ay ipinapakita kasama ng nauna
asterisk (*).
mark-symlinked-directories (Naka-off)
Kung itakda sa On, ang mga nakumpletong pangalan na simbolikong mga link sa mga direktoryo ay may slash
idinagdag (napapailalim sa halaga ng marka-direktoryo).
match-hidden-files (Bukas)
Ang variable na ito, kapag nakatakda sa On, nagiging sanhi ng readline na tumugma sa mga file na nagsisimula ang mga pangalan
na may `.' (mga nakatagong file) kapag nagsasagawa ng pagkumpleto ng filename. Kung nakatakda sa Patay, ang
nangunguna `.' ay dapat ibigay ng user sa filename upang makumpleto.
menu-complete-display-prefix (Naka-off)
Kung itakda sa On, ipinapakita ng pagkumpleto ng menu ang karaniwang prefix ng listahan ng posible
mga pagkumpleto (na maaaring walang laman) bago magbisikleta sa listahan.
output-meta (Naka-off)
Kung itakda sa On, ang readline ay magpapakita ng mga character na may direktang set ng ikawalong bit
sa halip na bilang isang meta-prefixed escape sequence.
mga pagkumpleto ng pahina (Bukas)
Kung itakda sa On, gumagamit ng internal ang readline mas marami pang -tulad ng pager upang ipakita ang isang screen na puno ng
posibleng mga pagkumpleto sa isang pagkakataon.
print-completions-horizontally (Naka-off)
Kung itakda sa On, ang readline ay magpapakita ng mga pagkumpleto na may mga tugma na pinagsunod-sunod nang pahalang
alphabetical order, sa halip na pababa sa screen.
revert-all-at-newline (Naka-off)
Kung itakda sa On, ia-undo ng readline ang lahat ng pagbabago sa mga linya ng kasaysayan bago bumalik kung kailan
accept-line ay pinaandar. Bilang default, ang mga linya ng kasaysayan ay maaaring mabago at mapanatili
mga indibidwal na i-undo ang mga listahan sa mga tawag sa Basahin ang linya.
show-all-if-ambiguous (Naka-off)
Binabago nito ang default na gawi ng mga function ng pagkumpleto. Kung nakatakda sa On, mga salita
na may higit sa isang posibleng pagkumpleto ay nagiging sanhi ng mga tugma upang mailista
kaagad sa halip na mag-bell.
show-all-if-unmodified (Naka-off)
Binabago nito ang default na gawi ng mga function ng pagkumpleto sa katulad na paraan
sa show-all-if-ambiguous. Kung nakatakda sa On, mga salita na mayroong higit sa isang posible
pagkumpleto nang walang anumang posibleng bahagyang pagkumpleto (ang mga posibleng pagkumpleto ay hindi
magbahagi ng karaniwang prefix) dahilan upang mailista kaagad ang mga tugma sa halip na
pagtunog ng kampana.
show-mode-in-prompt (Naka-off)
Kung itakda sa On, magdagdag ng character sa simula ng prompt na nagpapahiwatig ng pag-edit
mode: emacs (@), vi command (:) o vi insertion (+).
skip-completed-text (Naka-off)
Kung itakda sa On, binabago nito ang default na pag-uugali sa pagkumpleto kapag nagpasok ng isang solong
tugma sa linya. Ito ay aktibo lamang kapag gumaganap ng pagkumpleto sa gitna ng
isang salita. Kung pinagana, ang readline ay hindi naglalagay ng mga character mula sa pagkumpleto na
tumugma sa mga character pagkatapos ng punto sa salitang kinukumpleto, kaya mga bahagi ng salita
Ang pagsunod sa cursor ay hindi nadoble.
nakikitang-stats (Naka-off)
Kung itakda sa On, isang character na nagsasaad ng uri ng file gaya ng iniulat ni stat(2) ay idinagdag
sa filename kapag naglilista ng mga posibleng pagkumpleto.

Basahin ang linya kondisyonal Mga konstruksyon
Ang Readline ay nagpapatupad ng isang pasilidad na katulad ng diwa sa mga feature ng conditional compilation
ng C preprocessor na nagbibigay-daan sa mga key binding at variable na setting na maisagawa bilang
ang resulta ng mga pagsubok. Mayroong apat na parser na direktiba na ginamit.

$kung Ang $kung construct ay nagbibigay-daan sa mga binding na gawin batay sa mode ng pag-edit, ang
terminal na ginagamit, o ang application na gumagamit ng readline. Ang teksto ng pagsusulit
umaabot hanggang sa dulo ng linya; walang mga character na kinakailangan upang ihiwalay ito.

paraan Ang mode= anyo ng $kung Ang direktiba ay ginagamit upang subukan kung ang readline ay nasa
emacs o vi mode. Ito ay maaaring gamitin kasabay ng itakda keymap
utos, halimbawa, na magtakda ng mga binding sa emacs-standard at emacs-ctlx
keymaps lamang kung ang readline ay nagsisimula sa emacs mode.

termino Ang termino= form ay maaaring gamitin upang isama ang terminal-specific key bindings,
marahil upang itali ang mga key sequences na output ng mga function key ng terminal.
Ang salita sa kanang bahagi ng = ay nasubok laban sa parehong buong pangalan ng
ang terminal at ang bahagi ng pangalan ng terminal bago ang una -. ito
ay nagbibigay-daan sa araw para magkatugma ang dalawa araw at sun-cmd, Halimbawa.

application
Ang application construct ay ginagamit upang isama ang mga setting na tukoy sa application.
Ang bawat programa na gumagamit ng readline library ay nagtatakda ng application pangalan, At isang
Ang initialization file ay maaaring sumubok para sa isang partikular na halaga. Ito ay maaaring magamit sa
itali ang mga pangunahing sequence sa mga function na kapaki-pakinabang para sa isang partikular na programa. Para sa
halimbawa, ang sumusunod na command ay nagdaragdag ng isang pangunahing sequence na sumipi sa kasalukuyang
o nakaraang salita sa malakas na palo:

$kung Malakas na palo
# Sipiin ang kasalukuyan o nakaraang salita
"\C-xq": "\eb\"\ef\""
$endif

$endif Ang utos na ito, tulad ng nakikita sa nakaraang halimbawa, ay nagtatapos sa isang $kung utos.

$iba Mga utos sa sangay na ito ng $kung Ang direktiba ay isinasagawa kung ang pagsubok ay nabigo.

$isama
Ang direktiba na ito ay tumatagal ng isang filename bilang argumento at nagbabasa ng mga command at
mga binding mula sa file na iyon. Halimbawa, mababasa ang sumusunod na direktiba
/etc/inputrc:

$isama /etc/inputrc

searching
Ang Readline ay nagbibigay ng mga utos para sa paghahanap sa kasaysayan ng utos (tingnan KASAYSAYAN sa ibaba)
para sa mga linyang naglalaman ng isang tinukoy na string. Mayroong dalawang mga mode ng paghahanap: incremental at hindi pang-
incremental.

Magsisimula ang mga incremental na paghahanap bago matapos i-type ng user ang string ng paghahanap. Tulad ng bawat isa
Ang karakter ng string ng paghahanap ay nai-type, ang readline ay nagpapakita ng susunod na entry mula sa kasaysayan
tumutugma sa string na na-type sa ngayon. Ang isang incremental na paghahanap ay nangangailangan lamang ng kasing dami ng mga character
kung kinakailangan upang mahanap ang nais na entry sa kasaysayan. Ang mga karakter na naroroon sa halaga ng
isearch-terminators variable ay ginagamit upang wakasan ang isang incremental na paghahanap. Kung ganun
variable ay hindi naitalaga ng isang halaga ang Escape at Control-J na mga character ay wawakasan
isang incremental na paghahanap. Iaabort ng Control-G ang isang incremental na paghahanap at ibabalik ang
orihinal na linya. Kapag ang paghahanap ay winakasan, ang history entry na naglalaman ng paghahanap
string ang nagiging kasalukuyang linya.

Upang makahanap ng iba pang katugmang mga entry sa listahan ng kasaysayan, i-type ang Control-S o Control-R bilang
nararapat. Maghahanap ito pabalik o pasulong sa kasaysayan para sa susunod na entry
tumutugma sa string ng paghahanap na na-type sa ngayon. Anumang iba pang key sequence na nakatali sa isang readline
wawakasan ng command ang paghahanap at isasagawa ang utos na iyon. Halimbawa, a bagong linya habilin
wakasan ang paghahanap at tanggapin ang linya, sa gayon ay isinasagawa ang utos mula sa kasaysayan
listahan.

Naaalala ng Readline ang huling incremental na string ng paghahanap. Kung dalawang Control-R ang nai-type
nang walang anumang intervening character na tumutukoy sa isang bagong string sa paghahanap, anumang naaalalang paghahanap
string ang ginagamit.

Binabasa ng mga hindi incremental na paghahanap ang buong string ng paghahanap bago magsimulang maghanap
tumutugma sa mga linya ng kasaysayan. Ang string ng paghahanap ay maaaring i-type ng user o maging bahagi ng
nilalaman ng kasalukuyang linya.

Basahin ang linya Utos pangalan
Ang sumusunod ay isang listahan ng mga pangalan ng mga command at ang default na key sequence sa
na sila ay nakatali. Ang mga pangalan ng command na walang kasamang key sequence ay hindi nakatali
default. Sa mga sumusunod na paglalarawan, punto ay tumutukoy sa kasalukuyang posisyon ng cursor, at
markahan ay tumutukoy sa posisyon ng cursor na na-save ng set-mark utos. Ang teksto sa pagitan ng
punto at marka ay tinutukoy bilang ang rehiyon.

Command para Gumagalaw
simula-ng-linya (Ca)
Lumipat sa simula ng kasalukuyang linya.
dulo ng linya (Ce)
Ilipat sa dulo ng linya.
pasulong-char (Cf)
Isulong ang isang karakter.
backward-char (Cb)
Ibalik ang isang karakter.
pasulong na salita (Mf)
Sumulong sa dulo ng susunod na salita. Ang mga salita ay binubuo ng alphanumeric
mga character (mga titik at digit).
backward-word (Mb)
Bumalik sa simula ng kasalukuyan o nakaraang salita. Ang mga salita ay binubuo ng
mga alphanumeric na character (mga titik at digit).
shell-forward-word
Sumulong sa dulo ng susunod na salita. Ang mga salita ay nililimitahan ng hindi naka-quote na shell
metacharacter.
shell-backward-word
Bumalik sa simula ng kasalukuyan o nakaraang salita. Ang mga salita ay nililimitahan ng
non-quoted shell metacharacter.
malinaw na screen (Cl)
I-clear ang screen na umaalis sa kasalukuyang linya sa tuktok ng screen. Kasama ang
argumento, i-refresh ang kasalukuyang linya nang hindi nililinis ang screen.
redraw-kasalukuyang-linya
I-refresh ang kasalukuyang linya.

Command para Manipulasyon ang kasaysayan
accept-line (Bagong linya, Bumalik)
Tanggapin ang linya kahit nasaan ang cursor. Kung walang laman ang linyang ito, idagdag
ito sa listahan ng kasaysayan ayon sa estado ng HISTCONTROL variable. Kung ang
Ang linya ay isang binagong linya ng kasaysayan, pagkatapos ay ibalik ang linya ng kasaysayan sa orihinal nito
estado.
nakaraang-kasaysayan (Cp)
Kunin ang nakaraang utos mula sa listahan ng kasaysayan, pabalik sa listahan.
susunod na kasaysayan (Cn)
Kunin ang susunod na utos mula sa listahan ng kasaysayan, pasulong sa listahan.
simula-ng-kasaysayan (M-<)
Ilipat sa unang linya sa kasaysayan.
katapusan-ng-kasaysayan (M->)
Ilipat sa dulo ng kasaysayan ng pag-input, ibig sabihin, ang linyang kasalukuyang pinapasok.
baligtarin ang kasaysayan ng paghahanap (Cr)
Maghanap pabalik simula sa kasalukuyang linya at paglipat ng `pataas' sa kasaysayan bilang
kailangan. Ito ay isang incremental na paghahanap.
forward-search-history (Cs)
Maghanap pasulong simula sa kasalukuyang linya at `pababa' sa kasaysayan
kung kinakailangan. Ito ay isang incremental na paghahanap.
non-incremental-reverse-search-history (Mp)
Maghanap pabalik sa kasaysayan simula sa kasalukuyang linya gamit ang isang hindi-
incremental na paghahanap para sa isang string na ibinigay ng user.
non-incremental-forward-search-history (Mn)
Maghanap pasulong sa kasaysayan gamit ang isang hindi incremental na paghahanap para sa isang string
ibinibigay ng gumagamit.
history-search-forward
Maghanap pasulong sa kasaysayan para sa string ng mga character sa pagitan ng simula
ng kasalukuyang linya at ang punto. Ito ay isang hindi incremental na paghahanap.
history-search-backward
Maghanap pabalik sa kasaysayan para sa string ng mga character sa pagitan ng simula
ng kasalukuyang linya at ang punto. Ito ay isang hindi incremental na paghahanap.
yank-nth-arg (MCy)
Ipasok ang unang argumento sa nakaraang utos (karaniwan ay ang pangalawang salita sa
nakaraang linya) sa punto. Na may argumento n, ipasok ang nika salita mula sa nauna
command (ang mga salita sa nakaraang command ay nagsisimula sa salitang 0). Isang negatibong argumento
ipinapasok ang nika salita mula sa dulo ng nakaraang utos. Kapag ang argumento n is
nakalkula, ang argumento ay nakuha na parang ang "!n"Ang pagpapalawak ng kasaysayan ay
tinukoy.
yank-last-arg (M-., M-_)
Ipasok ang huling argumento sa nakaraang utos (ang huling salita ng nakaraang
entry sa kasaysayan). Sa isang numeric na argumento, kumilos nang eksakto tulad ng yank-nth-arg.
Sunud-sunod na tawag sa yank-last-arg bumalik sa listahan ng kasaysayan, ipinapasok ang
huling salita (o ang salitang tinukoy ng argumento sa unang tawag) ng bawat linya sa
lumiko. Ang anumang numerong argumento na ibinigay sa mga sunud-sunod na tawag na ito ay tumutukoy sa
direksyon upang lumipat sa kasaysayan. Ang isang negatibong argumento ay nagpapalit ng direksyon
sa pamamagitan ng kasaysayan (pabalik o pasulong). Ginagamit ang mga pasilidad sa pagpapalawak ng kasaysayan
upang kunin ang huling salita, na parang tinukoy ang "!$" na pagpapalawak ng kasaysayan.
shell-expand-line (MCe)
Palawakin ang linya gaya ng ginagawa ng shell. Nagsasagawa ito ng alias at pagpapalawak ng kasaysayan bilang
pati na rin ang lahat ng pagpapalawak ng shell word. Tingnan mo KASAYSAYAN EXPANSION sa ibaba para sa a
paglalarawan ng pagpapalawak ng kasaysayan.
history-expand-line (M-^)
Magsagawa ng pagpapalawak ng kasaysayan sa kasalukuyang linya. Tingnan mo KASAYSAYAN EXPANSION sa ibaba para sa a
paglalarawan ng pagpapalawak ng kasaysayan.
magic-space
Magsagawa ng pagpapalawak ng kasaysayan sa kasalukuyang linya at maglagay ng puwang. Tingnan mo KASAYSAYAN
EXPANSION sa ibaba para sa isang paglalarawan ng pagpapalawak ng kasaysayan.
alias-expand-line
Magsagawa ng pagpapalawak ng alias sa kasalukuyang linya. Tingnan mo MGA ALIASE sa itaas para sa isang paglalarawan
ng pagpapalawak ng alias.
history-and-alias-expand-line
Magsagawa ng history at pagpapalawak ng alias sa kasalukuyang linya.
insert-last-argument (M-., M-_)
Isang kasingkahulugan para sa yank-last-arg.
mag-operate-and-get-next (Co)
Tanggapin ang kasalukuyang linya para sa pagpapatupad at kunin ang susunod na linya na nauugnay sa
kasalukuyang linya mula sa kasaysayan para sa pag-edit. Ang anumang argumento ay hindi pinapansin.
edit-and-execute-command (C-xC-e)
Magpatawag ng editor sa kasalukuyang command line, at isagawa ang resulta bilang shell
utos. Malakas na palo mga pagtatangka na mag-invoke $VISUAL, $ EDITOR, at emacs bilang editor, sa
ang utos na iyon.

Command para Pagbabago teksto
end-of-file (Karaniwan ay Cd)
Ang character na nagsasaad ng end-of-file bilang itinakda, halimbawa, ng ``stty''. Kung ito
Ang karakter ay binabasa kapag walang mga character sa linya, at ang punto ay nasa
simula ng linya, binibigyang-kahulugan ito ng Readline bilang pagtatapos ng input at pagbabalik EOF.
tanggalin-char (Cd)
Tanggalin ang karakter sa punto. Kung ang function na ito ay nakatali sa parehong karakter bilang
ang tty EOF karakter, bilang Cd karaniwan ay, tingnan sa itaas para sa mga epekto.
backward-delete-char (Rubout)
Tanggalin ang character sa likod ng cursor. Kapag binigyan ng numeric na argumento, i-save ang
tinanggal na text sa kill ring.
forward-backward-delete-char
Tanggalin ang character sa ilalim ng cursor, maliban kung ang cursor ay nasa dulo ng linya,
kung saan ang character sa likod ng cursor ay tinanggal.
quoted-insert (Cq, Cv)
Idagdag ang susunod na character na na-type sa line verbatim. Ito ay kung paano ipasok
mga karakter tulad ng Cq, Halimbawa.
tab-insert (Cv TAB)
Magpasok ng isang tab na character.
pagsingit sa sarili (a, b, A, 1, !, ...)
Ipasok ang character na na-type.
transpose-chars (Ct)
I-drag ang karakter bago ituro pasulong ang karakter sa punto, gumagalaw na punto
pasulong din. Kung ang punto ay nasa dulo ng linya, pagkatapos ay inilipat nito ang dalawa
mga character bago ang punto. Walang epekto ang mga negatibong argumento.
transpose-mga salita (Mt)
I-drag ang salita bago ang punto lampas sa salita pagkatapos ng punto, ilipat ang punto sa ibabaw ng salitang iyon
din. Kung ang punto ay nasa dulo ng linya, inililipat nito ang huling dalawang salita sa
Ang linya.
upcase-salita (Mu)
Malaking titik ang kasalukuyang (o sumusunod) na salita. Sa isang negatibong argumento, malaking titik ang
nakaraang salita, ngunit huwag ilipat ang punto.
downcase-salita (Ml)
Maliit ang titik ng kasalukuyang (o sumusunod) na salita. Sa isang negatibong argumento, maliit na titik ang
nakaraang salita, ngunit huwag ilipat ang punto.
capitalize-salita (Mc)
I-capitalize ang kasalukuyang (o sumusunod) na salita. Sa isang negatibong argumento, i-capitalize
ang naunang salita, ngunit huwag ilipat ang punto.
overwrite-mode
I-toggle ang overwrite mode. Sa isang tahasang positibong numeric na argumento, lumipat sa
overwrite mode. Sa isang tahasang hindi positibong numeric na argumento, lumipat sa pagsingit
mode. Ang utos na ito ay nakakaapekto lamang emacs mode; vi iba ang pag-overwrite ng mode.
Bawat tawag sa Basahin ang linya() magsisimula sa insert mode. Sa overwrite mode, nakatali ang mga character
sa pagsingit sa sarili palitan ang teksto sa punto sa halip na itulak ang teksto sa kanan.
Mga character na nakatali sa backward-delete-char palitan ang karakter bago ang punto ng a
space. Bilang default, ang command na ito ay hindi nakatali.

Nakamamatay at Yanking
kill-line (Ck)
Patayin ang teksto mula sa punto hanggang sa dulo ng linya.
backward-kill-line (Cx Rubout)
Pumatay pabalik sa simula ng linya.
unix-line-discard (Cu)
Pumatay pabalik mula sa punto hanggang sa simula ng linya. Ang pinatay na teksto ay naka-save sa
ang kill-ring.
patayin-buong-linya
Patayin ang lahat ng mga character sa kasalukuyang linya, saanman ang punto.
pamatay-salita (Md)
Patayin mula sa punto hanggang sa dulo ng kasalukuyang salita, o kung sa pagitan ng mga salita, hanggang sa dulo ng
ang susunod na salita. Ang mga hangganan ng salita ay pareho sa mga ginamit ni pasulong na salita.
backward-kill-word (M-Rubout)
Patayin ang salita sa likod ng punto. Ang mga hangganan ng salita ay pareho sa mga ginamit ni
backward-word.
shell-kill-word (Md)
Patayin mula sa punto hanggang sa dulo ng kasalukuyang salita, o kung sa pagitan ng mga salita, hanggang sa dulo ng
ang susunod na salita. Ang mga hangganan ng salita ay pareho sa mga ginamit ni shell-forward-word.
shell-backward-kill-word (M-Rubout)
Patayin ang salita sa likod ng punto. Ang mga hangganan ng salita ay pareho sa mga ginamit ni
shell-backward-word.
unix-word-rubout (Cw)
Patayin ang salita sa likod ng punto, gamit ang puting espasyo bilang hangganan ng salita. Ang pinatay na text
ay naka-save sa kill-ring.
unix-filename-rubout
Patayin ang salita sa likod ng punto, gamit ang puting espasyo at ang slash character bilang salita
mga hangganan. Ang pinatay na teksto ay naka-save sa kill-ring.
delete-horizontal-space (M-\)
Tanggalin ang lahat ng puwang at tab sa paligid ng punto.
pumatay-rehiyon
Patayin ang text sa kasalukuyang rehiyon.
kopya-rehiyon-bilang-kill
Kopyahin ang text sa rehiyon sa kill buffer.
kopya-pabalik-salita
Kopyahin ang salita bago ituro ang kill buffer. Ang salitang hangganan ay kapareho ng
backward-word.
copy-forward-word
Kopyahin ang salitang sumusunod na punto sa kill buffer. Ang salitang hangganan ay pareho
as pasulong na salita.
yank (Cy)
Ipasok ang tuktok ng kill ring sa buffer sa punto.
yank-pop (Aking)
I-rotate ang kill ring, at hilahin ang bagong tuktok. Gumagana lamang sa pagsunod yank or yank-pop.

Numeric Mga argumento
digit-argument (M-0, M-1, ..., M--)
Idagdag ang digit na ito sa argumentong naiipon na, o magsimula ng bagong argumento. M--
nagsisimula ng negatibong argumento.
universal-argument
Ito ay isa pang paraan upang tukuyin ang isang argumento. Kung ang utos na ito ay sinusunod ng isa o
higit pang mga digit, opsyonal na may nangungunang minus sign, tinutukoy ng mga digit na iyon ang
argumento. Kung ang utos ay sinusundan ng mga digit, executing universal-argument muli
tinatapos ang numeric na argumento, ngunit kung hindi man ay binabalewala. Bilang isang espesyal na kaso, kung ito
Ang command ay agad na sinusundan ng isang character na hindi isang digit o minus
sign, ang bilang ng argumento para sa susunod na command ay pinarami ng apat. Ang argumento
count ay sa una ay isa, kaya ang pagpapatupad ng function na ito sa unang pagkakataon ay gumagawa ng
ang argument ay bilang ng apat, sa pangalawang pagkakataon ay ginagawang labing anim ang argumento, at iba pa.

Pagkumpleto
matapos (TAB)
Subukang magsagawa ng pagkumpleto sa teksto bago ang punto. Malakas na palo sinusubukang makumpleto
tinatrato ang teksto bilang isang variable (kung ang teksto ay nagsisimula sa $), username (kung ang text
nagsisimula sa ~), hostname (kung ang teksto ay nagsisimula sa @), o command (kabilang ang mga alias
at mga function) naman. Kung wala sa mga ito ang gumagawa ng tugma, ang pagkumpleto ng filename ay
sinubukan.
posibleng-pagkumpleto (M-?)
Ilista ang mga posibleng pagkumpleto ng teksto bago ang punto.
insert-completions (M-*)
Ipasok ang lahat ng mga pagkumpleto ng teksto bago ang punto na nabuo sana ni
posibleng-pagkumpleto.
menu-kumpleto
Kapareho ng matapos, ngunit pinapalitan ang salitang kukumpletuhin ng isang tugma mula sa
ang listahan ng mga posibleng pagkumpleto. Paulit-ulit na pagpapatupad ng menu-kumpleto hakbang
sa pamamagitan ng listahan ng mga posibleng pagkumpleto, na inilalagay ang bawat tugma sa turn. Sa dulo
ng listahan ng mga pagkumpleto, ang kampana ay tumunog (napapailalim sa setting ng istilong kampana)
at ang orihinal na teksto ay naibalik. Isang argumento ng n gumagalaw n mga posisyon pasulong sa
ang listahan ng mga tugma; ang isang negatibong argumento ay maaaring gamitin upang umatras sa pamamagitan ng
listahan. Ang utos na ito ay inilaan upang matali TAB, ngunit hindi nakatali bilang default.
menu-kumpleto-paatras
Katulad sa menu-kumpleto, ngunit umuurong pabalik sa listahan ng posible
mga pagkumpleto, na parang menu-kumpleto ay binigyan ng negatibong argumento. Ang utos na ito
ay hindi nakatali bilang default.
delete-char-or-list
Tinatanggal ang character sa ilalim ng cursor kung hindi sa simula o dulo ng linya
(katulad tanggalin-char). Kung sa dulo ng linya, identically behaves to
posibleng-pagkumpleto. Ang utos na ito ay hindi nakatali bilang default.
kumpletong-filename (M-/)
Subukang kumpletuhin ang filename sa teksto bago ang punto.
posibleng-filename-completions (Cx /)
Ilista ang mga posibleng pagkumpleto ng teksto bago ang punto, ituturing ito bilang isang filename.
kumpletong-username (M-~)
Subukang kumpletuhin ang teksto bago ang punto, ituring ito bilang isang username.
mga posibleng-username-completion (Cx ~)
Ilista ang mga posibleng pagkumpleto ng teksto bago ang punto, tinatrato ito bilang isang username.
kumpletong-variable (M-$)
Subukang kumpletuhin ang teksto bago ang punto, ituring ito bilang isang variable ng shell.
posibleng-variable-completion (Cx $)
Ilista ang mga posibleng pagkumpleto ng teksto bago ang punto, tinatrato ito bilang isang shell
variable
kumpletong-hostname (M-@)
Subukang kumpletuhin ang teksto bago ang punto, ituring ito bilang isang hostname.
possible-hostname-completions (Cx @)
Ilista ang mga posibleng pagkumpleto ng teksto bago ang punto, ituturing ito bilang isang hostname.
kumpletong-utos (M-!)
Subukang kumpletuhin ang teksto bago ang punto, ituring ito bilang isang pangalan ng command.
Ang pagkumpleto ng utos ay sumusubok na itugma ang teksto laban sa mga alias, nakalaan na salita,
shell function, shell builtin, at panghuli executable filename, sa ganoong pagkakasunud-sunod.
posibleng-command-completion (Cx !)
Ilista ang mga posibleng pagkumpleto ng teksto bago ang punto, ituring ito bilang isang utos
pangalan.
dynamic-complete-history (M-TAB)
Subukang kumpletuhin ang teksto bago ang punto, paghahambing ng teksto laban sa mga linya mula sa
ang listahan ng kasaysayan para sa posibleng mga tugma sa pagkumpleto.
dabbrev-expand
Subukang kumpletuhin ang menu sa teksto bago ang punto, paghahambing ng teksto laban sa mga linya
mula sa listahan ng kasaysayan para sa posibleng mga tugma sa pagkumpleto.
kumpleto-sa-braces (M-{)
Isagawa ang pagkumpleto ng filename at ipasok ang listahan ng mga posibleng pagkumpleto na nakapaloob
sa loob ng mga braces upang ang listahan ay magagamit sa shell (tingnan Brace Paglawak sa itaas).

Keyboard Macros
simulan-kbd-macro (Cx ()
Simulan ang pag-save ng mga character na na-type sa kasalukuyang keyboard macro.
end-kbd-macro (Cx ))
Itigil ang pag-save ng mga character na na-type sa kasalukuyang keyboard macro at iimbak ang
kahulugan.
tawag-huling-kbd-macro (Cx e)
I-execute muli ang huling tinukoy na keyboard macro, sa pamamagitan ng paggawa ng mga character sa macro
lalabas na parang naka-type sa keyboard.
print-last-kbd-macro ()
I-print ang huling keyboard macro na tinukoy sa isang format na angkop para sa inputrc file.

sari-sari
basahin muli ang init-file (Cx Cr)
Basahin sa nilalaman ng inputrc file, at isama ang anumang mga binding o variable
mga takdang aralin na matatagpuan doon.
magpalaglag (Cg)
I-abort ang kasalukuyang utos sa pag-edit at i-ring ang bell ng terminal (napapailalim sa
setting ng istilong kampana).
do-uppercase-version (Ma, Mb, M-x, ...)
Kung ang metafied character x ay lowercase, patakbuhin ang command na nakatali sa
kaukulang uppercase na character.
prefix-meta (ESC)
Metafy ang susunod na character na na-type. ESC f ay katumbas ng Meta-f.
paglansag-lansagin (C-_, Cx Cu)
Incremental undo, hiwalay na naaalala para sa bawat linya.
ibalik-linya (Ginoo)
I-undo ang lahat ng pagbabagong ginawa sa linyang ito. Ito ay tulad ng pagpapatupad ng paglansag-lansagin sapat na utos
beses upang ibalik ang linya sa orihinal nitong estado.
tilde-expand (M-&)
Magsagawa ng tilde expansion sa kasalukuyang salita.
set-mark (C-@, M- )
Itakda ang marka sa punto. Kung ang isang numerong argumento ay ibinigay, ang marka ay nakatakda sa
posisyon na iyon.
exchange-point-and-mark (Cx Cx)
Palitan ang punto ng marka. Ang kasalukuyang posisyon ng cursor ay naka-set sa naka-save
posisyon, at ang lumang posisyon ng cursor ay nai-save bilang marka.
paghahanap ng karakter (C-])
Binabasa ang isang karakter at inililipat ang punto sa susunod na paglitaw ng karakter na iyon. A
negatibong bilang ng mga paghahanap para sa mga nakaraang pangyayari.
character-search-pabalik (MC-])
Binabasa ang isang karakter at inililipat ang punto sa nakaraang paglitaw niyan
karakter. Ang isang negatibong bilang ay naghahanap ng mga kasunod na paglitaw.
laktawan-csi-sequence
Magbasa ng sapat na mga character upang kumonsumo ng isang multi-key sequence gaya ng mga tinukoy para sa
mga key tulad ng Home at End. Nagsisimula ang ganitong mga sequence sa isang Control Sequence Indicator
(CSI), karaniwang ESC-[. Kung ang sequence na ito ay nakatali sa "\[", mga key na gumagawa ng ganoon
walang epekto ang mga sequence maliban kung tahasang nakatali sa isang readline na utos,
sa halip na magpasok ng mga stray character sa buffer sa pag-edit. Ito ay hindi nakatali sa
default, ngunit karaniwang nakatali sa ESC-[.
insert-comment (M-#)
Kung walang numeric na argumento, ang halaga ng readline komento-simulan variable ay
ipinasok sa simula ng kasalukuyang linya. Kung ang isang numerong argumento ay ibinigay,
ang utos na ito ay gumaganap bilang isang toggle: kung gagawin ng mga character sa simula ng linya
hindi tumutugma sa halaga ng komento-simulan, ang halaga ay ipinasok, kung hindi man ang
character sa komento-simulan ay tinanggal mula sa simula ng linya. Sa alinman
kaso, tinatanggap ang linya na parang may na-type na bagong linya. Ang default na halaga ng
komento-simulan nagiging sanhi ng utos na ito upang gawing komento ng shell ang kasalukuyang linya. Kung ang
Ang numeric na argumento ay nagiging sanhi ng pag-alis ng character ng komento, ang linya ay magiging
isinagawa ng shell.
glob-kumpletong-salita (Mg)
Ang salita bago ang punto ay itinuturing bilang isang pattern para sa pagpapalawak ng pathname, na may isang
ang asterisk ay tahasang idinagdag. Ang pattern na ito ay ginagamit upang bumuo ng isang listahan ng pagtutugma
mga filename para sa mga posibleng pagkumpleto.
glob-expand-word (Cx *)
Ang salita bago ang punto ay itinuturing bilang isang pattern para sa pagpapalawak ng pathname, at ang listahan
ng katugmang mga filename ay ipinasok, na pinapalitan ang salita. Kung ang isang numerong argumento ay
ibinibigay, ang isang asterisk ay idinagdag bago ang pagpapalawak ng pathname.
glob-list-expansions (Cx g)
Ang listahan ng mga pagpapalawak na ginawa sana ni glob-expand-word is
ipinapakita, at ang linya ay muling iginuhit. Kung ang isang numerong argumento ay ibinigay, isang asterisk
ay idinagdag bago ang pagpapalawak ng pathname.
dump-function
I-print ang lahat ng mga function at ang kanilang mga key binding sa readline output stream.
Kung ang isang numeric na argumento ay ibinigay, ang output ay na-format sa paraang ito
maaaring gawing bahagi ng isang inputrc file.
dump-variables
I-print ang lahat ng mga nakatakdang variable ng readline at ang kanilang mga halaga sa readline
stream ng output. Kung ang isang numeric na argumento ay ibinigay, ang output ay naka-format sa ganoong paraan
isang paraan na maaari itong maging bahagi ng isang inputrc file.
dump-macros
I-print ang lahat ng mga readline key sequence na nakatali sa mga macro at ang mga string nila
output. Kung ang isang numeric na argumento ay ibinigay, ang output ay na-format sa paraang
na maaari itong maging bahagi ng isang inputrc file.
display-shell-version (Cx Cv)
Ipakita ang impormasyon ng bersyon tungkol sa kasalukuyang instance ng malakas na palo.

Programmable pagtatapos
Kapag tinangka ang pagkumpleto ng salita para sa isang argumento sa isang utos kung saan isang pagkumpleto
pagtutukoy (a compspec) ay tinukoy gamit ang matapos builtin (tingnan KABIBI BUILTIN
UTOS sa ibaba), ang mga programmable completion facility ay ginagamit.

Una, natukoy ang pangalan ng command. Kung ang command word ay ang walang laman na string
(tinangka ang pagkumpleto sa simula ng isang walang laman na linya), anumang compspec na tinukoy sa -E
pagpipilian sa matapos Ginagamit. Kung ang isang compspec ay tinukoy para sa utos na iyon, ang compspec
ay ginagamit upang bumuo ng listahan ng mga posibleng pagkumpleto para sa salita. Kung ang salitang panuto ay
isang buong pathname, isang compspec para sa buong pathname ay hahanapin muna. Kung walang compspec
ay natagpuan para sa buong pathname, isang pagtatangka ay ginawa upang mahanap ang isang compspec para sa bahagi
kasunod ng huling slash. Kung ang mga paghahanap na iyon ay hindi nagreresulta sa isang compspec, anumang compspec
tinukoy sa -D pagpipilian sa matapos ay ginagamit bilang default.

Kapag natagpuan ang isang compspec, ginagamit ito upang bumuo ng listahan ng mga katugmang salita. Kung ang
compspec ay hindi natagpuan, ang default malakas na palo pagkumpleto tulad ng inilarawan sa itaas sa ilalim Pagkumpleto is
gumanap.

Una, ang mga aksyon na tinukoy ng compspec ay ginagamit. Mga tugma lamang na may prefix ng
ibinabalik ang salitang kinukumpleto. Kapag ang -f or -d Ang opsyon ay ginagamit para sa filename o
pagkumpleto ng pangalan ng direktoryo, ang variable ng shell FIGNORE ay ginagamit upang i-filter ang mga tugma.

Anumang mga pagkumpleto na tinukoy ng isang pattern ng pagpapalawak ng pathname sa -G nabuo ang pagpipilian
susunod. Ang mga salitang nabuo ng pattern ay hindi kailangang tumugma sa salitang kinukumpleto. Ang
GLOBIGNORE Ang variable ng shell ay hindi ginagamit upang i-filter ang mga tugma, ngunit ang FIGNORE variable ay
ginagamit.

Susunod, ang string na tinukoy bilang argumento sa -W isinasaalang-alang ang pagpipilian. Ang string ay
unang hatian gamit ang mga tauhan sa IFS espesyal na variable bilang mga delimiter. Shell quoting
ay pinarangalan. Ang bawat salita ay pinalawak pagkatapos gamit ang pagpapalawak ng brace, pagpapalawak ng tilde, parameter
at variable expansion, command substitution, at arithmetic expansion, gaya ng inilarawan sa itaas
sa ilalim EXPANSION. Hinahati ang mga resulta gamit ang mga panuntunang inilarawan sa itaas sa ilalim Salita
Paghahati. Ang mga resulta ng pagpapalawak ay prefix-matched laban sa salitang pagiging
nakumpleto, at ang mga katugmang salita ay nagiging posibleng mga pagkumpleto.

Matapos mabuo ang mga tugmang ito, anumang function ng shell o command na tinukoy kasama ng
-F at -C ang mga pagpipilian ay hinihingi. Kapag na-invoke ang command o function, ang COMP_LINE,
COMP_POINT, COMP_KEY, at COMP_TYPE ang mga variable ay nakatalaga ng mga halaga tulad ng inilarawan sa itaas sa ilalim
Talukap ng alimango Variable. Kung ang isang shell function ay hinihingi, ang COMP_WORDS at COMP_CWORD
nakatakda rin ang mga variable. Kapag ang function o command ay invoke, ang unang argument ($1)
ay ang pangalan ng utos na ang mga argumento ay nakumpleto, ang pangalawang argumento ($2)
ay ang salita ay nakumpleto, at ang ikatlong argumento ($3) ay ang salitang nauuna sa salita
na nakumpleto sa kasalukuyang command line. Walang pag-filter ng mga nabuong pagkumpleto
laban sa salitang nakumpleto ay ginanap; kumpleto na ang function o command
kalayaan sa pagbuo ng mga laban.

Anumang function na tinukoy sa -F ay unang tinawag. Maaaring gamitin ng function ang alinman sa shell
mga pasilidad, kabilang ang compgen builtin na inilarawan sa ibaba, upang makabuo ng mga tugma. Ito
dapat ilagay ang mga posibleng pagkumpleto sa SUMUNOD array variable, isa sa bawat array element.

Susunod, anumang utos na tinukoy kasama ng -C ang opsyon ay ginagamit sa isang kapaligiran na katumbas ng
pagpapalit ng utos. Dapat itong mag-print ng isang listahan ng mga pagkumpleto, isa sa bawat linya, sa
karaniwang output. Maaaring gamitin ang backslash upang makatakas sa isang bagong linya, kung kinakailangan.

Matapos mabuo ang lahat ng posibleng pagkumpleto, anumang filter na tinukoy kasama ng -X
ang opsyon ay inilapat sa listahan. Ang filter ay isang pattern na ginamit para sa pagpapalawak ng pathname; a
& sa pattern ay pinapalitan ng teksto ng salitang kinukumpleto. Isang literal & maaari
makatakas gamit ang isang backslash; ang backslash ay tinanggal bago subukan ang isang tugma. Anuman
ang pagkumpleto na tumutugma sa pattern ay aalisin sa listahan. Isang nangunguna ! negates
ang pattern; sa kasong ito ang anumang pagkumpleto na hindi tumutugma sa pattern ay aalisin.

Panghuli, anumang prefix at suffix na tinukoy kasama ng -P at -S ang mga opsyon ay idinagdag sa bawat isa
miyembro ng listahan ng pagkumpleto, at ang resulta ay ibabalik sa readline completion code
bilang listahan ng mga posibleng pagkumpleto.

Kung ang mga naunang inilapat na aksyon ay hindi bumubuo ng anumang mga tugma, at ang -o dirnames opsyon
ay ibinigay sa matapos kapag tinukoy ang compspec, ang pagkumpleto ng pangalan ng direktoryo ay
sinubukan.

Kung ang -o plusdirs ang opsyon ay ibinigay sa matapos kapag tinukoy ang compspec,
tinangka ang pagkumpleto ng pangalan ng direktoryo at anumang mga tugma ay idinagdag sa mga resulta ng
iba pang mga aksyon.

Bilang default, kung may nakitang compspec, anuman ang nabuo nito ay ibabalik sa pagkumpleto
code bilang buong hanay ng mga posibleng pagkumpleto. Ang default malakas na palo ang mga pagkumpleto ay hindi
sinubukan, at ang default na readline ng pagkumpleto ng filename ay hindi pinagana. Kung ang -o
bashdefault ang opsyon ay ibinigay sa matapos kapag ang compspec ay tinukoy, ang malakas na palo
Ang mga default na pagkumpleto ay sinusubukan kung ang compspec ay bumubuo ng walang mga tugma. Kung ang -o default
ang opsyon ay ibinigay sa matapos kapag tinukoy ang compspec, ang default ng readline
ang pagkumpleto ay isasagawa kung ang compspec (at, kung sinubukan, ang default malakas na palo
mga pagkumpleto) ay hindi makabuo ng mga tugma.

Kapag ang isang compspec ay nagpapahiwatig na ang pagkumpleto ng pangalan ng direktoryo ay nais, ang programmable
pinipilit ng mga function ng pagkumpleto ang readline na magdagdag ng slash sa mga nakumpletong pangalan na
simbolikong mga link sa mga direktoryo, napapailalim sa halaga ng marka-direktoryo Basahin ang linya
variable, anuman ang setting ng mark-symlinked-directories variable ng readline.

Mayroong ilang suporta para sa dynamic na pagbabago ng mga pagkumpleto. Ito ay pinakakapaki-pakinabang kapag
ginamit kasama ng isang default na pagkumpleto na tinukoy sa matapos -D. Posible
para sa mga function ng shell na naisakatuparan bilang mga humahawak ng pagkumpleto upang ipahiwatig na ang pagkumpleto ay dapat na
muling sinubukan sa pamamagitan ng pagbabalik ng exit status na 124. Kung ang isang shell function ay nagbabalik ng 124, at nagbabago
ang compspec na nauugnay sa utos kung saan sinusubukan ang pagkumpleto (ibinigay
bilang unang argumento kapag ang function ay naisakatuparan), ang programmable completion ay magre-restart
mula sa simula, na may pagtatangkang maghanap ng bagong compspec para sa utos na iyon. Ito ay nagpapahintulot
isang hanay ng mga pagkumpleto na dynamic na gagawin habang sinusubukan ang pagkumpleto, sa halip na maging
na-load nang sabay-sabay.

Halimbawa, ipagpalagay na mayroong isang library ng mga compspec, bawat isa ay nakatago sa isang file
naaayon sa pangalan ng command, ang sumusunod na default na pagkumpleto ng function ay
dynamic na pagkumpleto ng pag-load:

_completion_loader()
{
. "/etc/bash_completion.d/$1.sh" >/dev/null 2>&1 && ibalik ang 124
}
kumpleto -D -F _completion_loader -o bashdefault -o default

KASAYSAYAN


Kapag ang -o kasaysayan opsyon sa itakda builtin ay pinagana, ang shell ay nagbibigay ng access sa
utos kasaysayan, ang listahan ng mga command na naunang nai-type. Ang halaga ng HISTSIZE
variable ay ginagamit bilang ang bilang ng mga command na ise-save sa isang listahan ng kasaysayan. Ang teksto ng
huli HISTSIZE Ang mga command (default 500) ay nai-save. Iniimbak ng shell ang bawat command sa
listahan ng kasaysayan bago ang parameter at variable na pagpapalawak (tingnan EXPANSION sa itaas) ngunit pagkatapos
isinagawa ang pagpapalawak ng kasaysayan, napapailalim sa mga halaga ng mga variable ng shell HISTIGNORE
at HISTCONTROL.

Sa pagsisimula, ang kasaysayan ay sinisimulan mula sa file na pinangalanan ng variable HISTFILE
(default ~ / .bash_history). Ang file na pinangalanan sa pamamagitan ng halaga ng HISTFILE ay pinutol, kung
kinakailangan, upang maglaman ng hindi hihigit sa bilang ng mga linya na tinukoy ng halaga ng
HISTFILESIZE. Kung HISTFILESIZE ay hindi nakatakda, o nakatakda sa null, isang hindi numeric na halaga, o isang numeric
mas mababa sa zero ang halaga, hindi pinutol ang history file. Kapag binasa ang history file,
mga linyang nagsisimula sa history comment character na sinundan kaagad ng isang digit ay
binibigyang-kahulugan bilang mga timestamp para sa naunang linya ng kasaysayan. Opsyonal ang mga timestamp na ito
ipinapakita depende sa halaga ng HIST TIME FORMAT variable. Kapag ang isang shell na may
history enabled exit, ang huli $HISTSIZE ang mga linya ay kinopya mula sa listahan ng kasaysayan sa
$HISTFILE. Kung ang histappend Pinagana ang opsyon ng shell (tingnan ang paglalarawan ng tindahan sa ilalim
KABIBI BUILTIN UTOS sa ibaba), ang mga linya ay nakadugtong sa history file, kung hindi man ay ang
na-overwrite ang history file. Kung HISTFILE ay hindi nakatakda, o kung ang history file ay hindi maisulat,
ang kasaysayan ay hindi nailigtas. Kung ang HIST TIME FORMAT nakatakda ang variable, nakasulat ang mga time stamp
sa history file, na minarkahan ng history comment character, para mapanatili ang mga ito
sa mga sesyon ng shell. Ginagamit nito ang character ng komento sa kasaysayan upang makilala ang mga timestamp
mula sa iba pang mga linya ng kasaysayan. Pagkatapos i-save ang history, pinutol ang history file sa
naglalaman ng hindi hihigit sa HISTFILESIZE mga linya. Kung HISTFILESIZE ay hindi nakatakda, o nakatakda sa null, isang hindi-
numeric value, o isang numeric na value na mas mababa sa zero, ang history file ay hindi pinutol.

Ang builtin na utos fc (Tingnan ang KABIBI BUILTIN UTOS sa ibaba) ay maaaring gamitin upang ilista o i-edit at
muling isagawa ang isang bahagi ng listahan ng kasaysayan. Ang kasaysayan builtin ay maaaring gamitin upang ipakita o
baguhin ang listahan ng kasaysayan at manipulahin ang file ng kasaysayan. Kapag gumagamit ng pag-edit ng command-line,
available ang mga search command sa bawat mode ng pag-edit na nagbibigay ng access sa kasaysayan
listahan.

Ang shell ay nagbibigay-daan sa kontrol sa kung aling mga utos ang nai-save sa listahan ng kasaysayan. Ang
HISTCONTROL at HISTIGNORE Ang mga variable ay maaaring itakda upang maging sanhi ng shell na mag-save lamang ng isang subset
ng mga utos na ipinasok. Ang cmdhist ang pagpipiliang shell, kung pinagana, ay nagiging sanhi ng shell
subukang i-save ang bawat linya ng isang multi-line na command sa parehong entry sa kasaysayan, pagdaragdag
semicolon kung saan kinakailangan upang mapanatili ang syntactic correctness. Ang lithist pagpipiliang shell
nagiging sanhi ng shell upang i-save ang command na may naka-embed na mga bagong linya sa halip na mga semicolon. Tingnan mo
ang paglalarawan ng tindahan builtin sa ibaba sa ilalim KABIBI BUILTIN UTOS para sa impormasyon sa
setting at unsetting mga pagpipilian sa shell.

KASAYSAYAN EXPANSION


Sinusuportahan ng shell ang isang tampok na pagpapalawak ng kasaysayan na katulad ng pagpapalawak ng kasaysayan sa
csh. Inilalarawan ng seksyong ito kung anong mga tampok ng syntax ang magagamit. Ang tampok na ito ay pinagana
bilang default para sa mga interactive na shell, at maaaring hindi paganahin gamit ang +H opsyon sa itakda
builtin command (tingnan KABIBI BUILTIN UTOS sa ibaba). Hindi gumaganap ang mga non-interactive na shell
pagpapalawak ng kasaysayan bilang default.

Ang mga pagpapalawak ng kasaysayan ay nagpapakilala ng mga salita mula sa listahan ng kasaysayan sa input stream, ginagawa ito
madaling ulitin ang mga command, ipasok ang mga argumento sa isang nakaraang command sa kasalukuyang input
linya, o ayusin ang mga error sa mga nakaraang command nang mabilis.

Ang pagpapalawak ng kasaysayan ay isinasagawa kaagad pagkatapos basahin ang isang kumpletong linya, bago ang shell
binasag ito sa mga salita. Nagaganap ito sa dalawang bahagi. Ang una ay upang matukoy kung aling linya
mula sa listahan ng kasaysayan na gagamitin sa panahon ng pagpapalit. Ang pangalawa ay ang pumili ng mga bahagi ng
na linya para sa pagsasama sa kasalukuyang isa. Ang linyang pinili mula sa kasaysayan ay ang
pangyayari, at ang mga bahagi ng linyang iyon na inaaksyunan ay mga salita. Iba-iba nagbabago ay
magagamit upang manipulahin ang mga napiling salita. Ang linya ay nasira sa mga salita sa parehong
fashion bilang kapag nagbabasa ng input, kaya na ilang metacharacter-mga salitang pinaghihiwalay na napapaligiran ng
Ang mga quote ay itinuturing na isang salita. Ang mga pagpapalawak ng kasaysayan ay ipinakilala sa pamamagitan ng paglitaw ng
ang karakter ng pagpapalawak ng kasaysayan, na ! bilang default. backslash lang (\) at walang asawa
quotes ay maaaring quote ang kasaysayan ng pagpapalawak ng character.

Pinipigilan ng ilang mga character ang pagpapalawak ng kasaysayan kung makikita kaagad kasunod ng kasaysayan
expansion character, kahit na ito ay hindi naka-quote: space, tab, newline, carriage return, at =.
Kung ang extglob Pinagana ang opsyon ng shell, ( ay hahadlang din sa pagpapalawak.

Maraming mga pagpipilian sa shell na maaaring itakda sa tindahan Maaaring gamitin ang builtin upang maiangkop ang pag-uugali
ng pagpapalawak ng kasaysayan. Kung ang histverify Pinagana ang opsyon ng shell (tingnan ang paglalarawan ng
ang tindahan builtin sa ibaba), at Basahin ang linya ay ginagamit, ang mga pagpapalit sa kasaysayan ay hindi
agad na naipasa sa shell parser. Sa halip, nire-reload ang pinalawak na linya sa
Basahin ang linya pag-edit ng buffer para sa karagdagang pagbabago. Kung Basahin ang linya ay ginagamit, at ang
histreedit Ang pagpipiliang shell ay pinagana, ang isang nabigong pagpapalit ng kasaysayan ay ire-reload sa
ang Basahin ang linya pag-edit ng buffer para sa pagwawasto. Ang -p opsyon sa kasaysayan builtin na utos
maaaring gamitin upang makita kung ano ang gagawin ng pagpapalawak ng kasaysayan bago ito gamitin. Ang -s opsyon sa
kasaysayan Maaaring gamitin ang builtin upang magdagdag ng mga command sa dulo ng listahan ng kasaysayan nang wala
aktwal na isinasagawa ang mga ito, upang ang mga ito ay magagamit para sa kasunod na pagpapabalik.

Pinapayagan ng shell ang kontrol ng iba't ibang mga character na ginagamit ng mekanismo ng pagpapalawak ng kasaysayan
(tingnan ang paglalarawan ng hischars itaas sa ilalim Talukap ng alimango Variable). Ginagamit ng shell ang
history comment character para markahan ang mga timestamp ng history kapag isinusulat ang history file.

pangyayari Mga Designator
Ang isang event designator ay isang reference sa isang command line entry sa listahan ng history. Maliban kung
ang sanggunian ay ganap, ang mga kaganapan ay nauugnay sa kasalukuyang posisyon sa kasaysayan
listahan.

! Magsimula ng pagpapalit ng kasaysayan, maliban kung sinusundan ng a blangko, bagong linya, karwahe
bumalik, = o ( (kapag ang extglob Ang pagpipiliang shell ay pinagana gamit ang tindahan builtin).
!n Sumangguni sa command line n.
!-n Sumangguni sa kasalukuyang command minus n.
!! Sumangguni sa naunang utos. Ito ay kasingkahulugan ng `!-1'.
!pisi
Sumangguni sa pinakahuling utos na nauuna sa kasalukuyang posisyon sa listahan ng kasaysayan
nagsisimula sa pisi.
!?pisi[?]
Sumangguni sa pinakahuling utos na nauuna sa kasalukuyang posisyon sa listahan ng kasaysayan
Na naglalaman ng pisi. Ang trailing ? maaaring tanggalin kung pisi ay sinusunod kaagad
sa pamamagitan ng isang bagong linya.
^string1^string2^
Mabilis na pagpapalit. Ulitin ang nakaraang utos, palitan string1 sa string2.
Katumbas ng ``!!:s/string1/string2/'' (tingnan Mga Modifier sa ibaba).
!# Ang buong command line ay nag-type sa ngayon.

Salita Mga Designator
Ginagamit ang mga word designator upang pumili ng mga gustong salita mula sa kaganapan. A : naghihiwalay sa kaganapan
espesipikasyon mula sa salitang tagatukoy. Maaaring tanggalin ito kung nagsisimula ang salitang tagatukoy
na may isang ^, $, *, -, O %. Ang mga salita ay binibilang mula sa simula ng linya, na may
unang salita na tinutukoy ng 0 (zero). Ang mga salita ay ipinasok sa kasalukuyang linya na pinaghihiwalay
sa pamamagitan ng iisang espasyo.

0 (zero)
Ang zero na salita. Para sa shell, ito ang command word.
n Ang nika salita.
^ Ang unang argumento. Ibig sabihin, salita 1.
$ Ang huling salita. Ito ay karaniwang ang huling argumento, ngunit lalawak sa zeroth
salita kung may isang salita lamang sa linya.
% Ang salitang tumugma sa pinakahuling `?pisi?' paghahanap.
x-y Isang hanay ng mga salita; `-y' pinaikling `0-y'.
* Lahat ng mga salita maliban sa zeroth. Ito ay kasingkahulugan ng `1-$'. Ito ay hindi isang pagkakamali
upang gamitin ang * kung mayroon lamang isang salita sa kaganapan; ibinalik ang walang laman na string
kaso yun.
x* Pinaikli x-$.
x- Pinaikli x-$ gaya ng x*, ngunit inalis ang huling salita.

Kung ang isang word designator ay ibinibigay nang walang detalye ng kaganapan, ang naunang command ay
ginamit bilang kaganapan.

Mga Modifier
Pagkatapos ng opsyonal na word designator, maaaring may lumabas na sequence ng isa o higit pa sa
sumusunod na mga modifier, bawat isa ay pinangungunahan ng isang `:'.

h Alisin ang isang sumusunod na bahagi ng filename, iiwan lamang ang ulo.
t Alisin ang lahat ng nangungunang bahagi ng filename, iiwan ang buntot.
r Alisin ang isang trailing suffix ng form Xxx., na iniiwan ang basename.
e Alisin ang lahat maliban sa trailing suffix.
p I-print ang bagong command ngunit huwag isagawa ito.
q Sipiin ang mga pinalit na salita, na tinatakasan ang mga karagdagang pagpapalit.
x Sipiin ang mga salitang ipinalit tulad ng sa q, ngunit masira sa mga salita sa mga blangko at mga bagong linya.
s/luma/bago/
Kapalit bago para sa unang paglitaw ng luma sa linya ng kaganapan. Anumang delimiter
maaaring magamit sa lugar ng /. Opsyonal ang panghuling delimiter kung ito ang huli
katangian ng linya ng kaganapan. Maaaring sipiin ang delimiter sa luma at bago na may isang
solong backslash. Kung & lalabas sa bago, ito ay pinalitan ng luma. Isang backslash
sisipiin ang &. Kung luma ay null, ito ay nakatakda sa huli luma pinalitan, o, kung hindi
naganap ang mga nakaraang pagpapalit sa kasaysayan, ang huli pisi sa isang !?pisi[?]
maghanap.
& Ulitin ang nakaraang pagpapalit.
g Dahilan upang mailapat ang mga pagbabago sa buong linya ng kaganapan. Ito ay ginagamit sa
kaakibat ng `:s' (hal., `:gs/luma/bago/') o `:&'. Kung ginamit sa `:s', kahit ano
Ang delimiter ay maaaring gamitin bilang kapalit ng /, at ang panghuling delimiter ay opsyonal kung ito ay
ang huling karakter ng linya ng kaganapan. An a maaaring gamitin bilang kasingkahulugan ng g.
G Ilapat ang sumusunod `s' modifier nang isang beses sa bawat salita sa linya ng kaganapan.

KABIBI BUILTIN UTOS


Maliban kung binanggit, ang bawat builtin na command ay nakadokumento sa seksyong ito bilang pagtanggap
mga pagpipilian na sinundan ng - tumatanggap -- upang ipahiwatig ang pagtatapos ng mga pagpipilian. Ang :, totoo, hindi totoo,
at pagsusulit ang mga builtin ay hindi tumatanggap ng mga opsyon at hindi ginagamot -- lalo na. Ang lumabas, -logout,
masira, magpatuloy, pabayaan, at ilipat tinatanggap at pinoproseso ng mga builtin ang mga argumento na nagsisimula sa -
nang hindi nangangailangan --. Iba pang mga builtin na tumatanggap ng mga argumento ngunit hindi tinukoy bilang
pagtanggap ng mga opsyon bigyang-kahulugan ang mga argumento na nagsisimula sa - bilang di-wastong mga opsyon at nangangailangan --
upang maiwasan ang interpretasyong ito.
: [argumento]
Walang epekto; ang utos ay walang ginagawa maliban sa pagpapalawak argumento at gumaganap ng anuman
tinukoy na mga pag-redirect. Isang zero exit code ang ibinalik.

. filename [argumento]
pinagmulan filename [argumento]
Basahin at isagawa ang mga utos mula sa filename sa kasalukuyang kapaligiran ng shell at bumalik
ang exit status ng huling command na pinaandar mula sa filename. Kung filename hindi
naglalaman ng slash, mga filename sa PATH ay ginagamit upang mahanap ang direktoryo na naglalaman ng
filename. Hinanap ng file sa PATH hindi kailangang maisakatuparan. Kailan malakas na palo Hindi
in posix paraan, hahanapin ang kasalukuyang direktoryo kung walang nakitang file sa PATH. Kung
ang sourcepath opsyon sa tindahan naka-off ang builtin command, ang PATH Hindi
hinanap. Kung mayroon man argumento ay ibinibigay, nagiging mga positional na parameter ang mga ito
kailan filename ay pinaandar. Kung hindi, ang mga positional na parameter ay hindi nagbabago. Ang
Ang return status ay ang status ng huling command na lumabas sa loob ng script (0 kung hindi
ang mga utos ay isinasagawa), at mali kung filename ay hindi nahanap o hindi nababasa.

bansag [-p] [pangalan[=halaga] ...]
Bansag na walang mga argumento o may -p ang opsyon ay nagpi-print ng listahan ng mga alias sa
anyo bansag pangalan=halaga sa karaniwang output. Kapag ang mga argumento ay ibinigay, ang isang alias ay
tinukoy para sa bawat isa pangalan na halaga ay ibinigay. Isang trailing space sa halaga nagiging sanhi ng
susunod na salita na susuriin para sa pagpapalit ng alias kapag pinalawak ang alias. Para sa
bawat pangalan sa listahan ng argumento kung saan hindi halaga ay ibinigay, ang pangalan at halaga
ng alias ay naka-print. Bansag nagbabalik ng totoo maliban kung a pangalan ay ibinigay para sa kung saan hindi
natukoy ang alias.

bg [jobspec ...]
Ipagpatuloy ang bawat nasuspinde na trabaho jobspec sa background, na parang sinimulan
&. Kung jobspec ay hindi naroroon, ang paniwala ng shell ng kasalukuyan trabaho Ginagamit. bg
jobspec nagbabalik ng 0 maliban kung tumakbo kapag ang kontrol sa trabaho ay hindi pinagana o, kapag tumakbo kasama ng trabaho
pinagana ang kontrol, anumang tinukoy jobspec ay hindi natagpuan o nagsimula nang walang trabaho
control.

magtali [-m keymap] [-lpsvPSVX]
magtali [-m keymap] [-q tungkulin] [-u tungkulin] [-r keyseq]
magtali [-m keymap] -f filename
magtali [-m keymap] -x keyseq:shell-utos
magtali [-m keymap] keyseq:function-name
magtali readline-command
Ipakita ang kasalukuyang Basahin ang linya key at function bindings, itali ang isang key sequence sa a
Basahin ang linya function o macro, o set a Basahin ang linya variable. Ang bawat argumentong hindi opsyon
ay isang utos kung paano ito lilitaw sa .inputrc, ngunit ang bawat may-bisa o utos ay dapat na
ipinasa bilang isang hiwalay na argumento; hal, '"\Cx\Cr": re-read-init-file'. Mga pagpipilian, kung
ibinigay, ay may mga sumusunod na kahulugan:
-m keymap
paggamit keymap bilang keymap na maaapektuhan ng mga kasunod na binding.
Kasiya-siya keymap mga pangalan ay emacs, emacs-standard, emacs-meta, emacs-ctlx,
vi, vi-move, vi-utos, at vi-insert. vi ay katumbas ng vi-utos;
emacs ay katumbas ng emacs-standard.
-l Ilista ang mga pangalan ng lahat Basahin ang linya function.
-p display Basahin ang linya mga pangalan ng function at mga binding sa paraang maaari silang maging
muling basahin.
-P Ilista ang kasalukuyang Basahin ang linya mga pangalan ng function at mga binding.
-s display Basahin ang linya mga pangunahing sequence na nakatali sa mga macro at ang mga string na kanilang inilalabas
sa paraang mababasa muli ang mga ito.
-S display Basahin ang linya mga pangunahing sequence na nakatali sa mga macro at ang mga string na kanilang inilalabas.
-v display Basahin ang linya mga variable na pangalan at halaga sa paraang maaari silang maging
muling basahin.
-V Ilista ang kasalukuyang Basahin ang linya variable na pangalan at halaga.
-f filename
Basahin ang mga key binding mula sa filename.
-q tungkulin
Query tungkol sa kung aling mga key ang nagpapangalan sa pangalan tungkulin.
-u tungkulin
Alisin ang pagkakatali sa lahat ng mga key na nakatali sa pinangalanan tungkulin.
-r keyseq
Alisin ang anumang kasalukuyang binding para sa keyseq.
-x keyseq:shell-utos
Maging sanhi shell-utos ipapatupad kahit kailan keyseq ay ipinasok. Kailan
shell-utos ay naisakatuparan, ang shell ay nagtatakda ng READLINE_LINE variable sa
nilalaman ng Basahin ang linya line buffer at ang READLINE_POINT variable sa
kasalukuyang lokasyon ng insertion point. Kung nagbabago ang naisakatuparan na utos
ang halaga ng READLINE_LINE or READLINE_POINT, ang mga bagong halaga ay magiging
makikita sa estado ng pag-edit.
-X Ilista ang lahat ng mga pangunahing sequence na nakatali sa mga shell command at ang nauugnay na mga command
sa isang format na maaaring magamit muli bilang input.

Ang return value ay 0 maliban kung may ibinigay na hindi nakikilalang opsyon o may naganap na error.

masira [n]
Lumabas mula sa loob ng a para, habang, hanggang, O piliin loop. Kung n ay tinukoy, break n
mga antas. n dapat ≥ 1. Kung n ay mas malaki kaysa sa bilang ng mga nakapaloob na mga loop, lahat
ang nakapaloob na mga loop ay lumabas. Ang return value ay 0 maliban kung n ay hindi mas malaki kaysa sa o
katumbas ng 1.

builtin shell-built [argumento]
Ipatupad ang tinukoy na shell builtin, ipasa ito argumento, at ibalik ang labasan nito
katayuan. Ito ay kapaki-pakinabang kapag tinutukoy ang isang function na ang pangalan ay kapareho ng isang shell
builtin, pinapanatili ang functionality ng builtin sa loob ng function. Ang cd
Ang builtin ay karaniwang muling tinukoy sa ganitong paraan. Mali ang status ng pagbabalik kung
shell-built ay hindi isang shell builtin command.

tumatawag [ipahayag]
Ibinabalik ang konteksto ng anumang aktibong subroutine na tawag (isang shell function o isang script
isinagawa kasama ang . or pinagmulan builtin). Kung wala ipahayag, tumatawag ipinapakita ang linya
numero at source filename ng kasalukuyang subroutine na tawag. Kung hindi negatibo
integer ay ibinibigay bilang ipahayag, tumatawag ipinapakita ang numero ng linya, pangalan ng subroutine, at
source file na naaayon sa posisyong iyon sa kasalukuyang stack ng execution call.
Maaaring gamitin ang karagdagang impormasyong ito, halimbawa, upang mag-print ng stack trace. Ang
kasalukuyang frame ay frame 0. Ang return value ay 0 maliban kung ang shell ay hindi executing
isang subroutine na tawag o ipahayag ay hindi tumutugma sa isang wastong posisyon sa tawag
salansan.

cd [-L|[-P [-e]] [-@]] [dir]
Baguhin ang kasalukuyang direktoryo sa dir. kung dir ay hindi ibinibigay, ang halaga ng HOME
Ang variable ng shell ay ang default. Anumang karagdagang mga argumento na sumusunod dir ay hindi pinansin.
Ang variable CDPATH tumutukoy sa landas ng paghahanap para sa direktoryo na naglalaman dir: bawat isa
pangalan ng direktoryo sa CDPATH ay hinahanap dir. Mga alternatibong pangalan ng direktoryo sa
CDPATH ay pinaghihiwalay ng tutuldok (:). Isang null na pangalan ng direktoryo sa CDPATH ay pareho
bilang kasalukuyang direktoryo, ibig sabihin, ``.''. Kung dir nagsisimula sa isang slash (/), pagkatapos CDPATH
ay hindi ginagamit. Ang -P mga sanhi ng opsyon cd upang gamitin ang istraktura ng pisikal na direktoryo sa pamamagitan ng
paglutas ng mga simbolikong link habang binabagtas dir at bago iproseso ang mga pagkakataon ng ..
in dir (tingnan din ang -P opsyon sa itakda builtin command); ang -L mga puwersa ng opsyon
simbolikong mga link na susundan ng paglutas sa link pagkatapos ng pagproseso ng mga pagkakataon ng
.. in dir. Kung .. lilitaw sa dir, ito ay pinoproseso sa pamamagitan ng pag-alis kaagad ng
nakaraang bahagi ng pathname mula sa dir, bumalik sa isang slash o simula ng dir. Kung
ang -e ang opsyon ay ibinibigay sa -P, at ang kasalukuyang gumaganang direktoryo ay hindi maaaring
matagumpay na natukoy pagkatapos ng matagumpay na pagbabago ng direktoryo, cd babalik ang isang
hindi matagumpay na katayuan. Sa mga sistemang sumusuporta dito, ang -@ ang opsyon ay nagpapakita ng
pinahabang mga katangian na nauugnay sa isang file bilang isang direktoryo. Isang argumento ng - is
pinalitan sa $OLDPWD bago subukan ang pagbabago ng direktoryo. Kung isang hindi walang laman
pangalan ng direktoryo mula sa CDPATH ay ginagamit, o kung - ay ang unang argumento, at ang
matagumpay ang pagbabago ng direktoryo, ang ganap na pathname ng bagong gumaganang direktoryo
ay nakasulat sa karaniwang output. Ang return value ay totoo kung ang direktoryo ay
matagumpay na nabago; false kung hindi.

utos [-pVv] utos [arg ...]
Tumakbo utos sa mga pagtatalo pinipigilan ang normal na paghahanap ng function ng shell. Tanging builtin
utos o utos na makikita sa PATH ay pinaandar. Kung ang -p ibinigay ang pagpipilian,
ang paghahanap para sa utos ay isinagawa gamit ang isang default na halaga para sa PATH iyon ay
garantisadong mahanap ang lahat ng mga karaniwang kagamitan. Kung alinman sa -V or -v Ang opsyon ay
ibinigay, isang paglalarawan ng utos ay nakalimbag. Ang -v ang pagpipilian ay nagiging sanhi ng isang salita
na nagpapahiwatig ng utos o filename na ginamit upang mag-invoke utos ipapakita; ang -V
ang pagpipilian ay gumagawa ng isang mas maraming salita na paglalarawan. Kung ang -V or -v ang opsyon ay ibinibigay,
ang exit status ay 0 kung utos ay natagpuan, at 1 kung hindi. Kung walang pagpipilian
ibinigay at nagkaroon ng error o utos hindi mahanap, ang exit status ay 127.
Kung hindi, ang exit status ng utos builtin ay ang exit status ng utos.

compgen [opsyon] [salita]
Bumuo ng posibleng pagkumpleto ng mga tugma para sa salita ayon sa opsyons, na maaaring
maging anumang opsyon na tinatanggap ng matapos builtin maliban sa -p at -r, at
isulat ang mga tugma sa karaniwang output. Kapag ginagamit ang -F or -C mga pagpipilian, ang
iba't ibang mga variable ng shell na itinakda ng mga programmable completion facility, habang
magagamit, hindi magkakaroon ng mga kapaki-pakinabang na halaga.

Ang mga tugma ay bubuo sa parehong paraan na parang ang programmable na pagkumpleto
Ang code ay nakabuo ng mga ito nang direkta mula sa isang detalye ng pagkumpleto na may pareho
mga watawat. Kung salita ay tinukoy, tanging ang mga pagkumpleto na tumutugma salita ay
ipinakita

Ang ibinalik na halaga ay totoo maliban kung ang isang di-wastong opsyon ay ibinigay, o walang tugma
nabuo

matapos [-abcdefgjksuv] [-o comp-opsyon] [-DE] [-A aksyon] [-G globpat] [-W listahan ng salita] [-F
tungkulin] [-C utos]
[-X filterpat] [-P unlapi] [-S suffix] pangalan [pangalan ...]
matapos -pr [-DE] [pangalan ...]
Tukuyin kung paano ang mga argumento sa bawat isa pangalan dapat makumpleto. Kung ang -p Ang opsyon ay
ibinibigay, o kung walang mga opsyon na ibinibigay, ang mga umiiral na detalye ng pagkumpleto ay
naka-print sa paraang nagbibigay-daan sa kanila na magamit muli bilang input. Ang -r ang opsyon ay nag-aalis ng a
detalye ng pagkumpleto para sa bawat isa pangalan, o, kung hindi pangalans ay ibinibigay, lahat
mga pagtutukoy sa pagkumpleto. Ang -D ang opsyon ay nagpapahiwatig na ang natitirang mga opsyon at
dapat ilapat ang mga aksyon sa pagkumpleto ng command na ``default'; ibig sabihin, pagkumpleto
sinubukan sa isang utos kung saan hindi pa natukoy ang pagkumpleto. Ang -E
ang opsyon ay nagpapahiwatig na ang natitirang mga opsyon at aksyon ay dapat na malapat sa ``walang laman''
pagkumpleto ng utos; iyon ay, tinangka ang pagkumpleto sa isang blangkong linya.

Ang proseso ng paglalapat ng mga pagtutukoy sa pagkumpleto na ito kapag ang pagkumpleto ng salita ay
ang sinubukan ay inilarawan sa itaas sa ilalim Programmable pagtatapos.

Ang iba pang mga opsyon, kung tinukoy, ay may mga sumusunod na kahulugan. Ang mga argumento sa -G,
-W, at -X mga opsyon (at, kung kinakailangan, ang -P at -S mga opsyon) ay dapat na naka-quote sa
protektahan sila mula sa pagpapalawak bago ang matapos builtin ay invoked.
-o comp-opsyon
Ang comp-opsyon kinokontrol ang ilang aspeto ng pag-uugali ng compspec sa kabila
ang simpleng henerasyon ng mga pagkumpleto. comp-opsyon maaaring isa sa:
bashdefault
Gawin ang natitirang default malakas na palo pagkumpleto kung ang compspec
hindi bumubuo ng mga tugma.
default Gamitin ang default na filename completion ng readline kung ang compspec
hindi bumubuo ng mga tugma.
dirnames
Magsagawa ng pagkumpleto ng pangalan ng direktoryo kung ang compspec ay bumubuo ng no
tugma
mga filename
Sabihin sa readline na ang compspec ay bumubuo ng mga filename, kaya magagawa nito
magsagawa ng anumang pagproseso na tukoy sa filename (tulad ng pagdaragdag ng slash sa
mga pangalan ng direktoryo, pagsipi ng mga espesyal na karakter, o pagpigil
mga puwang sa likuran). Nilalayon na gamitin sa mga function ng shell.
walang panipi Sabihin sa readline na huwag sipiin ang mga natapos na salita kung ito nga
mga filename (ang pag-quote sa mga filename ang default).
walang puwang Sabihin sa readline na huwag magdagdag ng espasyo (ang default) sa mga salita
natapos sa dulo ng linya.
plusdirs
Matapos mabuo ang anumang mga tugma na tinukoy ng compspec, direktoryo
tinangka ang pagkumpleto ng pangalan at anumang mga tugma ay idinagdag sa
mga resulta ng iba pang mga aksyon.
-A aksyon
Ang aksyon maaaring isa sa mga sumusunod upang makabuo ng listahan ng mga posible
mga pagkumpleto:
bansag Mga pangalan ng alyas. Maaari ding tukuyin bilang -a.
arrayvar
Array variable na pangalan.
umiiral Basahin ang linya mga pangalan na nagbubuklod ng susi.
builtin Mga pangalan ng shell builtin command. Maaari ding tukuyin bilang -b.
utos Mga pangalan ng command. Maaari ding tukuyin bilang -c.
direktoryo
Mga pangalan ng direktoryo. Maaari ding tukuyin bilang -d.
hindi pinagana
Mga pangalan ng hindi pinaganang mga builtin ng shell.
Pinagana Mga pangalan ng pinaganang shell builtin.
i-export Mga pangalan ng na-export na mga variable ng shell. Maaari ding tukuyin bilang -e.
file Mga pangalan ng file. Maaari ding tukuyin bilang -f.
tungkulin
Mga pangalan ng mga function ng shell.
grupo Mga pangalan ng pangkat. Maaari ding tukuyin bilang -g.
helptopic
Mga paksa ng tulong bilang tinanggap ng Tulungan builtin.
hostname
Mga hostname, gaya ng kinuha mula sa file na tinukoy ng HOSTFILE talukap ng alimango
variable
trabaho Mga pangalan ng trabaho, kung aktibo ang kontrol sa trabaho. Maaari ding tukuyin bilang -j.
keyword Mga salitang nakalaan sa shell. Maaari ding tukuyin bilang -k.
tumatakbo Mga pangalan ng tumatakbong trabaho, kung aktibo ang kontrol sa trabaho.
serbisyo Mga pangalan ng serbisyo. Maaari ding tukuyin bilang -s.
setopt Mga wastong argumento para sa -o opsyon sa itakda builtin.
tindahan Mga pangalan ng opsyon sa Shell bilang tinatanggap ng tindahan builtin.
senyas Mga pangalan ng signal.
arestado Mga pangalan ng mga nahintong trabaho, kung aktibo ang kontrol sa trabaho.
gumagamit Mga user name. Maaari ding tukuyin bilang -u.
nagbabago
Mga pangalan ng lahat ng mga variable ng shell. Maaari ding tukuyin bilang -v.
-C utos
utos ay isinasagawa sa isang subshell na kapaligiran, at ang output nito ay ginagamit bilang
ang mga posibleng pagkumpleto.
-F tungkulin
Ang pag-andar ng shell tungkulin ay pinaandar sa kasalukuyang kapaligiran ng shell.
Kapag ang function ay naisakatuparan, ang unang argumento ($1) ay ang pangalan ng
utos na ang mga argumento ay kinukumpleto, ang pangalawang argumento ($2) ay
ang salita ay nakumpleto, at ang ikatlong argumento ($3) ay ang salitang nauuna
ang salitang kinukumpleto sa kasalukuyang command line. Kapag natapos na,
ang mga posibleng pagkumpleto ay kinukuha mula sa halaga ng SUMUNOD
variable ng array.
-G globpat
Ang pattern ng pagpapalawak ng pathname globpat ay pinalawak upang makabuo ng posible
mga pagkumpleto.
-P unlapi
unlapi ay idinagdag sa simula ng bawat posibleng pagkumpleto pagkatapos ng lahat
ang iba pang mga opsyon ay inilapat.
-S suffix
suffix ay idinagdag sa bawat posibleng pagkumpleto pagkatapos ng lahat ng iba pang mga opsyon
inilapat.
-W listahan ng salita
Ang listahan ng salita ay nahahati gamit ang mga karakter sa IFS espesyal na variable bilang
delimiters, at ang bawat resultang salita ay pinalawak. Ang mga posibleng pagkumpleto
ay ang mga miyembro ng resultang listahan na tumutugma sa salitang kinukumpleto.
-X filterpat
filterpat ay isang pattern na ginagamit para sa pagpapalawak ng pathname. Ito ay inilapat sa
ang listahan ng mga posibleng pagkumpleto na nabuo ng mga naunang opsyon at
argumento, at pagtutugma ng bawat pagkumpleto filterpat ay tinanggal mula sa listahan.
Isang nangunguna ! in filterpat tinatanggihan ang pattern; sa kasong ito, anumang pagkumpleto
hindi tumutugma filterpat ay tinanggal.

Totoo ang return value maliban kung may ibinigay na di-wastong opsyon, isang opsyon maliban sa
-p or -r ay ibinibigay nang walang a pangalan argumento, isang pagtatangka ay ginawa upang alisin ang a
detalye ng pagkumpleto para sa a pangalan kung saan walang detalyeng umiiral, o isang error
nangyayari ang pagdaragdag ng detalye ng pagkumpleto.

compopt [-o opsyon] [-DE] [+o opsyon] [pangalan]
Baguhin ang mga opsyon sa pagkumpleto para sa bawat isa pangalan ayon sa opsyons, o para sa
kasalukuyang nagsasagawa ng pagkumpleto kung hindi pangalans ay ibinibigay. Kung hindi opsyons ay ibinigay,
ipakita ang mga opsyon sa pagkumpleto para sa bawat isa pangalan o ang kasalukuyang pagkumpleto. Ang
posibleng mga halaga ng opsyon wasto ba ang mga iyon para sa matapos builtin na inilarawan sa itaas.
Ang -D ang opsyon ay nagpapahiwatig na ang natitirang mga opsyon ay dapat na malapat sa ``default''
pagkumpleto ng utos; ibig sabihin, tinangka ang pagkumpleto sa isang utos kung saan hindi
naunang tinukoy ang pagkumpleto. Ang -E ang opsyon ay nagpapahiwatig na ang natitira
ang mga opsyon ay dapat malapat sa ``empty'' command completion; ibig sabihin, tinangka ang pagkumpleto
sa isang blangkong linya.

Ang ibinalik na halaga ay totoo maliban kung ang isang hindi wastong opsyon ay ibinigay, isang pagtatangka ay ginawa
upang baguhin ang mga opsyon para sa a pangalan kung saan walang umiiral na detalye ng pagkumpleto, o
nangyayari ang isang error sa output.

magpatuloy [n]
Ipagpatuloy ang susunod na pag-ulit ng kalakip para, habang, hanggang, O piliin loop. Kung n
ay tinukoy, ipagpatuloy sa nika kalakip na loop. n dapat ≥ 1. Kung n ay mahigit
kaysa sa bilang ng mga nakapaloob na loop, ang huling nakapaloob na loop (ang ``top-level''
loop) ay ipinagpatuloy. Ang return value ay 0 maliban kung n ay hindi mas malaki kaysa o katumbas ng
1.

magpahayag [-aAfFgilnrtux] [-p] [pangalan[=halaga] ...]
typeset [-aAfFgilnrtux] [-p] [pangalan[=halaga] ...]
Ipahayag ang mga variable at/o bigyan sila ng mga katangian. Kung hindi pangalans ay ibinigay pagkatapos ay ipinapakita
ang mga halaga ng mga variable. Ang -p ipapakita ng opsyon ang mga katangian at halaga ng
bawat pangalan. Kailan -p ay ginagamit sa pangalan mga argumento, karagdagang mga opsyon, maliban sa -f
at -F, ay hindi pinapansin. Kailan -p ay ibinibigay nang wala pangalan argumento, ito ay ipapakita
ang mga katangian at halaga ng lahat ng mga variable na mayroong mga katangiang tinukoy ng
karagdagang Pagpipilian. Kung walang ibang opsyon na ibinibigay sa -p, magpahayag ipapakita
ang mga katangian at halaga ng lahat ng mga variable ng shell. Ang -f ang opsyon ay maghihigpit sa
ipakita sa mga function ng shell. Ang -F pinipigilan ng opsyon ang pagpapakita ng function
mga kahulugan; tanging ang pangalan ng function at mga katangian ang naka-print. Kung ang extdebug
Ang pagpipiliang shell ay pinagana gamit ang tindahan, ang pangalan ng source file at numero ng linya kung saan ang
function ay tinukoy ay ipinapakita rin. Ang -F ipinahihiwatig ng opsyon -f. ang -g
pinipilit ng opsyon na gawin o baguhin ang mga variable sa pandaigdigang saklaw, kahit na kailan
magpahayag ay pinaandar sa isang function ng shell. Ito ay hindi pinapansin sa lahat ng iba pang mga kaso. Ang
ang mga sumusunod na opsyon ay maaaring gamitin upang paghigpitan ang output sa mga variable na may tinukoy
attribute o para magbigay ng mga variable na attribute:
-a bawat pangalan ay isang naka-index na variable ng array (tingnan Mga Arrays sa itaas).
-A bawat pangalan ay isang associative array variable (tingnan ang Mga Arrays sa itaas).
-f Gumamit lamang ng mga pangalan ng function.
-i Ang variable ay itinuturing bilang isang integer; pagsusuri ng aritmetika (tingnan ARITMETIKO
Paghusga sa itaas) ay ginaganap kapag ang variable ay itinalaga ng isang halaga.
-l Kapag ang variable ay itinalaga ng isang halaga, ang lahat ng mga upper-case na character ay
na-convert sa lower-case. Naka-disable ang attribute na upper-case.
-n Bigyan ang bawat isa pangalan ang nameref attribute, ginagawa itong isang sanggunian ng pangalan sa isa pa
variable. Ang ibang variable na iyon ay tinutukoy ng halaga ng pangalan. Lahat
mga sanggunian at takdang-aralin sa pangalan, maliban sa pagbabago ng -n katangian
mismo, ay ginagawa sa variable na isinangguni ng pangalanhalaga ni. Ang -n
hindi mailalapat ang attribute sa mga variable ng array.
-r gumawa pangalans readonly. Ang mga pangalang ito ay hindi maaaring italaga ng mga halaga ng
kasunod na mga pahayag ng pagtatalaga o hindi nakatakda.
-t Bigyan ang bawat isa pangalan ang kopyahin o sipiin sa pamamagitan ng pag-aninag katangian. Ang mga traced function ay namamana ng MGA DEBUG at
RETURN mga bitag mula sa shell ng pagtawag. Ang trace attribute ay walang espesyal
kahulugan para sa mga variable.
-u Kapag ang variable ay itinalaga ng isang halaga, ang lahat ng mga lower-case na character ay
na-convert sa upper-case. Naka-disable ang attribute na lower-case.
-x Utak ng buto pangalans para sa pag-export sa kasunod na mga utos sa pamamagitan ng kapaligiran.

Ang paggamit ng `+' sa halip na `-' ay in-off ang attribute sa halip, kasama ang mga exception na iyon
+a ay hindi maaaring gamitin upang sirain ang isang array variable at +r hindi aalisin ang readonly
katangian. Kapag ginamit sa isang function, magpahayag at typeset gawin ang bawat isa pangalan lokal, bilang
sa lokal utos, maliban kung ang -g ang opsyon ay ibinibigay. Kung ang isang variable na pangalan ay
sinundan ng =halaga, ang halaga ng variable ay nakatakda sa halaga. Kapag gumagamit -a or -A
at ang compound assignment syntax upang lumikha ng mga variable ng array, mga karagdagang attribute
huwag magkakabisa hanggang sa mga susunod na takdang-aralin. Ang return value ay 0 maliban kung an
hindi wastong opsyon ay nakatagpo, isang pagtatangka ay ginawa upang tukuyin ang isang function gamit ang ``-f
foo=bar'', isang pagtatangka ay ginawa upang magtalaga ng isang halaga sa isang readonly na variable, isang pagtatangka
ay ginawa upang magtalaga ng isang halaga sa isang array variable nang hindi ginagamit ang tambalan
syntax ng pagtatalaga (tingnan Mga Arrays sa itaas), isa sa pangalan ay hindi isang wastong shell
variable na pangalan, isang pagtatangka na i-off ang readonly status para sa isang readonly
variable, isang pagtatangka na i-off ang status ng array para sa isang array variable, o isang
pagtatangka ay ginawa upang ipakita ang isang hindi umiiral na function na may -f.

dirs [-clpv] [+n] [-n]
Kung walang mga pagpipilian, ipinapakita ang listahan ng mga kasalukuyang naaalalang direktoryo. Ang
Ang default na display ay nasa isang linya na may mga pangalan ng direktoryo na pinaghihiwalay ng mga puwang.
Ang mga direktoryo ay idinagdag sa listahan na may pushd utos; ang popd inaalis ng utos
mga entry mula sa listahan.
-c Tinatanggal ang stack ng direktoryo sa pamamagitan ng pagtanggal ng lahat ng mga entry.
-l Gumagawa ng listahan gamit ang buong mga pathname; ang default na format ng listahan ay gumagamit ng a
tilde upang tukuyin ang home directory.
-p I-print ang stack ng direktoryo na may isang entry sa bawat linya.
-v I-print ang salansan ng direktoryo na may isang entry sa bawat linya, na nilalagay sa prefix ang bawat entry
ang index nito sa stack.
+n Nagpapakita ng nika-nabibilang na entry mula sa kaliwa ng listahan na ipinakita ni dirs kailan
hinihingi nang walang mga pagpipilian, simula sa zero.
-n Nagpapakita ng nika-t entry na binibilang mula sa kanan ng listahang ipinakita ni dirs
kapag na-invoke nang walang mga pagpipilian, nagsisimula sa zero.

Ang ibinalik na halaga ay 0 maliban kung ang isang di-wastong opsyon ay ibinigay o n mga index na lampas sa
dulo ng stack ng direktoryo.

itakwil [-hangin] [-h] [jobspec ...]
Kung walang mga pagpipilian, alisin ang bawat isa jobspec mula sa talahanayan ng mga aktibong trabaho. Kung jobspec is
hindi naroroon, at ni ang -a ni ang -r ang opsyon ay ibinibigay, ang kasalukuyan trabaho is
ginamit. Kung ang -h ang pagpipilian ay ibinigay, bawat isa jobspec ay hindi inalis sa mesa, ngunit
ay minarkahan upang FOLLOW UP ay hindi ipinadala sa trabaho kung ang shell ay tumatanggap ng a FOLLOW UP. Kung
hindi jobspec ay ibinibigay, ang -a ibig sabihin ng opsyon ay alisin o markahan ang lahat ng trabaho; ang -r
opsyon na walang a jobspec Pinaghihigpitan ng argumento ang pagpapatakbo sa pagpapatakbo ng mga trabaho. Ang pagbabalik
ang halaga ay 0 maliban kung a jobspec ay hindi tumutukoy ng wastong trabaho.

miss [-neE] [arg ...]
I-output ang args, pinaghihiwalay ng mga puwang, na sinusundan ng isang bagong linya. Ang katayuan sa pagbabalik ay
0 maliban kung may nangyaring error sa pagsusulat. Kung -n ay tinukoy, ang sumusunod na bagong linya ay
pinigilan. Kung ang -e ang opsyon ay ibinigay, interpretasyon ng sumusunod na backslash-
naka-enable ang mga nakatakas na character. Ang -E hindi pinapagana ng opsyon ang interpretasyon ng mga ito
escape character, kahit na sa mga system kung saan binibigyang-kahulugan ang mga ito bilang default. Ang
xpg_echo shell opsyon ay maaaring gamitin upang dynamic na matukoy kung o hindi miss
pinapalawak ang mga escape character na ito bilang default. miss hindi nagpapakahulugan -- ibig sabihin ang
pagtatapos ng mga pagpipilian. miss binibigyang-kahulugan ang mga sumusunod na pagkakasunud-sunod ng pagtakas:
\a alerto (kampana)
\b backspace
\c sugpuin ang karagdagang output
\e
\E isang karakter sa pagtakas
\f form feed
\n bagong linya
\r pagbabalik ng karwahe
\t pahalang na tab
\v patayong tab
\\ pagtalikod
\0nnn ang walong-bit na karakter na ang halaga ay ang octal na halaga nnn (zero hanggang tatlo
octal digit)
\xHH ang walong-bit na character na ang halaga ay ang hexadecimal na halaga HH (isa o dalawa
hex digit)
\uHhhh ang Unicode (ISO/IEC 10646) character na ang value ay ang hexadecimal value
Hhhh (isa hanggang apat na hex na digit)
\UHHHHHHH
ang Unicode (ISO/IEC 10646) character na ang value ay ang hexadecimal value
HHHHHHH (isa hanggang walong hex na digit)

paganahin [-a] [-dnps] [-f filename] [pangalan ...]
Paganahin at huwag paganahin ang mga builtin na shell command. Ang hindi pagpapagana ng builtin ay nagbibigay-daan sa isang disk
utos na may parehong pangalan bilang isang shell builtin na ipapatupad nang wala
pagtukoy ng isang buong pathname, kahit na ang shell ay karaniwang naghahanap ng mga builtin
bago ang mga utos ng disk. Kung -n ay ginagamit, bawat isa pangalan ay hindi pinagana; kung hindi, pangalan ay
pinagana. Halimbawa, gamitin ang pagsusulit binary na natagpuan sa pamamagitan ng PATH sa halip ng
shell builtin na bersyon, patakbuhin ang `` paganahin ang -n test''. Ang -f ibig sabihin ng opsyon ay i-load ang bago
builtin na utos pangalan mula sa nakabahaging bagay filename, sa mga system na sumusuporta sa dynamic
naglo-load. Ang -d tatanggalin ng opsyon ang isang builtin na dating na-load -f. Kung hindi
pangalan ang mga argumento ay ibinigay, o kung ang -p ang opsyon ay ibinigay, isang listahan ng mga builtin ng shell
ay nakalimbag. Nang walang ibang mga argumento ng opsyon, ang listahan ay binubuo ng lahat ng pinaganang shell
builtins. Kung -n ay ibinibigay, tanging ang mga naka-disable na builtin ang naka-print. Kung -a is
ibinibigay, kasama sa nakalimbag na listahan ang lahat ng builtin, na may indikasyon kung o
hindi bawat isa ay pinagana. Kung -s ay ibinibigay, ang output ay limitado sa POSIX
espesyal builtins. Ang return value ay 0 maliban kung a pangalan ay hindi isang shell builtin o
may error sa paglo-load ng bagong builtin mula sa isang shared object.

eval [arg ...]
Ang args ay binabasa at pinagsama-sama sa iisang utos. Ang utos na ito ay
pagkatapos ay basahin at isagawa ng shell, at ang exit status nito ay ibinalik bilang halaga
of eval. Kung wala mga pagtatalo, o mga null argument lamang, eval nagbabalik ng 0.

exec [-cl] [-a pangalan] [utos [argumento]]
If utos ay tinukoy, pinapalitan nito ang shell. Walang nalikhang bagong proseso. Ang
argumento maging mga argumento sa utos. Kung ang -l ang opsyon ay ibinibigay, ang shell
naglalagay ng gitling sa simula ng zeroth argument na ipinasa sa utos. Ito ay
Ano login(1) ginagawa. Ang -c mga sanhi ng opsyon utos ipapatupad na may walang laman
kapaligiran. Kung -a ay ibinibigay, ang shell ay pumasa pangalan bilang ang zeroth argument sa
ang ipinatupad na utos. Kung utos hindi maaaring isagawa sa ilang kadahilanan, isang hindi
lalabas ang interactive na shell, maliban kung ang execfail Pinagana ang opsyon ng shell. Sa ganyan
kaso, nagbabalik ito ng kabiguan. Ang isang interactive na shell ay nagbabalik ng kabiguan kung ang file ay hindi
papatayin. Kung utos ay hindi tinukoy, ang anumang mga pag-redirect ay magkakabisa sa
kasalukuyang shell, at ang return status ay 0. Kung mayroong error sa pag-redirect, ang
ang katayuan sa pagbabalik ay 1.

lumabas [n]
Dahilan upang lumabas ang shell na may katayuan ng n. Kung n ay tinanggal, ang exit status ay
na sa huling utos na naisakatuparan. Isang bitag sa EXIT ay pinaandar bago ang shell
natatapos na.

i-export [-fn] [pangalan[=salita]] ...
i-export -p
Ang ibinigay pangalan ay minarkahan para sa awtomatikong pag-export sa kapaligiran ng
kasunod na naisakatuparan ang mga utos. Kung ang -f ang opsyon ay ibinigay, ang pangalan sumangguni sa
mga function. Kung hindi pangalan ay ibinigay, o kung ang -p ang opsyon ay ibinigay, isang listahan ng mga pangalan
sa lahat ng na-export na variable ay naka-print. Ang -n ang opsyon ay nagiging sanhi ng pag-export ng ari-arian sa
alisin sa bawat isa pangalan. Kung ang isang variable na pangalan ay sinusundan ng =salita, ang halaga ng
ang variable ay nakatakda sa salita. i-export nagbabalik ng exit status na 0 maliban kung hindi wasto
opsyon ay nakatagpo, isa sa pangalan ay hindi isang wastong pangalan ng variable ng shell, o -f
ay binibigyan ng a pangalan hindi yan function.

fc [-e ename] [-lnr] [una] [huli]
fc -s [tapik=rep] [cmd]
Ang unang form ay pumipili ng hanay ng mga command mula sa una sa huli mula sa listahan ng kasaysayan
at ipinapakita o ine-edit at muling isinasagawa ang mga ito. una at huli maaaring tukuyin bilang a
string (upang mahanap ang huling command na nagsisimula sa string na iyon) o bilang isang numero (an
index sa listahan ng kasaysayan, kung saan ang isang negatibong numero ay ginagamit bilang isang offset mula sa
kasalukuyang command number). Kung huli ay hindi tinukoy ito ay nakatakda sa kasalukuyang command
para sa listahan (upang mai-print ng ``fc -l -10'' ang huling 10 utos) at sa una
kung hindi. Kung una ay hindi tinukoy ito ay nakatakda sa nakaraang command para sa pag-edit
at -16 para sa listahan.

Ang -n pinipigilan ng opsyon ang mga numero ng command kapag naglilista. Ang -r binabaligtad ang pagpipilian
ang pagkakasunud-sunod ng mga utos. Kung ang -l ang opsyon ay ibinigay, ang mga utos ay nakalista sa
karaniwang output. Kung hindi, ang editor na ibinigay ni ename ay hinihingi sa isang file
naglalaman ng mga utos na iyon. Kung ename ay hindi ibinigay, ang halaga ng FCEDIT nagbabago
ay ginagamit, at ang halaga ng EDITOR if FCEDIT ay hindi nakatakda. Kung walang nakatakdang variable,
vi Ginagamit. Kapag kumpleto na ang pag-edit, ang mga na-edit na utos ay ie-echo at ipapatupad.

Sa pangalawang anyo, utos ay muling isinasagawa pagkatapos ng bawat pagkakataon ng tapik ay pinalitan
by rep. Utos ay binibigyang kahulugan katulad ng una sa itaas. Isang kapaki-pakinabang na alias na gagamitin
ito ay ``r="fc -s"'', upang ang pag-type ng ``r cc'' ay magpapatakbo ng huling utos na nagsisimula sa
Ang ``cc'' at ang pag-type ng ``r'' ay muling ipapatupad ang huling utos.

Kung ginamit ang unang form, ang return value ay 0 maliban kung ang isang invalid na opsyon ay
nakatagpo o una or huli tukuyin ang mga linya ng kasaysayan na wala sa saklaw. Kung ang -e opsyon
ay ibinibigay, ang return value ay ang halaga ng huling utos na naisakatuparan o nabigo
kung may naganap na error sa pansamantalang file ng mga utos. Kung ang pangalawang anyo ay
ginamit, ang katayuan ng pagbabalik ay ang utos na muling naisagawa, maliban kung cmd hindi
tumukoy ng wastong linya ng kasaysayan, kung saan fc nagbabalik ng kabiguan.

fg [jobspec]
Resume jobspec sa harapan, at gawin itong kasalukuyang trabaho. Kung jobspec Hindi
kasalukuyan, ang paniwala ng shell ng kasalukuyan trabaho Ginagamit. Ang halaga ng pagbabalik ay iyon
ng command na inilagay sa foreground, o pagkabigo kung tumakbo kapag ang kontrol ng trabaho ay
hindi pinagana o, kapag tumakbo nang naka-enable ang kontrol sa trabaho, kung jobspec ay hindi tumutukoy ng isang wastong
trabaho o jobspec tumutukoy sa isang trabahong sinimulan nang walang kontrol sa trabaho.

mga getopts optstring pangalan [mga pagtatalo]
mga getopts ay ginagamit ng mga pamamaraan ng shell upang i-parse ang mga positional na parameter. optstring
naglalaman ng mga character na opsyon na makikilala; kung ang isang tauhan ay sinusundan ng a
colon, ang opsyon ay inaasahang magkakaroon ng argumento, na dapat ihiwalay sa
ito sa pamamagitan ng puting espasyo. Maaaring hindi gamitin ang colon at tandang pananong bilang
mga character na opsyon. Sa bawat oras na ito ay tinatawag, mga getopts inilalagay ang susunod na opsyon sa
variable ng shell pangalan, pagsisimula pangalan kung wala ito, at ang index ng
susunod na argumento na ipoproseso sa variable OPTIND. OPTIND ay pinasimulan sa 1
sa bawat oras na ang shell o isang shell script ay invoke. Kapag ang isang opsyon ay nangangailangan ng isang
argumento, mga getopts inilalagay ang argumentong iyon sa variable OPTARG. Ginagawa ng shell
hindi na-reset OPTIND awtomatikong; dapat itong manu-manong i-reset sa pagitan ng maraming tawag sa
mga getopts sa loob ng parehong shell invocation kung isang bagong set ng mga parameter ang gagamitin.

Kapag ang dulo ng mga pagpipilian ay nakatagpo, mga getopts paglabas na may mas malaki ang return value
kaysa sa zero. OPTIND ay nakatakda sa index ng unang argumentong hindi opsyon, at pangalan
ay nakatakda sa ?.

mga getopts karaniwang pina-parse ang mga positional na parameter, ngunit kung mas maraming argumento ang ibibigay
in mga pagtatalo, mga getopts ibina-parse ang mga iyon sa halip.

mga getopts maaaring mag-ulat ng mga error sa dalawang paraan. Kung ang unang karakter ng optstring ay isang
colon, tahimik ginagamit ang pag-uulat ng error. Sa normal na operasyon, mga diagnostic na mensahe
ay naka-print kapag ang mga hindi wastong opsyon o nawawalang mga argumento ng opsyon ay nakatagpo. Kung
ang variable OPTERR ay nakatakda sa 0, walang mga mensahe ng error na ipapakita, kahit na ang
unang karakter ng optstring ay hindi isang colon.

Kung may nakitang di-wastong opsyon, mga getopts mga lugar? sa pangalan at, kung hindi tahimik, nagpi-print
isang mensahe ng error at hindi nakatakda OPTARG. Kung mga getopts ay tahimik, ang opsyon na karakter
ang natagpuan ay inilagay sa OPTARG at walang diagnostic message na naka-print.

Kung ang isang kinakailangang argumento ay hindi natagpuan, at mga getopts ay hindi tahimik, isang tandang pananong (?)
ay inilagay sa pangalan, OPTARG ay hindi nakatakda, at isang diagnostic na mensahe ay naka-print. Kung
mga getopts ay tahimik, pagkatapos ay isang colon (:) ay inilalagay sa pangalan at OPTARG ay nakatakda sa
Natagpuan ang character na opsyon.

mga getopts nagbabalik ng true kung may nakitang opsyon, tinukoy o hindi tinukoy. Nagbabalik ito
false kung ang dulo ng mga opsyon ay nakatagpo o may naganap na error.

sumira [-lr] [-p filename] [-dt] [pangalan]
Sa bawat oras sumira ay invoked, ang buong pathname ng command pangalan ay tinutukoy ng
naghahanap sa mga direktoryo sa $ PATH at naalala. Anumang dati-naalala
ang pathname ay itinapon. Kung ang -p ibinibigay ang opsyon, walang ginagawang paghahanap ng landas,
at filename ay ginagamit bilang buong filename ng command. Ang -r ang opsyon ay nagdudulot ng
shell upang makalimutan ang lahat ng natatandaang lokasyon. Ang -d ang opsyon ay nagiging sanhi ng pagkalimot ng shell
ang naaalalang lokasyon ng bawat isa pangalan. Kung ang -t opsyon ay ibinigay, ang buong
pathname kung saan ang bawat isa pangalan ang mga katumbas ay nakalimbag. Kung maramihan pangalan ang mga argumento ay
tinustusan ng -t, ang pangalan ay naka-print bago ang na-hash na buong pathname. Ang -l
ang opsyon ay nagdudulot ng pagpapakita ng output sa isang format na maaaring magamit muli bilang input. Kung
walang ibinigay na mga argumento, o kung lamang -l ay ibinigay, impormasyon tungkol sa remembered
ang mga utos ay nakalimbag. Ang katayuan sa pagbabalik ay totoo maliban kung a pangalan ay hindi nahanap o isang
hindi wastong opsyon ang ibinigay.

Tulungan [-dms] [huwaran]
Ipakita ang kapaki-pakinabang na impormasyon tungkol sa mga builtin na command. Kung huwaran ay tinukoy, Tulungan
nagbibigay ng detalyadong tulong sa lahat ng mga utos na tumutugma huwaran; kung hindi ay tulong para sa lahat ng
naka-print ang mga builtin at shell control structures.
-d Magpakita ng maikling paglalarawan ng bawat isa huwaran
-m Ipakita ang paglalarawan ng bawat isa huwaran sa isang format na tulad ng manpage
-s Magpakita lamang ng maikling buod ng paggamit para sa bawat isa huwaran

Ang katayuan sa pagbabalik ay 0 maliban kung walang tugmang command huwaran.

kasaysayan [n]
kasaysayan -c
kasaysayan -d ginalaw
kasaysayan -anrw [filename]
kasaysayan -p arg [arg ...]
kasaysayan -s arg [arg ...]
Nang walang mga pagpipilian, ipakita ang listahan ng kasaysayan ng command na may mga numero ng linya. Mga linyang nakalista
na may isang * ay binago. Isang argumento ng n naglilista lamang ng huli n mga linya. Kung ang
variable ng shell HIST TIME FORMAT ay nakatakda at hindi null, ito ay ginagamit bilang isang format na string
para strftime(3) upang ipakita ang time stamp na nauugnay sa bawat ipinapakitang kasaysayan
pagpasok. Walang intervening blank na naka-print sa pagitan ng na-format na time stamp at ng
linya ng kasaysayan. Kung filename ay ibinibigay, ginagamit ito bilang pangalan ng file ng kasaysayan;
kung hindi, ang halaga ng HISTFILE Ginagamit. Ang mga opsyon, kung ibinibigay, ay mayroong sumusunod
kahulugan:
-c I-clear ang listahan ng kasaysayan sa pamamagitan ng pagtanggal ng lahat ng mga entry.
-d ginalaw
Tanggalin ang entry sa kasaysayan sa posisyon ginalaw.
-a Idagdag ang ``bago'' mga linya ng kasaysayan (mga linya ng kasaysayan na ipinasok mula pa noong simula
ng kasalukuyang malakas na palo session) sa history file.
-n Basahin ang mga linya ng kasaysayan na hindi pa nababasa mula sa file ng kasaysayan patungo sa
kasalukuyang listahan ng kasaysayan. Ito ang mga linyang idinagdag sa history file mula noon
simula ng agos malakas na palo session.
-r Basahin ang mga nilalaman ng file ng kasaysayan at idagdag ang mga ito sa kasalukuyang kasaysayan
listahan.
-w Isulat ang kasalukuyang listahan ng kasaysayan sa file ng kasaysayan, na i-overwrite ang kasaysayan
nilalaman ng file.
-p Magsagawa ng pagpapalit ng kasaysayan sa mga sumusunod mga pagtatalo at ipakita ang resulta sa
ang karaniwang output. Hindi iniimbak ang mga resulta sa listahan ng kasaysayan. Bawat isa
arg dapat na naka-quote upang hindi paganahin ang normal na pagpapalawak ng kasaysayan.
-s Itabi ang mga pagtatalo sa listahan ng kasaysayan bilang isang entry. Ang huling utos sa
ang listahan ng kasaysayan ay tinanggal bago ang mga pagtatalo ay idinagdag.

Kung ang HIST TIME FORMAT variable ay nakatakda, ang impormasyon ng time stamp na nauugnay sa
ang bawat entry sa kasaysayan ay nakasulat sa history file, na minarkahan ng history comment
karakter. Kapag nabasa ang history file, ang mga linyang nagsisimula sa history ay nagkomento
character na sinusundan kaagad ng isang digit ay binibigyang-kahulugan bilang mga timestamp para sa
nakaraang linya ng kasaysayan. Ang return value ay 0 maliban kung ang isang invalid na opsyon ay
nakatagpo, may naganap na error habang binabasa o isinusulat ang history file, isang hindi wasto
ginalaw ay ibinibigay bilang argumento sa -d, o ang pagpapalawak ng kasaysayan na ibinigay bilang isang
pagtatalo sa -p nabigo.

trabaho [-lnprs] [ jobspec ... ]
trabaho -x utos [ mga pagtatalo ... ]
Ang unang form ay naglilista ng mga aktibong trabaho. Ang mga pagpipilian ay may mga sumusunod na kahulugan:
-l Ilista ang mga ID ng proseso bilang karagdagan sa normal na impormasyon.
-n Ipakita lamang ang impormasyon tungkol sa mga trabahong nagbago ng katayuan mula noong gumagamit
huling naabisuhan ng kanilang katayuan.
-p Ilista lamang ang process ID ng pinuno ng pangkat ng proseso ng trabaho.
-r Ipakita lamang ang mga tumatakbong trabaho.
-s Mga nakahinto lang na trabaho ang display.

If jobspec ay ibinigay, ang output ay limitado sa impormasyon tungkol sa trabahong iyon. Ang
ang katayuan sa pagbabalik ay 0 maliban kung may maranasan na di-wastong opsyon o di-wasto jobspec is
ibinibigay.

Kung ang -x ang opsyon ay ibinibigay, trabaho pinapalitan ang anuman jobspec natagpuan sa utos or mga pagtatalo
na may katumbas na ID ng pangkat ng proseso, at ipapatupad utos pagpasa nito mga pagtatalo,
ibinabalik ang katayuan sa paglabas nito.

pumatay [-s sigspec | -n tanda | -sigspec] [pid | jobspec] ...
pumatay -l [sigspec | exit_status]
Ipadala ang signal na pinangalanan ni sigspec or tanda sa mga prosesong pinangalanan ni pid or
jobspec. sigspec ay alinman sa case-insensitive na pangalan ng signal gaya ng SIGKILL (kasama ang o
wala ang SIG prefix) o isang signal number; tanda ay isang signal number. Kung sigspec
ay hindi naroroon, kung gayon TARGET TERM ay ipinapalagay. Isang argumento ng -l naglilista ng mga pangalan ng signal.
Kung anumang argumento ang ibinibigay kung kailan -l ay ibinigay, ang mga pangalan ng mga signal
naaayon sa mga argumento ay nakalista, at ang return status ay 0. Ang
exit_status pagtatalo sa -l ay isang numero na tumutukoy sa alinman sa isang signal number o ang
exit status ng isang proseso na tinapos ng signal. pumatay nagbabalik ng totoo kung kahit isa
matagumpay na naipadala ang signal, o false kung may naganap na error o hindi wastong opsyon
nakatagpo.

pabayaan arg [arg ...]
bawat arg ay isang arithmetic expression na susuriin (tingnan ARITMETIKO Paghusga
sa itaas). Kung ang huli arg sinusuri sa 0, pabayaan nagbabalik ng 1; 0 ay ibinalik kung hindi man.

lokal [opsyon] [pangalan[=halaga] ...]
Para sa bawat argument, isang lokal na variable na pinangalanan pangalan ay nilikha, at itinalaga halaga. ang
opsyon maaaring alinman sa mga opsyon na tinatanggap ng magpahayag. Kailan lokal ay ginagamit sa loob ng a
function, nagiging sanhi ito ng variable pangalan upang magkaroon ng nakikitang saklaw na limitado doon
function at mga anak nito. Nang walang operand, lokal nagsusulat ng listahan ng lokal
mga variable sa karaniwang output. Ito ay isang error sa paggamit lokal kapag wala sa loob ng a
function. Ang katayuan sa pagbabalik ay 0 maliban kung lokal ay ginagamit sa labas ng isang function, isang
hindi wasto pangalan ay ibinibigay, o pangalan ay isang readonly na variable.

-logout Lumabas sa isang login shell.

mapfile [-n bilangin] [-O pinagmulan] [-s bilangin] [-t] [-u fd] [-C callback] [-c kuwantum] [ayos]
readarray [-n bilangin] [-O pinagmulan] [-s bilangin] [-t] [-u fd] [-C callback] [-c kuwantum]
[ayos]
Basahin ang mga linya mula sa karaniwang input papunta sa naka-index na variable ng array ayos, o mula sa
deskriptor ng file fd kung ang -u ang opsyon ay ibinibigay. Ang variable MAPFILE ay ang
default ayos. Ang mga opsyon, kung ibinibigay, ay may mga sumusunod na kahulugan:
-n Kopyahin ang karamihan bilangin mga linya. Kung bilangin ay 0, lahat ng linya ay kinopya.
-O Magsimulang magtalaga sa ayos sa index pinagmulan. Ang default na index ay 0.
-s Itapon ang una bilangin mga linyang binabasa.
-t Mag-alis ng sumusunod na bagong linya sa bawat linyang nabasa.
-u Basahin ang mga linya mula sa file descriptor fd sa halip na ang karaniwang input.
-C Tasahan callback sa bawat oras kuwantum binabasa ang mga linya. Ang -c tinutukoy ng opsyon
kuwantum.
-c Tukuyin ang bilang ng mga linyang babasahin sa pagitan ng bawat tawag sa callback.

If -C ay tinukoy nang wala -c, ang default na quantum ay 5000. Kailan callback is
sinusuri, ito ay ibinibigay ang index ng susunod na elemento ng array na itatalaga at
ang linyang itatalaga sa elementong iyon bilang mga karagdagang argumento. callback is
sinusuri pagkatapos basahin ang linya ngunit bago italaga ang elemento ng array.

Kung hindi ibinigay na may tahasang pinagmulan, mapfile lilinaw ayos bago magtalaga
dito.

mapfile matagumpay na nagbabalik maliban kung ang isang di-wastong opsyon o argumento ng opsyon ay
ibinigay, ayos ay hindi wasto o hindi maitalaga, o kung ayos ay hindi isang naka-index na array.

popd [-n] [+n] [-n]
Tinatanggal ang mga entry mula sa stack ng direktoryo. Nang walang mga argumento, inaalis ang tuktok
direktoryo mula sa stack, at gumaganap ng a cd sa bagong nangungunang direktoryo. Mga argumento,
kung ibinibigay, magkaroon ng mga sumusunod na kahulugan:
-n Pinipigilan ang normal na pagbabago ng direktoryo kapag nag-aalis ng mga direktoryo mula sa
stack, upang ang stack lamang ang manipulahin.
+n Tinatanggal ang nika-nabibilang na entry mula sa kaliwa ng listahan na ipinakita ni dirs,
nagsisimula sa zero. Halimbawa: inaalis ng ``popd +0'' ang unang direktoryo,
``popd +1'' ang pangalawa.
-n Tinatanggal ang nika-t entry na binibilang mula sa kanan ng listahang ipinakita ni dirs,
nagsisimula sa zero. Halimbawa: inaalis ng ``popd -0'' ang huling direktoryo,
``popd -1'' ang susunod sa huli.

Kung ang popd ang utos ay matagumpay, a dirs ay ginanap din, at ang pagbabalik
ang katayuan ay 0. popd nagbabalik ng false kung ang isang di-wastong opsyon ay nakatagpo, ang direktoryo
walang laman ang stack, tinukoy ang isang hindi umiiral na entry sa stack ng direktoryo, o ang direktoryo
mabibigo ang pagbabago.

printf [-v ay] format [argumento]
Isulat ang na-format argumento sa karaniwang output sa ilalim ng kontrol ng
format. ang -v ang opsyon ay nagiging sanhi ng output na italaga sa variable ay sa halip
kaysa sa pagpi-print sa karaniwang output.

Ang format ay isang string ng character na naglalaman ng tatlong uri ng mga bagay: plain
mga character, na kinopya lamang sa karaniwang output, mga pagkakasunud-sunod ng pagtakas ng character,
na kino-convert at kinopya sa karaniwang output, at mga detalye ng format,
ang bawat isa ay nagiging sanhi ng pag-print ng susunod na sunud-sunod argumento. Bilang karagdagan sa
pamantayan printf(1) mga detalye ng format, printf binibigyang kahulugan ang mga sumusunod
mga extension:
%b sanhi printf upang palawakin ang backslash escape sequence sa katumbas
argumento (maliban doon \c tinatapos ang output, mga backslash \', \", at \?
ay hindi inalis, at octal escapes simula sa \0 maaaring maglaman ng hanggang apat
mga digit).
%q sanhi printf upang i-output ang kaukulang argumento sa isang format na maaaring
ginamit muli bilang shell input.
%(datefmt)T
sanhi printf upang i-output ang string ng petsa-oras na nagreresulta mula sa paggamit datefmt as
isang format na string para sa strftime(3). Ang kaukulang argumento ay isang integer
kumakatawan sa bilang ng mga segundo mula noong panahon. Dalawang espesyal na argumento
maaaring gamitin ang mga halaga: -1 ay kumakatawan sa kasalukuyang oras, at -2 ay kumakatawan sa
oras na ginamit ang shell. Kung walang tinukoy na argumento, kumikilos ang conversion
parang -1 ang binigay. Ito ay isang pagbubukod sa karaniwan printf pag-uugali.

Ang mga argumento sa mga non-string format specifier ay itinuturing bilang mga C constant, maliban sa a
pinahihintulutan ang leading plus o minus sign, at kung ang leading character ay iisa o
double quote, ang value ay ang ASCII value ng sumusunod na character.

Ang format ay muling ginagamit kung kinakailangan upang ubusin ang lahat ng argumento. Kung ang format
nangangailangan ng higit pa argumento kaysa sa ibinigay, ang mga karagdagang detalye ng format ay kumikilos
na parang isang zero na halaga o null string, kung naaangkop, ay ibinigay. Ang pagbabalik
ang halaga ay zero sa tagumpay, hindi zero sa kabiguan.

pushd [-n] [+n] [-n]
pushd [-n] [dir]
Nagdaragdag ng isang direktoryo sa tuktok ng stack ng direktoryo, o iniikot ang stack, ginagawa
ang bagong tuktok ng stack ang kasalukuyang gumaganang direktoryo. Nang walang argumento,
ipinagpapalit ang dalawang nangungunang direktoryo at nagbabalik ng 0, maliban kung ang salansan ng direktoryo ay
walang laman. Ang mga argumento, kung ibinibigay, ay may mga sumusunod na kahulugan:
-n Pinipigilan ang normal na pagbabago ng direktoryo kapag nagdaragdag ng mga direktoryo sa
stack, upang ang stack lamang ang manipulahin.
+n Pinaikot ang stack upang ang nika direktoryo (nagbibilang mula sa kaliwa ng
listahan na ipinakita ni dirs, simula sa zero) ay nasa itaas.
-n Pinaikot ang stack upang ang nika direktoryo (nagbibilang mula sa kanan ng
listahan na ipinakita ni dirs, simula sa zero) ay nasa itaas.
dir Nagdadagdag dir sa stack ng direktoryo sa itaas, ginagawa itong bagong kasalukuyang
gumaganang direktoryo na parang ito ay ibinigay bilang argumento sa cd
builtin.

Kung ang pushd ang utos ay matagumpay, a dirs ay ginaganap din. Kung ang unang anyo
Ginagamit, pushd nagbabalik ng 0 maliban kung ang cd sa dir nabigo. Sa pangalawang anyo, pushd
nagbabalik ng 0 maliban kung walang laman ang directory stack, isang non-existent na directory stack
elemento ay tinukoy, o ang direktoryo ay nagbabago sa tinukoy na bagong kasalukuyang
nabigo ang direktoryo.

pwd [-LP]
I-print ang ganap na pathname ng kasalukuyang gumaganang direktoryo. Na-print ang pathname
walang simbolikong link kung ang -P ang opsyon ay ibinibigay o ang -o Physical opsyon
sa itakda naka-enable ang builtin command. Kung ang -L ginagamit ang opsyon, ang pathname
ang nakalimbag ay maaaring naglalaman ng mga simbolikong link. Ang katayuan sa pagbabalik ay 0 maliban kung may naganap na error
habang binabasa ang pangalan ng kasalukuyang direktoryo o isang di-wastong opsyon ay ibinibigay.

basahin [-ers] [-a pangalan] [-d delim] [-i teksto] [-n nchars] [-N nchars] [-p prompt] [-t
oras] [-u fd] [pangalan ...]
Isang linya ang binabasa mula sa karaniwang input, o mula sa file descriptor fd ibinibigay
bilang argumento sa -u opsyon, at ang unang salita ay itinalaga sa una pangalan,
ang pangalawang salita sa pangalawa pangalan, at iba pa, na may mga natitirang salita at kanilang
intervening separator na itinalaga sa huli pangalan. Kung kakaunti ang mga salitang binabasa
mula sa input stream kaysa sa mga pangalan, ang natitirang mga pangalan ay itinalaga ng mga walang laman na halaga.
Ang mga character sa IFS ay ginagamit upang hatiin ang linya sa mga salita gamit ang parehong mga patakaran
ginagamit ng shell para sa pagpapalawak (inilarawan sa itaas sa ilalim Salita Paghahati). Ang backslash
karakter (\) ay maaaring gamitin upang alisin ang anumang espesyal na kahulugan para sa susunod na character na basahin
at para sa pagpapatuloy ng linya. Ang mga opsyon, kung ibinibigay, ay may mga sumusunod na kahulugan:
-a pangalan
Ang mga salita ay itinalaga sa mga sequential na indeks ng array variable pangalan,
simula sa 0. pangalan ay hindi nakatakda bago magtalaga ng anumang mga bagong halaga. Iba pa
pangalan hindi pinapansin ang mga argumento.
-d delim
Ang unang karakter ng delim ay ginagamit upang wakasan ang input line, sa halip
kaysa sa bagong linya.
-e Kung ang karaniwang input ay nagmumula sa isang terminal, Basahin ang linya (Tingnan ang BASAHIN ANG LINYA
sa itaas) ay ginagamit upang makuha ang linya. Ginagamit ng Readline ang kasalukuyang (o default,
kung ang pag-edit ng linya ay hindi aktibo dati) mga setting ng pag-edit.
-i teksto
If Basahin ang linya ay ginagamit upang basahin ang linya, teksto ay inilagay sa pag-edit
buffer bago magsimula ang pag-edit.
-n nchars
basahin babalik pagkatapos basahin nchars mga tauhan sa halip na maghintay ng a
kumpletong linya ng input, ngunit parangalan ang isang delimiter kung mas kaunti sa nchars
ang mga character ay binabasa bago ang delimiter.
-N nchars
basahin bumabalik pagkatapos basahin nang eksakto nchars mga karakter sa halip na maghintay
isang kumpletong linya ng input, maliban kung ang EOF ay nakatagpo o basahin times out.
Ang mga karakter ng delimiter na nakatagpo sa input ay hindi pinahahalagahan at
huwag maging sanhi basahin upang bumalik hanggang nchars binasa ang mga karakter.
-p prompt
display prompt sa karaniwang error, nang walang sumusunod na bagong linya, bago
sinusubukang basahin ang anumang input. Ang prompt ay ipinapakita lamang kung ang input ay
galing sa terminal.
-r Ang backslash ay hindi gumaganap bilang isang escape character. Ang backslash ay isinasaalang-alang
upang maging bahagi ng linya. Sa partikular, ang isang backslash-newline na pares ay maaaring hindi
ginamit bilang pagpapatuloy ng linya.
-s Silent mode. Kung ang input ay nagmumula sa isang terminal, ang mga character ay hindi echoed.
-t oras
Maging sanhi basahin sa pag-time out at pagbabalik ng pagkabigo kung ang isang kumpletong linya ng input (o a
tinukoy na bilang ng mga character) ay hindi nababasa sa loob oras segundo. oras
maaaring isang decimal na numero na may fractional na bahagi kasunod ng decimal
punto. Ang pagpipiliang ito ay epektibo lamang kung basahin ay nagbabasa ng input mula sa a
terminal, pipe, o iba pang espesyal na file; wala itong epekto kapag nagbabasa mula sa
regular na mga file. Kung basahin times out, basahin nagse-save ng anumang bahagyang input na binasa
ang tinukoy na variable pangalan. Kung oras ay 0, basahin bumalik kaagad,
nang hindi sinusubukang basahin ang anumang data. Ang exit status ay 0 kung magagamit ang input
sa tinukoy na file descriptor, non-zero kung hindi. Ang exit status ay
higit sa 128 kung lumampas ang timeout.
-u fd Basahin ang input mula sa file descriptor fd.

Kung hindi pangalan ay ibinibigay, ang line read ay itinalaga sa variable REPLY. ang
ang return code ay zero, maliban kung ang end-of-file ay nakatagpo, basahin times out (kung saan
kaso ang return code ay mas malaki sa 128), isang variable na error sa pagtatalaga (tulad ng
ang pagtatalaga sa isang readonly na variable) ay nangyayari, o isang di-wastong file descriptor ang ibinibigay
bilang argumento sa -u.

Basahin lamang [-aAf] [-p] [pangalan[=salita] ...]
Ang binigay pangalan ay minarkahan ng readonly; ang mga halaga ng mga ito pangalan maaaring hindi mabago
sa pamamagitan ng kasunod na takdang-aralin. Kung ang -f ang opsyon ay ibinibigay, ang mga function
nakaayon sa pangalan ay kaya minarkahan. Ang -a pinaghihigpitan ng opsyon ang mga variable sa
mga naka-index na array; ang -A Pinaghihigpitan ng opsyon ang mga variable sa mga associative array. Kung
ang parehong mga pagpipilian ay ibinibigay, -A inuuna. Kung hindi pangalan ang mga argumento ay ibinigay, o
kung ang -p ang opsyon ay ibinibigay, ang isang listahan ng lahat ng readonly na pangalan ay naka-print. Yung isa
ang mga opsyon ay maaaring gamitin upang paghigpitan ang output sa isang subset ng hanay ng readonly
mga pangalan. Ang -p ang opsyon ay nagdudulot ng pagpapakita ng output sa isang format na maaaring magamit muli
bilang input. Kung ang isang variable na pangalan ay sinusundan ng =salita, ang halaga ng variable ay
itakda sa salita. Ang katayuan sa pagbabalik ay 0 maliban kung ang isang di-wastong opsyon ay nakatagpo, isa
ng pangalan ay hindi isang wastong pangalan ng variable ng shell, o -f ay binibigyan ng a pangalan na
ay hindi isang function.

pagbabalik [n]
Nagiging sanhi ng isang function na huminto sa pagpapatupad at ibalik ang halaga na tinukoy ni n sa kanyang
tumatawag. Kung n ay tinanggal, ang katayuan sa pagbabalik ay ang huling utos na pinaandar sa
ang function body. Kung pagbabalik ay ginagamit sa labas ng isang function, ngunit sa panahon ng pagpapatupad ng a
script ng . (pinagmulan) utos, nagiging sanhi ito ng shell upang ihinto ang pagpapatupad nito
script at ibalik ang alinman n o ang exit status ng huling command na naisakatuparan sa loob
ang script bilang exit status ng script. Kung n ay ibinibigay, ang ibinalik na halaga ay
ang hindi bababa sa makabuluhang 8 bits. Ang katayuan sa pagbabalik ay hindi zero kung pagbabalik ay ibinibigay
isang hindi numeric na argumento, o ginagamit sa labas ng isang function at hindi sa panahon ng pagpapatupad ng a
iskrip ni . or pinagmulan. Anumang utos na nauugnay sa RETURN ang bitag ay naisakatuparan
bago ipagpatuloy ang pagpapatupad pagkatapos ng function o script.

itakda [--abefhkmnptuvxBCEHPT] [-o opsyon-pangalan] [arg ...]
itakda [+abefhkmnptuvxBCEHPT] [+o opsyon-pangalan] [arg ...]
Kung walang mga pagpipilian, ang pangalan at halaga ng bawat variable ng shell ay ipinapakita sa a
format na maaaring magamit muli bilang input para sa pagtatakda o pag-reset ng kasalukuyang nakatakda
mga variable. Ang mga read-only na variable ay hindi maaaring i-reset. Sa posix mode, shell lang
nakalista ang mga variable. Ang output ay pinagsunod-sunod ayon sa kasalukuyang lokal. Kailan
ang mga opsyon ay tinukoy, itinakda o inaalis nila ang mga katangian ng shell. Anumang mga argumento ang natitira
pagkatapos ng pagpoproseso ng opsyon ay itinuturing bilang mga halaga para sa mga positional na parameter at ay
itinalaga, sa pagkakasunud-sunod, sa $1, $2, ... $n. Ang mga opsyon, kung tinukoy, ay mayroong sumusunod
kahulugan:
-a Awtomatikong markahan ang mga variable at function na binago o nilikha
para sa pag-export sa kapaligiran ng mga kasunod na utos.
-b Iulat kaagad ang status ng mga tinapos na trabaho sa background, sa halip na
bago ang susunod na pangunahing prompt. Ito ay epektibo lamang kapag ang kontrol sa trabaho ay
pinagana.
-e Lumabas kaagad kung a padaanin sa tubo (na maaaring binubuo ng isang solong simple
utos), Isang listahan, O isang tambalan utos (Tingnan ang KABIBI GRAMATIKA sa itaas), paglabas
na may hindi zero na katayuan. Ang shell ay hindi lalabas kung ang utos na nabigo
ay bahagi ng listahan ng utos kaagad na sumusunod sa a habang or hanggang keyword,
bahagi ng pagsusulit kasunod ng if or elif nakalaan na mga salita, bahagi ng alinman
utos na isinagawa sa a && or || listahan maliban sa utos kasunod ng pangwakas
&& or ||, anumang utos sa isang pipeline ngunit ang huli, o kung ang utos ay
binabaliktad ang return value gamit ang !. Kung ang isang tambalang utos maliban sa a
Ang subshell ay nagbabalik ng hindi zero na katayuan dahil nabigo ang isang utos habang -e ay
hindi pinapansin, hindi lalabas ang shell. Isang bitag sa Magkamali, kung itinakda, ay isasagawa
bago lumabas ang shell. Nalalapat ang opsyong ito sa kapaligiran ng shell at
bawat subshell na kapaligiran nang hiwalay (tingnan COMMAND Pagpapatupad Kapaligiran
sa itaas), at maaaring maging sanhi ng paglabas ng mga subshell bago isagawa ang lahat ng mga utos
sa subshell.

Kung ang isang compound command o shell function ay isinasagawa sa isang konteksto kung saan -e is
na hindi pinansin, wala sa mga utos na naisakatuparan sa loob ng tambalang utos o
function na katawan ay maaapektuhan ng -e setting, kahit na -e ay nakatakda at a
utos ay nagbabalik ng katayuan ng pagkabigo. Kung ang isang compound command o shell function
set -e habang isinasagawa sa isang konteksto kung saan -e ay binabalewala, ang setting na iyon ay
walang epekto hanggang sa tambalang utos o utos na naglalaman ng
tapos na ang function call.
-f Huwag paganahin ang pagpapalawak ng pathname.
-h Alalahanin ang lokasyon ng mga utos habang hinahanap ang mga ito para sa pagpapatupad.
Pinapagana ito bilang default.
-k Ang lahat ng mga argumento sa anyo ng mga pahayag ng pagtatalaga ay inilalagay sa
kapaligiran para sa isang utos, hindi lamang ang mga nauuna sa pangalan ng utos.
-m Monitor mode. Ang kontrol sa trabaho ay pinagana. Naka-on ang opsyong ito bilang default para sa
mga interactive na shell sa mga system na sumusuporta dito (tingnan Trabaho Kontrol sa itaas). Lahat
tumatakbo ang mga proseso sa isang hiwalay na pangkat ng proseso. Kapag background job
nakumpleto, ang shell ay nagpi-print ng isang linya na naglalaman ng exit status nito.
-n Basahin ang mga utos ngunit huwag isagawa ang mga ito. Ito ay maaaring gamitin upang suriin ang isang shell
script para sa mga error sa syntax. Hindi ito pinapansin ng mga interactive na shell.
-o opsyon-pangalan
Ang opsyon-pangalan maaaring isa sa mga sumusunod:
allexport
Katulad ng -a.
braceexpand
Katulad ng -B.
emacs Gumamit ng emacs-style na command line editing interface. Ito ay pinagana
bilang default kapag ang shell ay interactive, maliban kung ang shell ay
nagsimula sa --noediting opsyon. Nakakaapekto rin ito sa pag-edit
interface na ginagamit para sa basahin -e.
errexit Katulad ng -e.
errtrace
Katulad ng -E.
function
Katulad ng -T.
hashall Katulad ng -h.
histexpand
Katulad ng -H.
kasaysayan Paganahin ang kasaysayan ng utos, tulad ng inilarawan sa itaas sa ilalim KASAYSAYAN. ito
Ang opsyon ay naka-on bilang default sa mga interactive na shell.
hindi pinansin
Ang epekto ay parang ang shell command na ``IGNOREEOF=10'' ay naging
naisakatuparan (tingnan Talukap ng alimango Variable sa itaas).
keyword Katulad ng -k.
monitor Katulad ng -m.
noclobber
Katulad ng -C.
noexec Katulad ng -n.
noglob Katulad ng -f.
nolog Kasalukuyang hindi pinapansin.
ipagbigay-alam Katulad ng -b.
nounset Katulad ng -u.
onecmd Katulad ng -t.
Physical
Katulad ng -P.
pipefail
Kung nakatakda, ang return value ng isang pipeline ay ang value ng huli
(pinakakanan) utos na lumabas nang may status na hindi zero, o zero kung lahat
matagumpay na lumabas ang mga command sa pipeline exit. Ang pagpipiliang ito ay
hindi pinagana bilang default.
posix Baguhin ang ugali ng malakas na palo kung saan naiiba ang default na operasyon
mula sa pamantayan ng POSIX upang tumugma sa pamantayan (posix paraan). Tingnan
TINGNAN KAYA DIN sa ibaba para sa isang sanggunian sa isang dokumento na nagdedetalye kung paano posix
mode ay nakakaapekto sa pag-uugali ng bash.
may pribilehiyo
Katulad ng -p.
pandiwang Katulad ng -v.
vi Gumamit ng isang vi-style na interface sa pag-edit ng command line. Nakakaapekto rin ito
ang interface ng pag-edit na ginamit para sa basahin -e.
xtrace Katulad ng -x.
If -o ay binibigyan ng no opsyon-pangalan, ang mga halaga ng kasalukuyang mga opsyon
ay nakalimbag. Kung +o ay binibigyan ng no opsyon-pangalan, isang serye ng itakda
ang mga utos upang muling likhain ang kasalukuyang mga setting ng opsyon ay ipinapakita sa
karaniwang output.
-p I-on may pribilehiyo mode. Sa mode na ito, ang $ENV at $BASH_ENV mga file ay
hindi naproseso, ang mga function ng shell ay hindi minana mula sa kapaligiran, at
ang SHELLOPTS, MGA BASHOP, CDPATH, at GLOBIGNORE mga variable, kung lilitaw ang mga ito
sa kapaligiran, hindi pinapansin. Kung ang shell ay nagsimula sa
ang epektibong user (group) id ay hindi katumbas ng tunay na user (group) id, at ang -p
ang opsyon ay hindi ibinibigay, ang mga pagkilos na ito ay isinagawa at ang epektibong user id
ay nakatakda sa tunay na user id. Kung ang -p ang opsyon ay ibinibigay sa pagsisimula, ang
hindi na-reset ang epektibong user id. Ang pag-off sa opsyong ito ay nagiging sanhi ng
epektibong user at group id na itatakda sa tunay na user at group id.
-t Lumabas pagkatapos basahin at isagawa ang isang utos.
-u Tratuhin ang mga hindi nakatakdang variable at parameter maliban sa mga espesyal na parameter na "@"
at "*" bilang isang error kapag nagsasagawa ng pagpapalawak ng parameter. Kung ang pagpapalawak ay
sinubukan sa isang hindi nakatakdang variable o parameter, ang shell ay nagpi-print ng isang error
mensahe, at, kung hindi interactive, lalabas na may status na hindi zero.
-v I-print ang mga linya ng input ng shell habang binabasa ang mga ito.
-x Pagkatapos palawakin ang bawat isa simple utos, para utos, kaso utos, piliin
utos, o aritmetika para command, ipakita ang pinalawak na halaga ng PS4,
sinusundan ng utos at ang mga pinalawak na argumento o nauugnay na listahan ng salita.
-B Ang shell ay nagsasagawa ng pagpapalawak ng brace (tingnan Brace Paglawak sa itaas). Naka-on ito
bilang default.
-C Kung itinakda, malakas na palo ay hindi pinatungan ang isang umiiral na file gamit ang >, >&, at <>
mga operator ng pag-redirect. Maaaring ma-override ito kapag gumagawa ng mga output file
sa pamamagitan ng paggamit ng redirection operator >| sa halip ng >.
-E Kung nakatakda, naka-on ang anumang bitag Magkamali ay minana ng mga function ng shell, command
mga pagpapalit, at mga utos na isinagawa sa isang subshell na kapaligiran. Ang Magkamali
ang bitag ay karaniwang hindi namamana sa mga ganitong kaso.
-H Paganahin ! pagpapalit ng kasaysayan ng istilo. Naka-on ang opsyong ito bilang default kapag
interactive ang shell.
-P Kung nakatakda, hindi nire-resolba ng shell ang mga simbolikong link kapag nagpapatupad ng mga utos
tulad ng cd na nagbabago sa kasalukuyang gumaganang direktoryo. Ginagamit nito ang pisikal
istraktura ng direktoryo sa halip. Bilang default, malakas na palo sumusunod sa lohikal na kadena ng
mga direktoryo kapag nagsasagawa ng mga utos na nagbabago sa kasalukuyang direktoryo.
-T Kung nakatakda, may anumang mga bitag MGA DEBUG at RETURN ay minana ng mga function ng shell,
mga pagpapalit ng command, at mga utos na isinagawa sa isang subshell na kapaligiran.
Ang MGA DEBUG at RETURN Ang mga bitag ay karaniwang hindi namamana sa mga ganitong kaso.
-- Kung walang mga argumento ang sumusunod sa opsyong ito, ang mga positional na parameter ay
hindi nakatakda. Kung hindi, ang mga positional na parameter ay nakatakda sa args, kahit na
ang ilan sa mga ito ay nagsisimula sa a -.
- I-signal ang pagtatapos ng mga opsyon, maging sanhi ng lahat ng natitira args itatalaga sa
positional na mga parameter. Ang -x at -v naka-off ang mga opsyon. Kung meron
hindi args, ang mga positional na parameter ay nananatiling hindi nagbabago.

Ang mga opsyon ay naka-off bilang default maliban kung iba ang nabanggit. Gumagamit ng + sa halip na -
nagiging sanhi ng pag-off sa mga opsyong ito. Ang mga opsyon ay maaari ding tukuyin bilang
mga argumento sa isang invocation ng shell. Ang kasalukuyang hanay ng mga opsyon ay maaaring matagpuan
in $-. Ang katayuan sa pagbabalik ay palaging totoo maliban kung ang isang hindi wastong opsyon ay nakatagpo.

ilipat [n]
Ang mga positional na parameter mula sa n+1 ... ay pinalitan ng pangalan sa $1 .... parameter
kinakatawan ng mga numero $# pababa sa $#-nHindi nakatakda ang +1. n dapat ay hindi negatibo
bilang na mas mababa sa o katumbas ng $#. Kung n ay 0, walang mga parameter na nabago. Kung n is
hindi ibinigay, ito ay ipinapalagay na 1. Kung n ay mas malaki sa $#, ang posisyonal
hindi nagbabago ang mga parameter. Ang katayuan sa pagbabalik ay higit sa zero kung n ay mahigit
kaysa $# o mas mababa sa zero; kung hindi 0.

tindahan [-pqsu] [-o] [optname ...]
I-toggle ang mga value ng mga setting na kumokontrol sa opsyonal na pag-uugali ng shell. Ang mga setting
maaaring alinman sa mga nakalista sa ibaba, o, kung ang -o ang opsyon ay ginagamit, ang mga magagamit
sa -o opsyon sa itakda builtin na utos. Nang walang mga pagpipilian, o may -p
opsyon, ang isang listahan ng lahat ng mga natatakdang opsyon ay ipinapakita, na may indikasyon kung
o hindi nakatakda ang bawat isa. Ang -p ang opsyon ay nagiging sanhi ng pagpapakita ng output sa isang form na maaaring
muling gamitin bilang input. Ang iba pang mga opsyon ay may mga sumusunod na kahulugan:
-s Paganahin (itakda) ang bawat isa optname.
-u Huwag paganahin (i-unset) ang bawat isa optname.
-q Pinipigilan ang normal na output (tahimik na mode); ang katayuan sa pagbabalik ay nagpapahiwatig kung
ang optname ay nakatakda o hindi nakatakda. Kung maramihan optname ang mga argumento ay ibinigay na may
-q, ang return status ay zero kung lahat mga optname ay pinagana; hindi zero
kung hindi man.
-o Nililimitahan ang mga halaga ng optname na ang mga tinukoy para sa -o opsyon sa
itakda builtin.

Kung alinman -s or -u ay ginagamit sa no optname mga argumento, tindahan nagpapakita lamang ng mga iyon
mga opsyon na nakatakda o hindi nakatakda, ayon sa pagkakabanggit. Maliban kung binanggit, ang tindahan
ang mga opsyon ay hindi pinagana (hindi nakatakda) bilang default.

Ang katayuan sa pagbabalik kapag ang mga opsyon sa paglilista ay zero kung lahat mga optname ay pinagana, hindi
zero kung hindi. Kapag nagtatakda o nag-unset ng mga opsyon, zero ang status ng pagbabalik
maliban kung ang isang optname ay hindi isang wastong opsyon sa shell.

Ang listahan ng mga tindahan ang mga pagpipilian ay:

autocd Kung nakatakda, ang isang command name na pangalan ng isang direktoryo ay ipapatupad na parang ito
ay ang argumento sa cd utos. Ang pagpipiliang ito ay ginagamit lamang ng
mga interactive na shell.
cdable_vars
Kung itinakda, isang argumento sa cd builtin command na hindi isang direktoryo ay
ipinapalagay na pangalan ng isang variable na ang halaga ay ang direktoryo na babaguhin
sa.
cdspell Kung itinakda, maliliit na error sa spelling ng isang bahagi ng direktoryo sa a cd
itatama ang utos. Ang mga error na sinuri ay inilipat
mga character, isang nawawalang karakter, at isang character na masyadong marami. Kung ang
Ang pagwawasto ay natagpuan, ang naitama na filename ay naka-print, at ang command
nalikom. Ang pagpipiliang ito ay ginagamit lamang ng mga interactive na shell.
checkhash
Kung itinakda, malakas na palo sinusuri kung ang isang command na natagpuan sa hash table ay umiiral na dati
sinusubukang isagawa ito. Kung wala nang naka-hash na utos, isang normal na landas
isinasagawa ang paghahanap.
checkjobs
Kung itinakda, malakas na palo naglilista ng katayuan ng anumang tumigil at tumatakbong mga trabaho dati
paglabas sa isang interactive na shell. Kung ang anumang trabaho ay tumatakbo, ito ay nagiging sanhi ng
exit na ipagpaliban hanggang sa isang pangalawang exit ay sinubukan nang walang intervening
utos (tingnan Trabaho Kontrol sa itaas). Palaging ipinagpaliban ng shell ang paglabas kung mayroon man
huminto ang mga trabaho.
checkwinsize
Kung itinakda, malakas na palo sinusuri ang laki ng window pagkatapos ng bawat utos at, kung kinakailangan,
ina-update ang mga halaga ng MGA LINYA at COLUMNS.
cmdhist Kung itinakda, malakas na palo sinusubukang i-save ang lahat ng mga linya ng isang multiple-line na command sa
parehong entry sa kasaysayan. Nagbibigay-daan ito sa madaling muling pag-edit ng mga multi-line na command.
compat31
Kung itinakda, malakas na palo binabago ang pag-uugali nito sa bersyon 3.1 na may paggalang sa
sinipi ang mga argumento sa [[ may kondisyong utos =~ operator at lokal-
tiyak na paghahambing ng string kapag ginagamit ang [[ may kondisyong utos < at >
mga operator. Ang mga bersyon ng Bash bago ang bash-4.1 ay gumagamit ng ASCII collation at
strcmp(3); bash-4.1 at pagkatapos ay gamitin ang pagkakasunud-sunod ng collation ng kasalukuyang locale
at strcollNa (3).
compat32
Kung itinakda, malakas na palo binabago ang pag-uugali nito sa bersyon 3.2 na may paggalang sa
paghahambing ng string na tukoy sa lokal kapag ginagamit ang [[ may kondisyong utos <
at > operator (tingnan ang nakaraang aytem).
compat40
Kung itinakda, malakas na palo binabago ang pag-uugali nito sa bersyon 4.0 na may paggalang sa
paghahambing ng string na tukoy sa lokal kapag ginagamit ang [[ may kondisyong utos <
at > operator (tingnan ang paglalarawan ng compat31) at ang epekto ng
nakakaabala sa isang listahan ng command. Ang mga bersyon ng Bash 4.0 at kalaunan ay nakakaabala sa
ilista na parang natanggap ng shell ang interrupt; nagpapatuloy ang mga nakaraang bersyon
gamit ang susunod na utos sa listahan.
compat41
Kung itinakda, malakas na palo, kapag sa posix mode, tinatrato ang isang quote sa isang double-quoted
pagpapalawak ng parameter bilang isang espesyal na karakter. Dapat tumugma ang mga solong quote
(isang even na numero) at ang mga character sa pagitan ng mga solong quote ay
itinuturing na sinipi. Ito ang pag-uugali ng posix mode sa pamamagitan ng bersyon 4.1.
Ang default na pag-uugali ng bash ay nananatiling tulad ng sa mga nakaraang bersyon.
compat42
Kung itinakda, malakas na palo hindi pinoproseso ang kapalit na string sa pattern
pagpapalawak ng salita sa pagpapalit gamit ang pag-aalis ng sipi.
complete_fullquote
Kung itinakda, malakas na palo sinipi ang lahat ng shell metacharacter sa mga filename at direktoryo
mga pangalan kapag nagsasagawa ng pagkumpleto. Kung hindi nakatakda, malakas na palo nag-aalis ng mga metacharacter
gaya ng dollar sign mula sa set ng mga character na sisipiin sa
nakumpleto ang mga filename kapag lumitaw ang mga metacharacter na ito sa variable ng shell
mga sanggunian sa mga salitang dapat kumpletuhin. Nangangahulugan ito na ang dolyar ay nag-sign in
ang mga variable na pangalan na lumalawak sa mga direktoryo ay hindi masisipi; gayunpaman, anuman
Ang mga palatandaan ng dolyar na lumilitaw sa mga filename ay hindi rin masisipi. Ito ay
aktibo lamang kapag ang bash ay gumagamit ng mga backslashes upang mag-quote ng mga nakumpletong filename.
Ang variable na ito ay itinakda bilang default, na kung saan ay ang default na pag-uugali ng bash sa
mga bersyon hanggang sa 4.2.
direxpand
Kung itinakda, malakas na palo pinapalitan ang mga pangalan ng direktoryo ng mga resulta ng pagpapalawak ng salita
kapag nagsasagawa ng pagkumpleto ng filename. Binabago nito ang mga nilalaman ng
buffer sa pag-edit ng readline. Kung hindi nakatakda, malakas na palo pagtatangka upang mapanatili kung ano ang
na-type ng user.
dispell
Kung itinakda, malakas na palo sumusubok sa pagwawasto ng pagbabaybay sa mga pangalan ng direktoryo sa panahon ng salita
pagkumpleto kung ang pangalan ng direktoryo na unang ibinigay ay hindi umiiral.
dotglob Kung itinakda, malakas na palo kasama ang mga filename na nagsisimula sa isang `.' sa mga resulta ng
pagpapalawak ng pathname.
execfail
Kung nakatakda, hindi lalabas ang isang non-interactive na shell kung hindi nito maipatupad ang file
tinukoy bilang argumento sa exec builtin na utos. Isang interactive na shell
hindi lalabas kung exec nabigo.
expand_aliases
Kung nakatakda, pinalawak ang mga alias gaya ng inilarawan sa itaas sa ilalim MGA ALIASE. Ang pagpipiliang ito
ay pinagana bilang default para sa mga interactive na shell.
extdebug
Kung nakatakda, naka-enable ang gawi na nilayon para sa paggamit ng mga debugger:
1. Ang -F opsyon sa magpahayag ipinapakita ng builtin ang pangalan ng source file
at numero ng linya na naaayon sa bawat pangalan ng function na ibinigay bilang isang
argumento.
2. Kung ang utos ay pinapatakbo ng MGA DEBUG nagbabalik ang bitag ng isang hindi-zero na halaga, ang
Ang susunod na utos ay nilaktawan at hindi naisakatuparan.
3. Kung ang utos ay pinapatakbo ng MGA DEBUG nagbabalik ang bitag ng halaga na 2, at ang
Ang shell ay isinasagawa sa isang subroutine (isang function ng shell o isang shell
script na isinagawa ng . or pinagmulan builtins), isang tawag sa pagbabalik is
kunwa.
4. BASH_ARGC at BASH_ARGV ay na-update tulad ng inilarawan sa kanilang
paglalarawan sa itaas.
5. Pinagana ang pagsubaybay sa function: pagpapalit ng command, mga function ng shell,
at mga subshell na ginagamitan ng ( utos ) manahin ang MGA DEBUG at RETURN
mga bitag.
6. Ang pagsubaybay sa error ay pinagana: pagpapalit ng command, mga function ng shell,
at mga subshell na ginagamitan ng ( utos ) manahin ang Magkamali bitag
extglob Kung nakatakda, ang pinahabang pattern na pagtutugma ng mga tampok na inilarawan sa itaas sa ilalim
Pathname Paglawak ay pinagana.
extquote
Kung itinakda, $'pisi' at $"pisi"Isinasagawa ang pagsipi sa loob ${parametro}
mga pagpapalawak na nakapaloob sa dobleng panipi. Ang pagpipiliang ito ay pinagana bilang default.
failglob
Kung nakatakda, ang mga pattern na hindi tumutugma sa mga filename sa panahon ng pagpapalawak ng pathname
magreresulta sa isang error sa pagpapalawak.
force_fignore
Kung itinakda, ang mga suffix na tinukoy ng FIGNORE shell variable sanhi ng mga salita sa
hindi papansinin kapag nagsasagawa ng pagkumpleto ng salita kahit na ang mga salitang hindi pinapansin ay
ang tanging posibleng pagkumpleto. Tingnan mo KABIBI MGA VARIABLE sa itaas para sa isang paglalarawan
of FIGNORE. Ang pagpipiliang ito ay pinagana bilang default.
globasciranges
Kung nakatakda, ginagamit ang mga expression ng hanay sa mga expression ng bracket na tumutugma sa pattern (tingnan ang
huwaran Pagtutugma sa itaas) kumilos na parang nasa tradisyonal na C locale kapag
gumaganap ng mga paghahambing. Ibig sabihin, ang pagkakasunud-sunod ng pag-collating ng kasalukuyang lokal
ay hindi isinasaalang-alang, kaya b hindi magsasama-sama sa pagitan A at B, at
Magsasama-sama ang mga upper-case at lower-case na ASCII na character.
globstar
Kung nakatakda, ang pattern ** na ginamit sa isang konteksto ng pagpapalawak ng pathname ay tutugma sa lahat
mga file at zero o higit pang mga direktoryo at subdirectory. Kung ang pattern ay
sinusundan ng isang /, mga direktoryo at subdirectory lamang ang tumutugma.
gnu_errfmt
Kung nakatakda, ang mga mensahe ng error sa shell ay nakasulat sa karaniwang mensahe ng error ng GNU
format.
histappend
Kung nakatakda, ang listahan ng kasaysayan ay idaragdag sa file na pinangalanan ng halaga ng
HISTFILE variable kapag lumabas ang shell, sa halip na i-overwrite ang file.
histreedit
Kung itinakda, at Basahin ang linya ay ginagamit, ang isang gumagamit ay binibigyan ng pagkakataon na muling-
i-edit ang isang nabigong pagpapalit ng kasaysayan.
histverify
Kung itinakda, at Basahin ang linya ay ginagamit, ang mga resulta ng pagpapalit ng kasaysayan ay
hindi agad naipasa sa shell parser. Sa halip, ang resultang linya ay
na-load sa Basahin ang linya pag-edit ng buffer, na nagpapahintulot sa karagdagang pagbabago.
kumpleto ang host
Kung itinakda, at Basahin ang linya ay ginagamit, malakas na palo ay susubukang magsagawa ng hostname
pagkumpleto kapag ang isang salita na naglalaman ng a @ ay tinatapos (tingnan Pagkumpleto
sa ilalim BASAHIN ANG LINYA sa itaas). Ito ay pinagana bilang default.
huponexit
Kung itinakda, malakas na palo ipapadala FOLLOW UP sa lahat ng mga trabaho kapag isang interactive login shell
labasan.
interactive_comments
Kung nakatakda, payagan ang isang salita na nagsisimula sa # upang maging sanhi ng salitang iyon at lahat ng natitira
mga character sa linyang iyon na hindi papansinin sa isang interactive na shell (tingnan KOMENTARYO
sa itaas). Ang pagpipiliang ito ay pinagana bilang default.
lastpipe
Kung nakatakda, at hindi aktibo ang kontrol sa trabaho, pinapatakbo ng shell ang huling utos ng a
pipeline ay hindi naisakatuparan sa background sa kasalukuyang kapaligiran ng shell.
lithist Kung itinakda, at ang cmdhist ang opsyon ay pinagana, ang mga multi-line na command ay nai-save sa
ang kasaysayan na may mga naka-embed na bagong linya sa halip na gumamit ng mga separator ng semicolon
kung saan posible.
login_shell
Itinatakda ng shell ang opsyong ito kung sinimulan ito bilang login shell (tingnan
INVOKASYON sa itaas). Maaaring hindi mabago ang halaga.
mailwarn
Kung nakatakda, at isang file na malakas na palo ay nagsusuri ng mail ay na-access na mula noon
sa huling pagkakataong ito ay nasuri, ang mensaheng ``Ang mail in mailfile ay naging
read'' ay ipinapakita.
walang_empty_cmd_completion
Kung itinakda, at Basahin ang linya ay ginagamit, malakas na palo hindi susubukang hanapin ang
PATH para sa mga posibleng pagkumpleto kapag tinangka ang pagkumpleto sa isang walang laman
linya.
nocaseglob
Kung itinakda, malakas na palo tumutugma sa mga filename sa isang case-insensitive na paraan kapag
nagsasagawa ng pagpapalawak ng pathname (tingnan Pathname Paglawak sa itaas).
nocasematch
Kung itinakda, malakas na palo tumutugma sa mga pattern sa isang case-insensitive na paraan kapag gumaganap
pagtutugma habang nagsasagawa kaso or [[ mga kondisyong utos.
nullglob
Kung itinakda, malakas na palo nagbibigay-daan sa mga pattern na tumutugma sa walang mga file (tingnan ang Pathname Paglawak
sa itaas) upang palawakin sa isang null string, sa halip na sa kanilang sarili.
progcomp
Kung nakatakda, ang mga programmable completion facility (tingnan Programmable pagtatapos
sa itaas) ay pinagana. Ang pagpipiliang ito ay pinagana bilang default.
promptvars
Kung nakatakda, ang mga prompt na string ay sasailalim sa pagpapalawak ng parameter, pagpapalit ng command,
pagpapalawak ng arithmetic, at pag-alis ng quote pagkatapos mapalawak tulad ng inilarawan
in PAG-UUSAP sa itaas. Ang pagpipiliang ito ay pinagana bilang default.
restricted_shell
Itinatakda ng shell ang opsyong ito kung sinimulan ito sa restricted mode (tingnan
NAGHIGIT KABIBI sa ibaba). Maaaring hindi mabago ang halaga. Hindi ito na-reset
kapag ang mga startup file ay naisakatuparan, na nagpapahintulot sa mga startup na file na matuklasan
kung ang isang shell ay pinaghihigpitan.
shift_verbose
Kung itinakda, ang ilipat ang builtin ay nagpi-print ng mensahe ng error kapag ang shift ay nagbibilang
lumampas sa bilang ng mga positional na parameter.
sourcepath
Kung itinakda, ang pinagmulan (.) ang builtin ay gumagamit ng halaga ng PATH upang mahanap ang direktoryo
naglalaman ng file na ibinigay bilang argumento. Ang pagpipiliang ito ay pinagana ng
default.
xpg_echo
Kung itinakda, ang miss pinapalawak ng builtin ang mga pagkakasunud-sunod ng backslash-escape bilang default.

suspindihin [-f]
Suspindihin ang execution ng shell na ito hanggang sa makatanggap ito ng a NEXTCONT hudyat. Isang login
hindi masuspinde ang shell; ang -f maaaring gamitin ang opsyon upang i-override ito at pilitin ang
pagsususpinde. Ang return status ay 0 maliban kung ang shell ay login shell at -f Hindi
ibinibigay, o kung hindi pinagana ang kontrol sa trabaho.

pagsusulit ipahayag
[ ipahayag ]
Ibalik ang status na 0 (true) o 1 (false) depende sa pagsusuri ng
kondisyonal na pagpapahayag ipahayag. Ang bawat operator at operand ay dapat na hiwalay
argumento. Ang mga ekspresyon ay binubuo ng mga primaryang inilarawan sa itaas sa ilalim
KONDISYONAL MGA PAGPAPAHAYAG. pagsusulit ay hindi tumatanggap ng anumang mga opsyon, at hindi rin tumatanggap at
huwag pansinin ang isang argumento ng -- bilang nagpapahiwatig ng pagtatapos ng mga pagpipilian.

Maaaring pagsamahin ang mga expression gamit ang mga sumusunod na operator, na nakalista sa pagbaba
hanay ng una. Ang pagsusuri ay depende sa bilang ng mga argumento; tingnan sa ibaba.
Ginagamit ang operator precedence kapag mayroong lima o higit pang mga argumento.
! ipahayag Totoo kung ipahayag ay hindi totoo.
( ipahayag )
Ibinabalik ang halaga ng ipahayag. Ito ay maaaring gamitin upang i-override ang normal
nangunguna sa mga operator.
expr1 -a expr2
Totoo kung pareho expr1 at expr2 ay totoo.
expr1 -o expr2
Totoo kung alinman expr1 or expr2 ay totoo.

pagsusulit at [ suriin ang mga conditional expression gamit ang isang set ng mga panuntunan batay sa
bilang ng mga argumento.

0 argumento
Mali ang expression.
1 argumento
Ang expression ay totoo kung at tanging kung ang argumento ay hindi null.
2 argumento
Kung ang unang argumento ay !, totoo ang expression kung at kung ang pangalawa
ang argumento ay null. Kung ang unang argumento ay isa sa unary conditional
mga operator na nakalista sa itaas sa ilalim KONDISYONAL MGA PAGPAPAHAYAG, totoo ang expression
kung totoo ang unary test. Kung ang unang argumento ay hindi wastong unary
conditional operator, mali ang expression.
3 argumento
Ang mga sumusunod na kundisyon ay inilalapat sa nakalistang order. Kung ang pangalawa
argument ay isa sa mga binary conditional operator na nakalista sa itaas sa ilalim
KONDISYONAL MGA PAGPAPAHAYAG, ang resulta ng expression ay ang resulta ng
binary test gamit ang una at ikatlong argumento bilang mga operand. Ang -a at -o
ang mga operator ay itinuturing na mga binary operator kapag mayroong tatlong argumento.
Kung ang unang argumento ay !, ang halaga ay ang negasyon ng dalawang-argumento
pagsubok gamit ang pangalawa at pangatlong argumento. Kung ang unang argumento ay eksakto
( at ang ikatlong argumento ay eksakto ), ang resulta ay ang pagsubok sa isang argumento
ng ikalawang argumento. Kung hindi, mali ang expression.
4 argumento
Kung ang unang argumento ay !, ang resulta ay ang negasyon ng tatlong-argumento
expression na binubuo ng natitirang mga argumento. Kung hindi, ang expression
ay na-parse at sinusuri ayon sa pangunguna gamit ang mga nakalistang panuntunan
sa itaas.
5 o higit pang mga argumento
Ang expression ay na-parse at sinusuri ayon sa pangunguna gamit ang
mga tuntuning nakalista sa itaas.

Kapag ginamit sa pagsusulit or [, ang < at > ang mga operator ay nag-uuri ayon sa leksikograpikal gamit ang ASCII
pag-order.

beses I-print ang naipon na oras ng user at system para sa shell at para sa mga prosesong tumatakbo
mula sa shell. Ang katayuan sa pagbabalik ay 0.

bitag [-lp] [[arg] sigspec ...]
Ang utos arg ay dapat basahin at isakatuparan kapag ang shell ay nakatanggap ng (mga) signal
sigspec. Kung arg ay wala (at mayroong isang solong sigspec) O -, tinukoy ang bawat isa
ang signal ay ni-reset sa orihinal nitong disposisyon (ang halaga nito sa pagpasok sa
shell). Kung arg ay ang null string ang signal na tinukoy ng bawat isa sigspec ay hindi pinapansin
sa pamamagitan ng shell at sa pamamagitan ng mga utos na hinihingi nito. Kung arg ay wala at -p ay naging
ibinigay, pagkatapos ay ang mga utos ng bitag na nauugnay sa bawat isa sigspec ay ipinapakita. Kung hindi
ang mga argumento ay ibinibigay o kung lamang -p ay ibinigay, bitag nagpi-print ng listahan ng mga utos
nauugnay sa bawat signal. Ang -l ang pagpipilian ay nagiging sanhi ng shell upang mag-print ng isang listahan ng
mga pangalan ng signal at ang kanilang mga kaukulang numero. Ang bawat isa sigspec ay alinman sa isang pangalan ng signal
tinukoy sahudyat.h>, o isang signal number. Ang mga pangalan ng signal ay case insensitive at
ang SIG Ang prefix ay opsyonal.

Kung ang isang sigspec is EXIT (0) ang utos arg ay isinasagawa sa paglabas mula sa shell. Kung ang
sigspec is MGA DEBUG, ang utos arg ay isinasagawa bago ang bawat simple utos, para
utos, kaso utos, piliin utos, bawat aritmetika para utos, at bago ang
ang unang utos ay isinasagawa sa isang function ng shell (tingnan KABIBI GRAMATIKA sa itaas). Sumangguni sa
paglalarawan ng mga extdebug opsyon sa tindahan builtin para sa mga detalye ng epekto nito
sa MGA DEBUG bitag. Kung ang sigspec is RETURN, ang utos arg ay isinasagawa sa bawat oras a
shell function o isang script na isinagawa gamit ang . or pinagmulan natapos ang builtin
nagsasagawa.

Kung ang isang sigspec is Magkamali, ang utos arg ay isinasagawa sa tuwing aa pipeline (na maaaring
binubuo ng isang simpleng utos), isang listahan, o isang tambalang utos ay nagbabalik ng a
non-zero exit status, napapailalim sa mga sumusunod na kundisyon. Ang Magkamali ang bitag ay hindi
naisakatuparan kung ang nabigong utos ay bahagi ng listahan ng utos kaagad kasunod ng a
habang or hanggang keyword, bahagi ng pagsubok sa isang if pahayag, bahagi ng isang utos
isinagawa sa a && or || listahan maliban sa utos kasunod ng pangwakas && or ||, anuman
command sa isang pipeline ngunit ang huli, o kung ang return value ng command ay nangyayari
baligtad gamit !. Ito ay ang parehong mga kondisyon na sinusunod ng errexit (-e) pagpipilian.

Ang mga signal na binalewala sa pagpasok sa shell ay hindi maaaring ma-trap o i-reset. Nakulong
ang mga signal na hindi binabalewala ay ni-reset sa kanilang orihinal na mga halaga sa isang subshell
o subshell na kapaligiran kapag ang isa ay nilikha. Mali ang status ng pagbabalik kung mayroon man
sigspec ay hindi wasto; kung hindi bitag nagbabalik ng totoo.

uri [-aftpP] pangalan [pangalan ...]
Nang walang mga pagpipilian, ipahiwatig kung paano ang bawat isa pangalan ay bibigyang-kahulugan kung ginamit bilang isang utos
pangalan. Kung ang -t ginagamit ang opsyon, uri nagpi-print ng string na isa sa bansag,
keyword, tungkulin, builtin, O file if pangalan ay isang alias, salitang nakalaan sa shell,
function, builtin, o disk file, ayon sa pagkakabanggit. Kung ang pangalan ay hindi nahanap, kung gayon
walang naka-print, at ibinalik ang exit status na false. Kung ang -p Ang opsyon ay
ginamit, uri alinman ay nagbabalik ng pangalan ng disk file na isasagawa kung pangalan
ay tinukoy bilang isang command name, o wala kung ang ``type -t name'' ay hindi babalik
file. ang -P mga puwersa ng opsyon a PATH hanapin ang bawat isa pangalan, kahit na ``type -t name''
hindi babalik file. Kung ang isang utos ay na-hash, -p at -P i-print ang hashed na halaga,
na hindi nangangahulugang ang file na unang lumalabas sa PATH. Kung ang -a Ang opsyon ay
ginamit, uri nagpi-print ng lahat ng mga lugar na naglalaman ng executable na pinangalanan pangalan. ito
may kasamang mga alias at function, kung at kung ang -p hindi rin ginagamit ang opsyon. Ang
ang talahanayan ng mga hashed na utos ay hindi kinokonsulta kapag ginagamit -a. ang -f pinipigilan ang opsyon
shell function lookup, tulad ng sa utos builtin. uri nagbabalik totoo kung lahat ng
ang mga argumento ay matatagpuan, mali kung mayroon man ay hindi natagpuan.

limitasyon [-HSTabcdefilmnpqrstuvx [limitasyon]]
Nagbibigay ng kontrol sa mga mapagkukunang magagamit sa shell at sa mga prosesong nasimulan
sa pamamagitan nito, sa mga system na nagpapahintulot sa naturang kontrol. Ang -H at -S ang mga opsyon ay tumutukoy na ang
hard o soft limit ay nakatakda para sa ibinigay na mapagkukunan. Ang isang mahirap na limitasyon ay hindi maaaring tumaas
ng isang hindi-root na gumagamit sa sandaling ito ay naitakda; ang isang malambot na limitasyon ay maaaring tumaas hanggang sa halaga ng
ang mahirap na limitasyon. Kung wala man -H ni -S ay tinukoy, parehong malambot at mahirap na mga limitasyon
ay nakatakda. Ang halaga ng limitasyon ay maaaring isang numero sa yunit na tinukoy para sa mapagkukunan
o isa sa mga espesyal na halaga mahirap, malambot, O walang hangganan, na kumakatawan sa kasalukuyang
hard limit, ang kasalukuyang soft limit, at walang limitasyon, ayon sa pagkakabanggit. Kung limitasyon is
tinanggal, ang kasalukuyang halaga ng malambot na limitasyon ng mapagkukunan ay naka-print, maliban kung ang
-H ang pagpipilian ay ibinigay. Kapag higit sa isang mapagkukunan ang tinukoy, ang pangalan ng limitasyon at
ang yunit ay naka-print bago ang halaga. Ang iba pang mga opsyon ay binibigyang kahulugan bilang mga sumusunod:
-a Iniuulat ang lahat ng kasalukuyang limitasyon
-b Ang maximum na laki ng socket buffer
-c Ang maximum na laki ng mga pangunahing file na ginawa
-d Ang maximum na laki ng segment ng data ng isang proseso
-e Ang maximum na priyoridad sa pag-iskedyul ("maganda")
-f Ang maximum na laki ng mga file na isinulat ng shell at mga anak nito
-i Ang maximum na bilang ng mga nakabinbing signal
-l Ang maximum na laki na maaaring mai-lock sa memorya
-m Ang maximum na laki ng set ng residente (maraming system ang hindi tumutupad sa limitasyong ito)
-n Ang maximum na bilang ng mga open file descriptor (karamihan sa mga system ay hindi pinapayagan ito
halaga na itatakda)
-p Ang laki ng tubo sa 512-byte na mga bloke (maaaring hindi ito itakda)
-q Ang maximum na bilang ng mga byte sa POSIX message queue
-r Ang maximum na real-time na priyoridad sa pag-iiskedyul
-s Ang maximum na laki ng stack
-t Ang maximum na dami ng oras ng cpu sa mga segundo
-u Ang maximum na bilang ng mga prosesong magagamit sa isang user
-v Ang maximum na halaga ng virtual memory na magagamit sa shell at, sa ilan
sistema, sa mga anak nito
-x Ang maximum na bilang ng mga lock ng file
-T Ang maximum na bilang ng mga thread

If limitasyon ay ibinigay, at ang -a hindi ginagamit ang opsyon, limitasyon ay ang bagong halaga ng
tinukoy na mapagkukunan. Kung walang pagpipilian na ibinigay, kung gayon -f ay ipinapalagay. Ang mga halaga ay nasa
1024-byte increments, maliban sa -t, na nasa segundo; -p, na nasa mga yunit ng
512-byte na mga bloke; at -T, -b, -n, at -u, na mga hindi naka-scale na halaga. Ang pagbabalik
ang status ay 0 maliban kung may ibinigay na di-wastong opsyon o argumento, o may naganap na error
habang nagtatakda ng bagong limitasyon.

umask [-p] [-S] [paraan]
Ang user file-creation mask ay nakatakda sa paraan. Kung paraan nagsisimula sa isang digit, ito ay
binibigyang kahulugan bilang isang octal na numero; kung hindi, ito ay binibigyang kahulugan bilang isang simbolikong mode mask
katulad ng tinanggap ng chmod(1). Kung paraan ay tinanggal, ang kasalukuyang halaga ng
naka-print ang maskara. Ang -S ang opsyon ay nagiging sanhi ng pagpi-print ng maskara sa simbolikong anyo; ang
Ang default na output ay isang octal na numero. Kung ang -p ang opsyon ay ibinibigay, at paraan is
tinanggal, ang output ay nasa isang form na maaaring magamit muli bilang input. Ang katayuan sa pagbabalik ay
0 kung matagumpay na nabago ang mode o kung hindi paraan argumento ay ibinigay, at
false kung hindi.

Unalias [-a] [pangalan ...]
Tanggalin ang bawat isa pangalan mula sa listahan ng mga tinukoy na alias. Kung -a ay ibinibigay, lahat ng alyas
inalis ang mga kahulugan. Ang ibinalik na halaga ay totoo maliban kung isang ibinigay pangalan ay hindi isang
tinukoy na alyas.

i-unset [-fv] [-n] [pangalan ...]
Para sa bawat pangalan, alisin ang kaukulang variable o function. Kung ang -v Ang opsyon ay
ibinigay, bawat isa pangalan ay tumutukoy sa isang variable ng shell, at ang variable na iyon ay tinanggal. Basahin-
ang mga variable lamang ang maaaring hindi ma-unset. Kung -f ay tinukoy, bawat isa pangalan ay tumutukoy sa isang shell
function, at ang kahulugan ng function ay tinanggal. Kung ang -n ang opsyon ay ibinibigay,
at pangalan ay isang variable na may nameref katangian, pangalan ay hindi nakatakda sa halip na
ang variable na tinutukoy nito. -n walang epekto kung ang -f ang opsyon ay ibinibigay. Kung hindi
ang mga opsyon ay ibinibigay, bawat isa pangalan ay tumutukoy sa isang variable; kung walang variable by
ang pangalang iyon, ang anumang function na may pangalang iyon ay hindi nakatakda. Ang bawat hindi nakatakdang variable o function
ay tinanggal mula sa kapaligiran na ipinasa sa kasunod na mga utos. Kung alinman sa
COMP_WORDBREAKS, RANDOM, SECONDS, LINENO, HISTCMD, FUNCNAME, GROUPS, O DIRSTACK
ay hindi nakatakda, nawala ang kanilang mga espesyal na katangian, kahit na pagkatapos ay i-reset ang mga ito.
Ang katayuan sa paglabas ay totoo maliban kung a pangalan ay readonly.

maghintay [-n] [n ...]
Maghintay para sa bawat tinukoy na proseso ng bata at ibalik ang status ng pagwawakas nito. Ang bawat isa n
maaaring isang process ID o isang job specification; kung may ibinigay na job spec, lahat ng proseso
sa pipeline ng trabahong iyon ay hinihintay. Kung n ay hindi ibinigay, lahat ay kasalukuyang aktibo
ang mga proseso ng bata ay hinihintay, at ang katayuan ng pagbabalik ay zero. Kung ang -n Ang opsyon ay
ibinigay, maghintay naghihintay para sa anumang trabaho na wakasan at ibabalik ang katayuan ng paglabas nito. Kung n
ay tumutukoy sa isang hindi umiiral na proseso o trabaho, ang katayuan sa pagbabalik ay 127. Kung hindi, ang
ang return status ay ang exit status ng huling proseso o trabahong hinintay.

NAGHIGIT KABIBI


If malakas na palo ay nagsisimula sa pangalan rbash, O ang -r ang opsyon ay ibinibigay sa invocation, ang
nagiging restricted ang shell. Ang isang pinaghihigpitang shell ay ginagamit upang mag-set up ng isang kapaligiran nang higit pa
kinokontrol kaysa sa karaniwang shell. Ito ay kumikilos kapareho sa malakas na palo may exception
na ang mga sumusunod ay hindi pinapayagan o hindi ginanap:

· pagpapalit ng mga direktoryo gamit ang cd

· pagtatakda o pag-unset ng mga halaga ng KABIBI, PATH, ENV, O BASH_ENV

· pagtukoy ng mga pangalan ng command na naglalaman /

· pagtukoy ng filename na naglalaman ng a / bilang argumento sa . builtin na utos

· pagtukoy ng filename na naglalaman ng slash bilang argumento sa -p opsyon sa
sumira builtin na utos

· pag-import ng mga kahulugan ng function mula sa kapaligiran ng shell sa startup

· pag-parse ng halaga ng SHELLOPTS mula sa kapaligiran ng shell sa pagsisimula

· pag-redirect ng output gamit ang >, >|, <>, >&, &>, at >> redirection operator

· gamit ang exec builtin command upang palitan ang shell ng isa pang command

· pagdaragdag o pagtanggal ng mga builtin na command gamit ang -f at -d mga pagpipilian sa paganahin
builtin na utos

· gamit ang paganahin builtin command para paganahin ang mga naka-disable na shell builtin

· pagtukoy sa -p opsyon sa utos builtin na utos

· pag-off sa restricted mode gamit ang itakda +r or itakda +o pinaghihigpitan.

Ang mga paghihigpit na ito ay ipinapatupad pagkatapos basahin ang anumang mga startup file.

Kapag ang isang utos na natagpuan na isang script ng shell ay naisakatuparan (tingnan COMMAND Pagpapatupad
sa itaas), rbash pinapatay ang anumang mga paghihigpit sa shell na inilabas upang maisagawa ang script.

Gumamit ng bash online gamit ang mga serbisyo ng onworks.net


Mga Libreng Server at Workstation

Mag-download ng Windows at Linux apps

Linux command

Ad