Sh - Komando Linux Ubuntu - Unix Komando

NAME

bash - Lisénsi alatan-deui cangkang

SYNOPSIS

bash [pilihan] [file]

gambaran

Bash mangrupa paréntah -compatible juru basa sh nu executes Paréntah maca ti input baku atanapi tina file a. Bash ogé incorporates fitur mangpaat tina cangkang Korn sarta C (ksh na csh).

Bash ieu dimaksudkeun pikeun janten palaksanaan conformant tina IEEE POSIX Shell jeung Pakakas spésifikasi (Grup IEEE ngagawekeun 1003.2).

Pilihan

Sajaba pilihan cangkang single-karakter documented dina pedaran ti set builtin paréntah, bash interprets pilihan di handap keur invoked:

string -c

Mun pilihan -c téh hadir, lajeng Paréntah anu maca ti senar. Mun aya alesan sanggeus string, maranéhanana anu ditugaskeun ka parameter posisional, dimimitian ku $ 0.

-abdi

Mun pilihan -i téh hadir, cangkang nyaeta interaktif.

-l

Jieun bash polah salaku lamun eta geus invoked salaku cangkang login (tingali namah handap).

-r

Mun pilihan -r téh hadir, cangkang janten diwatesan (tingali diwatesan cangkang handap).

-s

Mun pilihan -s hadir, atawa lamun henteu alesan tetep sanggeus processing pilihan, teras Paréntah anu maca ti input baku. pilihan ieu ngamungkinkeun parameter posisional bisa diatur nalika invoking hiji batok interaktif.

-D

Daptar sadaya string ganda-dicutat dimimitian ku $ anu dicitak dina ouput baku. Di handap ieu mangrupakeun senar anu poko keur tarjamah basa nalika Lokalisasi ayeuna teu C atanapi POSIX. Ieu ngakibatkeun pilihan -n; euweuh paréntah bakal dieksekusi.

[- +] O [shopt_option]

shopt_option mangrupa salah sahiji pilihan cangkang ditarima ku builtin shopt (tingali cangkang BUILTIN paréntah di handap). Mun shopt_option téh hadir, -o susunan nilai pilihan anu; + O unsets eta. Mun shopt_option henteu disadiakeun, anu ngaran na nilai tina pilihan cangkang ditarima ku shopt anu dicitak dina kaluaran baku. Mun pilihan namah geus + O, output dipintonkeun dina format nu bisa jadi bahannana tiasa dipaké deui sakumaha input.

A - sinyal tungtung pilihan jeung disables processing pilihan salajengna. Naon alesan sanggeus - nu diperlakukeun salaku filenames jeung alesan. Argumen ngeunaan - sarua jeung -.

Bash ogé interprets sababaraha pilihan multi-karakter. Pilihan ieu kudu muncul dina garis paréntah méméh pilihan single-karakter bisa dipikawanoh.

--dump-po-string

Sarua jeung -D, tapi output anu dina format file Lisénsi gettext po (obyék portabel).

--dump-string

Sarua jeung -D.

--tulung

Nembongkeun pesen pamakéan dina output baku tur kaluar junun.

--init-file file

file --rcfile

Ngaéksekusi Paréntah tina file tinimbang standar file initialization pribadi ~ / .bashrc lamun cangkang nyaeta interaktif (tingali namah handap).

--lebet

Sarua jeung -l.

--noediting

Ulah nganggo readline perpustakaan Lisénsi maca garis paréntah nalika cangkang nyaeta interaktif.

--noprofile

Ulah maca boh sistem-lega file ngamimitian / jsb / profil atawa salah sahiji initialization pribadi file ~ / .bash_profile, ~ / .bash_login, atawa ~ / .profile. Sacara standar, bash berbunyi file ieu keur invoked salaku cangkang login (tingali namah handap).

--norc

Ulah maca na ngaéksekusi file initialization pribadi ~ / .bashrc lamun cangkang nyaeta interaktif. Pilihan Ieu on sacara standar lamun cangkang ieu invoked minangka sh.

--posix

Ngarobah paripolah bash mana operasi standar béda ti POSIX 1003,2 baku pikeun cocog standar (mode posix).

--restricted

Cangkang janten diwatesan (tingali diwatesan cangkang handap).

--rpm-merlukeun

Ngahasilkeun daptar payil nu diperlukeun pikeun Aksara cangkang kana ngajalankeun. Ieu ngakibatkeun '-n' na nyaeta tunduk kana watesan anu sarua sakumaha compile waktos kasalahan mariksa mariksa; Backticks, [] tés, jeung evals teu parsed jadi sababaraha kabebasan bisa jadi lasut. --verbose sarua jeung -V.

--version

Témbongkeun informasi Vérsi misalna ieu bash dina output baku tur kaluar junun.

alesan

Mun alesan tetep sanggeus processing pilihan, sarta ngayakeun nu -c atawa pilihan -s geus disadiakeun, argumen mimitina dianggap janten nami hiji file nu ngandung paréntah cangkang. Mun bash ieu invoked dina fashion ieu, $ 0 disetel ka nami file, jeung parameter posisional nu disetel ka dalil sésana. Bash maos na executes Paréntah tina file ieu, lajeng kaluar. Status kaluar Bash 's nyaéta status kaluar tina parentah panungtungan dieksekusi dina naskah. Mun euweuh paréntah nu dieksekusi, status kaluar téh 0. Hiji usaha anu mimiti dijieun pikeun muka file dina diréktori ayeuna, tur, upami henteu file ieu kapanggih, teras cangkang maluruh nu directories dina jalur keur naskah.

namah

Hiji cangkang login hiji anu karakter mimiti argumen enol mangrupakeun -, atawa salah ngamimitian kalawan pilihan --login.

Hiji cangkang interaktif hiji dimimitian tanpa alesan non-pilihan jeung tanpa pilihan -c anu baku asupan jeung kaluaran anu duanana disambungkeun kana terminal (sakumaha ditangtukeun ku isatty (3)), atawa hiji dimimitian kalawan pilihan -i. PS1 diatur sarta $ - ngawengku i lamun bash nyaeta interaktif, sahingga hiji Aksara cangkang atawa file ngamimitian pikeun nguji kaayaan ieu.

Ayat di handap ieu ngajelaskeun kumaha bash executes file ngamimitian na. Lamun salah sahiji file aya tapi teu bisa maca, bash ngalaporkeun kasalahan. Tildes anu dimekarkeun di ngaran file sakumaha didadarkeun di handap ieu dina Tilde ékspansi dina bagian ékspansi.

Nalika bash ieu invoked salaku hiji batok login interaktif, atawa salaku cangkang non-interaktif jeung pilihan --login, éta mimitina maos na executes Paréntah tina file / jsb / profil, upami file anu aya. Sanggeus maca file anu, éta Sigana keur ~ / .bash_profile, ~ / .bash_login, sarta ~ / .profile, dina urutan anu, tur maos na executes Paréntah tina hiji mimiti nu aya na téh bisa dibaca. Pilihan --noprofile bisa dipaké nalika cangkang ieu dimimitian pikeun ngahambat kabiasaan ieu.

Lamun login cangkang kaluar, bash maos na executes Paréntah tina file ~ / .bash_logout, upami eta aya.

Nalika hiji batok interaktif nu sanes cangkang login geus dimimitian, bash maos na executes Paréntah tina ~ / .bashrc, upami file anu aya. Ieu bisa jadi dipeungpeuk ku ngagunakeun pilihan --norc. Pilihan file --rcfile bakal maksakeun bash maca na ngaéksekusi Paréntah tina file tinimbang ~ / .bashrc.

Nalika bash geus dimimitian non-interactively, pikeun ngajalankeun skrip cangkang, contona, eta Sigana keur BASH_ENV variabel di lingkungan, expands nilaina upami nembongan aya, sarta ngagunakeun nilai dimekarkeun jadi nami file pikeun maca jeung ngaéksekusi . Bash behaves sakumaha lamun paréntah di handap anu dibales:

lamun [-n "$ BASH_ENV"]; saterusna . "$ BASH_ENV"; fi

tapi nilai variabel jalur henteu dipaké pikeun milari nami file.

Mun bash ieu invoked kalawan nami sh, éta nyoba meniru paripolah ngamimitian tina versi sajarah sh sakumaha raket sabisa, bari conforming kana standar POSIX ogé. Nalika invoked salaku hiji batok login interaktif, atawa cangkang non-interaktif jeung pilihan --login, éta mimitina nyoba maca jeung ngaéksekusi Paréntah tina / jsb / profil na ~ / .profile, dina urutan éta. Pilihan --noprofile bisa dipaké pikeun ngahambat kabiasaan ieu. Nalika invoked salaku hiji batok interaktif jeung ngaran sh, bash Sigana keur ENV variable, expands nilaina upami dihartikeun, sarta ngagunakeun nilai dimekarkeun jadi nami file pikeun maca jeung ngaéksekusi. Kusabab cangkang invoked sakumaha sh teu nyobian maca na ngaéksekusi Paréntah tina berkas ngamimitian sejen, pilihan --rcfile boga pangaruh. Hiji cangkang non-interaktif invoked kalawan nami sh teu nyobian maca berkas ngamimitian lianna. Nalika invoked sakumaha sh, bash asup mode posix sanggeus payil ngamimitian nu maca.

Nalika bash ieu dimimitian dina modeu posix, sakumaha kalayan pilihan garis paréntah --posix, kitu kieu standar POSIX pikeun file ngamimitian. Dina modeu ieu, cangkang interaktif dilegakeun variabel ENV sarta paréntah anu maca na dieksekusi ti file anu ngaran ngarupakeun nilai dimekarkeun. Taya file ngamimitian séjén nu maca.

Bash nyoba keur nangtukeun mun eta keur ngajalankeun ku cangkang daemon jauh, biasana rshd. Mun bash nangtukeun eta keur dijalankeun ku rshd, éta berbunyi na executes Paréntah tina ~ / .bashrc, upami file anu aya tur mangrupa dibaca. Eta moal ngalakukeun ieu lamun invoked minangka sh. Pilihan --norc bisa dipaké pikeun ngahambat kabiasaan ieu, sarta pilihan --rcfile bisa dipaké pikeun maksa file sejen bisa maca, tapi rshd henteu umum nu dipake cangkang jeung pamadegan pilihan atawa ngidinan bisa dieusian.

Mun cangkang ieu dimimitian ku pamaké (grup) id mujarab teu sarua jeung pamake nyata (grup) id, sarta pilihan -p henteu disadiakeun, teu file ngamimitian nu maca, fungsi cangkang teu diwariskeun ti lingkungan, nu SHELLOPTS variabel, upami eta némbongan dina lingkungan, geus teu dipalire, sarta id pamaké éféktif diatur ka pamaké id nyata. Mun pilihan -p disadiakeun di namah, paripolah ngamimitian nya sami, tapi nu pamaké id mujarab teu ngareset.

DEFINISI

Definisi handap dipaké sapanjang sesa dokumen ieu.

kosong

A spasi atanapi tab.

kecap

Hiji sekuen karakter dianggap minangka Unit tunggal ku cangkang. Ogé kawanoh salaku token a.

nami

Hiji kecap anu diwangun ngan sahiji karakter alfanumerik na underscores, sarta dimimitian ku hiji karakter alphabetic atanapi hiji underscore. Disebut ogé hiji identifier.

metacharacter

Hiji karakter nu, nalika unquoted, misahkeun kecap. Salah sahiji di handap:

| &; () <> Tab spasi

operator kontrol

A token anu ngalakukeun hiji fungsi kontrol. Ieu salah sahiji simbol handap:

|| & &&; ;; () |

kecap ditangtayungan

Kecap ditangtayungan mangrupakeun kecap anu boga harti husus ka cangkang. Kecap di handap nu dipikawanoh salaku ditangtayungan nalika unquoted na boh kecap mimiti paréntah basajan (tingali cangkang grammar handap) atawa kecap katilu tina hal atawa keur ngorana:

! bisi ulah dipigawé elif sejenna esac fi pikeun fungsi lamun di pilih lajeng dugi bari {} waktos [[]]

cangkang grammar

paréntah basajan

A paréntah basajan nyaéta réntétan assignments variabel pilihan dituturkeun ku kecap -separated kosong tur redirections, sarta terminated ku operator kontrol. Kecap munggaran hususna paréntah bisa dieksekusi, sarta disalurkeun jadi argumen nol. Kecap sésana anu diliwatan jadi alesan jeung paréntah invoked.

Nilai balikna paréntah basajan anu status kaluar na, atawa 128+ n lamun paréntah anu terminated ku sinyal n.

Pipelines

A pipa mangrupakeun runtuyan hiji atawa leuwih Paréntah dipisahkeun ku karakter nu | . The format keur pipa hiji:

[Waktos [-p]] [! ] Sorana [| command2 ...]

Kaluaran baku tina paréntah disambungkeun via pipe ka input baku tina command2. Sambungan ieu dipigawé saméméh sagala redirections dieusian ku paréntah (tingali redirection handap).

Lamun kecap wengkuan! precedes pipa a, status kaluar tina pipa nu teh teu logis tina status kaluar tina parentah panungtungan. Upami teu kitu, status pipa ieu status kaluar tina parentah panungtungan. The waits cangkang pikeun sakabéh paréntah dina pipa ka nungtungan saméméh balik nilai a.

Mun wanci ditangtayungan Kecap precedes hiji pipa, anu tos dilakonan sakumaha ogé maké jeung sistem waktu dikonsumsi ku palaksanaan na anu dilaporkeun nalika pipa nu terminates. Pilihan -p robah format output keur nu dieusian ku POSIX. Variabel TIMEFORMAT bisa jadi diatur ka string format nu hususna kumaha informasi timing kudu ditampilkeun; ningali pedaran TIMEFORMAT handapeun variabel Shell handap.

Unggal paréntah dina pipa keur dibales salaku prosés misah (ie, dina subshell a).

béréndélan

Daptar mangrupakeun runtuyan hiji atawa leuwih pipelines dipisahkeun ku salah sahiji operator; , &, &&, atawa || , Sarta optionally terminated ku salah sahiji; , &, Atawa .

Tina operator daptar ieu, && na || gaduh precedence sarua, dituturkeun ku; sarta & nu boga precedence sarua.

Hiji sekuen salah sahiji atawa leuwih newlines bisa muncul dina daptar tinimbang hiji titik koma jeung delimit Paréntah.

Lamun sorana hiji terminated ku operator kontrol &, cangkang executes paréntah dina latar tukang di subshell a. Cangkang teu ngadagoan sorana finish, sarta status balik téh 0. Paréntah dipisahkeun ku; nu dibales sequentially; nu waits cangkang pikeun tiap sorana mun nungtungan di péngkolan. Status balik téh status kaluar tina parentah panungtungan dieksekusi.

The operator kontrol && na || denote AND béréndélan na OR béréndélan visinil. Hiji daptar AND boga bentuk

command1 && command2

command2 geus dieksekusi lamun, ngan jeung lamun, command1 mulih hiji status kaluar tina enol.

Hiji daptar OR boga bentuk

command1 || command2

command2 geus dieksekusi lamun jeung ukur lamun command1 mulih a status kaluar non-nol. Status balikna AND na OR béréndélan nyaeta status kaluar tina parentah panungtungan dieksekusi dina daptar.

paréntah sanyawa

A paréntah sanyawa téh salah sahiji di handap:

(Daptar)

Daptar ieu dibales dina subshell a. assignments variabel na Paréntah builtin nu mangaruhan lingkungan cangkang urang ulah tetep dina pangaruh sanggeus paréntah nyampurnakeun. Status balik téh status kaluar tina daptar.

{Daftar; }

Daptar ieu ngan saukur dibales dina lingkungan cangkang ayeuna. Daptar kudu terminated ku newline atawa titik koma. Ieu katelah paréntah grup. Status balik téh status kaluar tina daptar. Catetan yen teu saperti metacharacters (jeung), {na} mangrupakeun kecap wengkuan jeung kudu lumangsung dimana hiji kecap wengkuan ieu diijinkeun bisa dipikawanoh. Kusabab aranjeunna teu ngabalukarkeun kecap putus, maranéhna kudu dipisahkeun tina daptar ku whitespace.

((Babasan))

Babasan ieu dievaluasi nurutkeun aturan digambarkeun di handap dina aritmetika evaluasi. Lamun nilai babasan téh non-enol, status balik téh 0; disebutkeun status balik téh 1. Ieu persis sarua jeung hayu "ekspresi".

[[Babasan]]

Balik hiji status 0 atawa 1 gumantung kana meunteun teh ekspresi ekspresi kondisional. Ungkapan anu disusun tina primaries digambarkeun di handap dina ungkapan kondisional. Kecap bengkahna jeung perluasan pathname teu dipigawé dina kecap antara [[na]]; ékspansi tilde, parameter jeung perluasan variable, ékspansi arithmetic, substitusi paréntah, substitusi prosés, sarta ngaleupaskeun cutatan anu dipigawé.

Sabot == na! = Operator anu dipaké, anu string ka katuhu tina operator dianggap pola sarta loyog nurutkeun aturan digambarkeun di handap dina Pola cocog. Nilai balik téh 0 lamun senar éta cocog atanapi henteu cocog pola nu masing-masing, sarta 1 disebutkeun. Naon bagian tina pola nu bisa jadi dicutat maksa ka jadi loyog salaku senar a.

Ungkapan bisa digabungkeun ngagunakeun operator di handap, didaptarkeun di turunna urutan of precedence:

(Babasan)

Mulih nilai éksprési. Ieu bisa dipaké pikeun override nu precedence normal tina operator.

! babasan

Leres upami ekspresi mangrupa palsu.

expression1 && expression2

Leres mun duanana expression1 na expression2 anu leres.

expression1 || expression2 Leres upami boh expression1 atanapi expression2 bener.

The && na || operator teu evaluate expression2 lamun nilai expression1 téh cukup pikeun nangtukeun nilai balikna babasan kondisional sakabéh.

keur ngaran [dina kecap]; ngalakukeun daftar; Puguh

Daptar kecap di handap di ieu dimekarkeun, generating daptar barang. Ngaran variabel disetel ka unggal unsur daftar di péngkolan, sarta daptar ieu dibales unggal waktu. Lamun kecap dina ieu disingkahkeun, pikeun paréntah executes daptar sakali pikeun tiap parameter posisional anu diatur (tingali ucup handap). Status balik téh status kaluar tina parentah panungtungan nu executes. Mun perluasan item di handap dina hasil dina daptar kosong, teu Paréntah téh dibales, sarta status balik téh 0.

pikeun ((expr1; expr2; expr3)); ngalakukeun daftar; Puguh

Kahiji, ekspresi expr1 arithmetic ieu dievaluasi nurutkeun aturan digambarkeun di handap dina aritmetika evaluasi. Babasan expr2 arithmetic ieu lajeng dievaluasi sababaraha kali nepi ka dinya ngaevaluasi keur nol. Unggal waktos expr2 ngaevaluasi ka nilai non-enol, daftar ieu dibales jeung ekspresi expr3 arithmetic ieu dievaluasi. Mun ekspresi wae ieu disingkahkeun, éta behaves lamun ngaevaluasi keur 1. Nilai balik téh status kaluar tina parentah panungtungan dina daptar anu dieksekusi, atanapi palsu lamun salah sahiji ungkapan téh sah.

pilih ngaran [dina kecap]; ngalakukeun daftar; Puguh

Daptar kecap di handap di ieu dimekarkeun, generating daptar barang. Susunan kecap dimekarkeun anu dicitak dina kasalahan baku, unggal dimimitian ku angka hiji. Lamun kecap dina ieu disingkahkeun, parameter posisional anu dicitak (tingali ucup handap). The ajakan PS3 ieu lajeng ditampilkeun sarta garis baca ti input baku. Lamun garis nu diwangun ku sababaraha pakait jeung salah sahiji kecap ditampilkeun, mangka nilai tina ngaran disetel ka kecap eta. Lamun garis nu kosong, kecap jeung ajakan dipintonkeun deui. Mun EOF ieu baca, sorana nyampurnakeun. Sagala nilai lianna baca ngaran sabab bisa disetel ka hypothesis. Garis dibaca geus disimpen di reply variabel. Daftar ieu dibales sanggeus unggal Pilihan dugi paréntah break ieu dibales. Status kaluar tina pilih nyaeta status kaluar tina parentah panungtungan dieksekusi dina daptar, atawa enol lamun euweuh paréntah anu dibales.

bisi Kecap dina [[(] pola [| pola]

A paréntah hal munggaran expands Kecap, sarta nyoba cocog eta ngalawan unggal pola kahareupna maké aturan cocog sarua pikeun perluasan pathname (tingali ékspansi Pathname handap). Nalika cocok keur kapanggih, daptar alkana geus dieksekusi. Sanggeus pertandingan mimiti, teu patandingan saterusna nu nyoba. Status kaluar nyaeta nol lamun euweuh pola cocog. Upami teu kitu, éta status kaluar tina parentah panungtungan dieksekusi dina daptar.

lamun daftar; lajeng daptar; [Daftar elif; lajeng daptar; ] ... [daftar sejenna; ] fi

Upami daftar ieu dibales. Lamun status kaluar na nyaeta nol, anu lajeng daptar ieu dibales. Upami teu kitu, unggal daptar elif geus dieksekusi dina gilirannana, sarta lamun status kaluar na nyaeta nol, daptar pakait lajeng ieu dibales jeung nyampurnakeun paréntah. Upami teu kitu, daptar sejenna geus dieksekusi, upami hadir. Status kaluar téh status kaluar tina parentah panungtungan dieksekusi, atawa enol lamun henteu kaayaan dites leres.

bari daftar; ngalakukeun daftar; Puguh

dugi daftar; ngalakukeun daftar; Puguh

Paréntah bari terus executes daptar do salami paréntah panungtungan dina daptar mulih hiji status kaluar tina enol. Nepi sorana idéntik jeung paréntah bari, iwal test nyaeta negated; daptar do geus dieksekusi salami paréntah panungtungan dina daptar mulih a status kaluar non-nol. Status kaluar tina bari jeung dugi Paréntah téh status kaluar tina do panungtungan daftar paréntah dieksekusi, atawa enol lamun taya ieu dibales.

[Fungsi] Ngaran () {daftar; }

Ieu ngahartikeun fungsi ngaran ngaranna. Awak fungsi mangrupa daptar Paréntah antara {na}. Daptar ieu dibales iraha ngaran anu dieusian salaku nami paréntah basajan. Status kaluar tina fungsi hiji status kaluar tina parentah panungtungan dieksekusi dina awak urang. (Tempo fungsi handap.)

komentar

Dina batok non-interaktif, atawa hiji batok interaktif nu pilihan interactive_comments ka builtin shopt diaktipkeun (tingali cangkang BUILTIN paréntah di handap), hiji kecap dimimitian ku # ngabalukarkeun kecap nu na sakabeh karakter sésana dina garis anu bisa dipaliré. Hiji cangkang interaktif tanpa pilihan interactive_comments sangkan teu ngidinan komentar. Pilihan interactive_comments nyaeta on sacara standar dina cangkang interaktif.

QUOTING

Quoting ieu dipaké pikeun nyabut harti husus tina karakter tangtu atawa kecap pikeun cangkang. Quoting bisa dipaké pikeun mareuman perlakuan husus pikeun karakter husus, pikeun nyegah kecap wengkuan tina keur dipikawanoh salaku misalna, sarta pikeun nyegah ékspansi parameter.

Unggal metacharacters nu didaptarkeun di luhur handapeun DEFINISI ngabogaan harti husus pikeun cangkang jeung kudu dicutat lamun éta keur ngagambarkeun sorangan.

Nalika éta fasilitas ékspansi sajarah paréntah anu dipake, karakter ékspansi sajarah, biasana! , Kudu dicutat pikeun nyegah ékspansi sajarah.

Aya tilu mékanisme quoting: karakter ngewa, tanda petik tunggal, sarta tanda petik ganda.

A backslash non-dicutat (\) nyaeta karakter ngewa. Ieu preserves nilai literal sahiji karakter hareup nu kieu, iwal ti . Mun sapasang \ mucunghul, sarta backslash nu teu sorangan dicutat, anu \ geus diperlakukeun salaku tuluyan garis (hal ieu eta anu dikaluarkeun ti aliran input sarta éféktif dipaliré).

Enclosing karakter dina tanda petik tunggal preserves nilai literal unggal karakter dina tanda petik. A cutatan tunggal teu lumangsung antara tanda petik tunggal, sanajan dimimitian ku backslash a.

Enclosing karakter dina tanda petik ganda preserves nilai literal sadaya karakter dina tanda petik, iwal ti $, `, sarta \. Hurup $ na `ngaropéa harti husus maranéhanana dina tanda petik ganda. Backslash nu nahan harti husus na ngan lamun dituturkeun ku salah sahiji karakter handap: $, `", \, atawa A cutatan ganda bisa jadi dicutat dina tanda petik ganda ku harita eta kalawan backslash a..

Parameter husus * na @ miboga harti husus nalika di tanda petik ganda (tingali ucup handap).

Kecap tina formulir $ 'string' nu ngarawat husus. Kecap expands mun string, kalawan karakter backslash-lolos diganti jadi specifed ku standar ANSI C. urutan ngewa Backslash, upami hadir, anu dikirim saperti kieu:

\ a

ngageter (bel)

\ b

backspace

\ e

hiji karakter ngewa

\ f

feed formulir

\ n

garis anyar

\ r

kenop mulang

\ t

tab horizontal

\ v

tab nangtung

\\

backslash

\ '

cutatan tunggal

\ nnn

karakter dalapan bit anu nilai ngarupakeun nilai octal nnn (salah mun tilu digit)

\ x HH

karakter dalapan bit anu nilai teh HH nilai hexadecimal (hiji atawa dua hex digit)

\ c x

a x karakter control-

hasilna dimekarkeun nyaéta single-dicutat, saolah-olah dina tanda dollar geus teu geus hadir.

Hiji senar ganda-dicutat dimimitian ku tanda dollar ($) bakal ngabalukarkeun string anu ditarjamahkeun numutkeun kana Lokalisasi ayeuna. Lamun Lokalisasi ayeuna nyaéta C atanapi POSIX, anu tanda dollar geus teu dipalire. Mun string anu ditarjamahkeun sarta diganti, ngagantian éta téh ganda-dicutat.

ucup

A parameter nyaeta hiji entitas nu nyimpen nilai. Bisa jadi ngaran, nomer hiji, atanapi salah sahiji karakter husus ngabéréndélkeun handap dina parameter Special. Keur kaperluan cangkang urang, variabel ngarupakeun parameter dilambangkeun ku ngaran. A variable mibanda nilai jeung enol atawa leuwih atribut. Atribut nu ditugaskeun ngagunakeun dibewarakeun builtin paréntah (tingali dibewarakeun handap dina cangkang BUILTIN Paréntah).

A parameter diatur lamun eta geus ditugaskeun nilai a. The null string mangrupakeun nilai sah. Sakali variable nu diatur, nya meureun unset ukur ku ngagunakeun paréntah builtin unset (tingali cangkang BUILTIN paréntah di handap).

A variabel bisa jadi ditugaskeun ka ku pernyataan bentuk

Ngaran = [nilai]

Lamun nilai henteu dibikeun, variabel anu ditugaskeun ka string hypothesis. Kabéh nilai ngalaman perluasan tilde, parameter jeung perluasan variable, substitusi paréntah, ékspansi arithmetic, sarta ngaleupaskeun cutatan (tingali ékspansi handap). Lamun variabel boga na set atribut integer, teras nilai nunut ka arithmetic ékspansi sanajan $ teh ((...)) ékspansi teu dipake (tingali ékspansi Aritmatika handap). Kecap bengkahna henteu dipigawé, iwal ti "$ @" salaku dipedar dihandap handapeun parameter Special. ékspansi Pathname teu dilaksanakeun. Pernyataan ngerjakeun ogé bisa muncul salaku alesan pikeun dibewarakeun di, typeset, ékspor, readonly, sarta paréntah builtin lokal.

parameter posisional

A parameter posisional nyaéta parameter dilambangkeun ku salah sahiji atawa leuwih digit, lian ti angka hiji 0. parameter posisional nu ditugaskeun ti alesan cangkang urang keur invoked, sarta bisa jadi reassigned ngagunakeun set builtin paréntah. parameter posisional mungkin teu ditugaskeun pikeun mibanda pernyataan ngerjakeun. Parameter posisional anu samentara diganti lamun fungsi cangkang ieu dibales (tingali fungsi handap).

Nalika parameter posisional diwangun ku leuwih ti hiji angka tunggal anu dimekarkeun, éta kudu enclosed di braces (tingali ékspansi handap).

parameter husus

cangkang Ngaruwat sababaraha parameter husus. parameter ieu mungkin ngan bisa referenced; ngerjakeun ka aranjeunna henteu diwenangkeun.

*

Expands kana parameter posisional, mimitian ti hiji. Nalika ékspansi anu lumangsung dina tanda petik ganda, éta expands ka kecap tunggal jeung nilai unggal parameter dipisahkeun ku karakter mimiti variabel husus IFS. Hartina, "$ *" sarua jeung "$ 1 c $ 2 c ...", dimana c ngarupakeun karakter mimiti nilai variabel IFS. Mun IFS nyaeta unset, parameter nu dipisahkeun ku rohangan. Mun IFS nyaeta hypothesis, parameter nu ngagabung tanpa intervening separators.

@

Expands kana parameter posisional, mimitian ti hiji. Nalika ékspansi anu lumangsung dina tanda petik ganda, unggal parameter expands ka kecap misah. Hartina, "$ @" sarua jeung "$ 1" "$ 2" ... Lamun aya euweuh parameter posisional, "$ @" na $ @ dilegakeun ka nanaon (ie, aranjeunna anu dikaluarkeun).

#

Expands kana jumlah parameters posisional di decimal.

?

Expands kana status tina pipa foreground nu panganyarna dieksekusi.

-

Expands ka umbul pilihan ayeuna jadi dieusian kana namah, ku set builtin paréntah, atawa pamadegan diatur ku cangkang sorangan (kayaning pilihan -i).

$

Expands kana ID Prosés cangkang. Dina () subshell, éta expands kana ID prosés tina cangkang ayeuna, moal subshell kana.

!

Expands kana ID prosés tina tukang (Asynchronous) paréntah nu panganyarna dieksekusi.

0

Expands kana nami cangkang atawa cangkang naskah. Ieu diatur dina cangkang initialization. Mun bash ieu invoked sareng file ngeunaan Paréntah, $ 0 disetel ka nami file éta. Mun bash geus dimimitian kalawan pilihan -c, teras $ 0 diatur kana argumen munggaran sanggeus string anu jadi dieksekusi, upami salah téh hadir. Upami teu kitu, eta disetel ka nami file dipaké mana nu dipake bash, sakumaha dirumuskeun ku argumen nol.

_

Dina batok ngamimitian, pakakas pikeun nami file mutlak cangkang atawa cangkang Aksara keur dibales sakumaha diliwatan dina daptar argumen. Salajengna, expands kana argumen panungtungan kana paréntah saméméhna, sanggeus ékspansi. Ogé pakakas nami file pinuh unggal paréntah dieksekusi jeung ditempatkeun di lingkungan diékspor ka paréntah éta. Lamun mariksa surat, parameter ieu nahan ngaran file mail ayeuna keur dipariksa.

variabel cangkang

Variabel handap diatur ku cangkang:

BASH

Expands kana ngaran file pinuh dipaké mana nu dipake conto ieu bash.

BASH_VERSINFO

A variabel Asép Sunandar Sunarya readonly anu anggota tahan informasi Vérsi misalna ieu bash. Nilai ditugaskeun ka anggota Asép Sunandar Sunarya téh saperti kieu:

BASH_VERSINFO [0]

The utama jumlahna Vérsi (release nu).

BASH_VERSINFO [1]

The minor angka Vérsi (versi nu).

BASH_VERSINFO [2]

Patch tingkat.

BASH_VERSINFO [3]

Ngawangun versi.

BASH_VERSINFO [4]

Pelepasan status (misalna beta1).

BASH_VERSINFO [5]

Nilai MACHTYPE.

BASH_VERSION

Expands ka string ngajéntrékeun versi tina conto ieu bash.

COMP_CWORD

COMP_LINE

Garis paréntah ayeuna. Variabel ieu ngan sadia di fungsi cangkang jeung paréntah éksternal invoked ku fasilitas parantosan programmable (tingali Programmable parantosan handap).

COMP_POINT

COMP_WORDS

Hiji variabel Asép Sunandar Sunarya (tingali Arrays handap) nu diwangun ku kecap individu dina garis paréntah ayeuna. Variabel ieu ngan sadia di fungsi cangkang invoked ku fasilitas parantosan programmable (tingali Programmable parantosan handap).

DIRSTACK

Hiji variabel Asép Sunandar Sunarya (tingali Arrays handap) nu ngandung eusi ayeuna tina tumpukan diréktori. Directories muncul dina tumpukan dina urutan aranjeunna dipintonkeun ku dirs builtin. Assigning ka anggota variabel Asép Sunandar Sunarya ieu bisa dipaké pikeun ngaropéa directories geus aya tumpukan, tapi nu pushd na popd builtins kudu dipake pikeun nambahkeun jeung cabut directories. Ngerjakeun kana variabel ieu moal ngarobah diréktori ayeuna. Mun DIRSTACK nyaeta unset, éta leungiteun pasipatan husus na, komo lamun éta salajengna reset.

EUID

Expands ka pamaké ID éféktif tina pamaké ayeuna, initialized dina cangkang ngamimitian. variabel Ieu readonly.

FUNCNAME

Nami naon fungsi cangkang ayeuna-executing. variabel ieu aya ngan lamun fungsi cangkang ieu executing. Assignments mun FUNCNAME boga pangaruh jeung balik hiji status kasalahan. Mun FUNCNAME nyaeta unset, éta leungiteun pasipatan husus na, komo lamun éta salajengna reset.

grup

Hiji variabel Asép Sunandar Sunarya ngandung daptar golongan numana pamaké ayeuna nyaeta anggota. Assignments ka grup boga pangaruh jeung balik hiji status kasalahan. Lamun grup téh unset, éta leungiteun pasipatan husus na, komo lamun éta salajengna reset.

HISTCMD

Jumlah sajarah, atawa indéks dina daptar sajarah, tina paréntah ayeuna. Mun HISTCMD nyaeta unset, éta leungiteun pasipatan husus na, komo lamun éta salajengna reset.

HOSTNAME

Otomatis disetel ka ngaran host ayeuna.

HOSTTYPE

Otomatis disetel ka string anu uniquely ngajelaskeun jinis mesin on nu bash ieu executing. standar kasebut sistem-gumantung.

LINENO

Unggal waktos parameter ieu referenced, cangkang substitutes jumlah decimal ngalambangkeun sequential angka garis ayeuna (dimimitian ku 1) dina hiji Aksara atawa fungsi. Lamun henteu dina Aksara atawa fungsi, nilai Cirian teu dijamin janten bermakna. Mun LINENO nyaeta unset, éta leungiteun pasipatan husus na, komo lamun éta salajengna reset.

MACHTYPE

Otomatis disetel ka string anu pinuh ngajelaskeun tipe sistem on nu bash ieu executing, dina standar Lisénsi format CPU-parusahaan-sistem. standar kasebut sistem-gumantung.

OLDPWD

The diréktori kerja saméméhna sakumaha diatur ku paréntah cd.

OPTARG

Nilai tina argumen pilihan panungtungan diprosés ku getopts builtin paréntah (tingali cangkang BUILTIN paréntah di handap).

OPTIND

Indéks sahiji argumen salajengna bisa diolah ku getopts builtin paréntah (tingali cangkang BUILTIN paréntah di handap).

OSTYPE

Otomatis disetel ka string anu ngajelaskeun sistem operasi kana nu bash ieu executing. standar kasebut sistem-gumantung.

PIPESTATUS

Hiji variabel Asép Sunandar Sunarya (tingali Arrays handap) nu ngandung daptar nilai status kaluar tina prosés dina pipa foreground paling-anyar-dieksekusi (anu bisa ngandung ukur paréntah tunggal).

PPID

Prosés ID indungna cangkang urang. variabel Ieu readonly.

PWD

The diréktori kerja ayeuna sakumaha diatur ku paréntah cd.

acak

Unggal waktos parameter ieu referenced, a integer acak antara 0 jeung 32767 dihasilkeun. Urutan nomer acak bisa jadi initialized ku assigning hiji nilai jeung acak. Mun acak nyaéta unset, éta leungiteun pasipatan husus na, komo lamun éta salajengna reset.

walon

Atur jeung garis input baca ku dibaca builtin paréntah lamun euweuh alesan keur disadiakeun.

detik

Unggal waktos parameter ieu referenced, jumlah detik saprak cangkang namah geus balik. Lamun nilai nu geus ditugaskeun pikeun detik, ajén balik kana rujukan saterusna nya éta sajumlah detik ti ngerjakeun ditambah nilai nangtukeun. Mun detik nyaéta unset, éta leungiteun pasipatan husus na, sanajan lamun salajengna ngareset.

SHELLOPTS

Daptar titik-dipisahkeun tina pilihan cangkang diaktipkeun. Unggal kecap dina daptar mangrupa argumen valid keur pilihan -o kana set builtin paréntah (tingali cangkang BUILTIN paréntah di handap). Pilihan muncul di SHELLOPTS anu maranéhanana dilaporkeun salaku on ku set -o. Lamun variabel ieu di lingkungan nalika bash dimimitian up, tiap pilihan cangkang dina daptar nu bakal diaktipkeun sateuacan maca berkas ngamimitian. variabel ieu baca-wungkul.

SHLVL

Incremented ku hiji tiap waktu hiji conto tina bash geus dimimitian.

UID

Expands kana ID pamaké ti pamaké ayeuna, initialized dina cangkang ngamimitian. variabel Ieu readonly.

Variabel handap dipaké ku cangkang. Dina sababaraha kasus, bash nangtukeun hiji nilai standar keur variabel nu; kasus ieu keur nyatetan handap.

BASH_ENV

Mun parameter ieu diatur nalika bash ieu executing a Aksara cangkang, nilaina keur diinterpretasi salaku Ngaran koropak ngandung paréntah pikeun initialize cangkang, sakumaha dina ~ / .bashrc. Nilai BASH_ENV ieu subjected mun ékspansi parameter, substitusi paréntah, jeung perluasan arithmetic saméméh keur diinterpretasi salaku ngaran koropakna. Jalur henteu dipaké pikeun milari nami file resultant.

CDPATH

Jalur pilarian kanggo paréntah cd. Ieu daptar titik-dipisahkeun tina directories nu cangkang Sigana keur directories tujuan dieusian ku paréntah cd. A nilai sampel mangrupakeun ":. ~: / Usr".

kolom

Dipaké ku paréntah builtin pilih pikeun nangtukeun lebar terminal nalika percetakan béréndélan Pilihan. Nyetél kana resi SIGWINCH a otomatis.

COMPREPLY

Hiji variabel Asép Sunandar Sunarya ti mana bash maos completions mungkin dihasilkeun ku fungsi cangkang invoked ku fasilitas parantosan programmable (tingali Programmable parantosan handap).

FCEDIT

Editor standar pikeun FC builtin paréntah.

FIGNORE

Daptar titik-dipisahkeun tina suffixes malire lamun ngajalankeun Ngaran koropak parantosan (tingali READLINE handap). Hiji Ngaran koropak anu ahiran cocog salah sahiji ganda dina FIGNORE ieu kaasup ti daptar filenames loyog. A nilai sampel mangrupakeun ".o: ~".

GLOBIGNORE

Daptar titik-dipisahkeun tina pola watesan susunan filenames bisa dipaliré ku perluasan pathname. Mun hiji Ngaran koropak loyog ku pola ékspansi pathname ogé cocog salah sahiji pola di GLOBIGNORE, mangka dikaluarkeun tina daptar patandingan.

HISTCONTROL

Mun disetél ka nilai ignorespace, garis nu dimulai karakter spasi teu diasupkeun kana daptar sajarah. Mun disetél ka nilai ignoredups, garis cocog garis sajarah panungtungan teu diasupkeun. A nilai ignoreboth ngagabungkeun dua pilihan. Mun unset, atawa lamun disetél ka sagala nilai lianna ti pamadegan di luhur, sakabeh garis baca ku parser nu disimpen dina daptar sajarah, tunduk kana nilai HISTIGNORE. Pungsi ieu variabel urang geus superseded ku HISTIGNORE. The garis kadua jeung saterusna tina paréntah sanyawa multi-garis anu henteu teruji, sarta nu ditambahkeun kana sajarah nu paduli nilai HISTCONTROL.

HISTFILE

Nami file nu sorana sajarah anu disimpen (tingali SEJARAH handap). Nilai standar téh ~ / .bash_history. Mun unset, anu sajarah paréntah henteu disimpen nalika hiji kaluar cangkang interaktif.

HISTFILESIZE

Jumlah maksimum garis ngandung dina file sajarah. Lamun variabel ieu ditugaskeun nilai a, anu file sajarah ieu truncated, upami diperlukeun, pikeun ngamuat henteu leuwih ti éta Jumlah garis. Nilai standar nyaeta 500. The file sajarah ogé truncated kana ukuranana kieu saatos nulis eta nalika hiji kaluar cangkang interaktif.

HISTIGNORE

Daptar titik-dipisahkeun tina pola dipaké pikeun mutuskeun anu sorana garis kudu disimpen dina daptar sajarah. Unggal pola ieu anchored di awal garis tur kedah cocog garis nu lengkep (teu implisit `* 'ieu appended). Unggal pola ieu dites ngalawan garis sanggeus cék dieusian ku HISTCONTROL anu dilarapkeun. Sajaba pola cangkang normal cocog karakter, `& 'cocog garis sajarah saméméhna. `& 'Bisa jadi kabur ngagunakeun backslash a; backslash dicabut saméméh ngusahakeun cocok. The garis kadua jeung saterusna tina paréntah sanyawa multi-garis anu henteu teruji, sarta nu ditambahkeun kana sajarah nu paduli nilai HISTIGNORE.

HISTSIZE

Jumlah Paréntah pikeun nginget dina sajarah paréntah (tingali SEJARAH handap). Nilai standar nyaéta 500.

HOME

Imah diréktori tina pamaké ayeuna; argumen standar pikeun cd builtin paréntah. Nilai variabel ieu ogé dipaké nalika ngajalankeun ékspansi tilde.

HOSTFILE

Ngandung nami file di format sarua sakumaha / jsb / sarwa nu kudu dibaca lamun cangkang perlu ngalengkepan hostname a. Daptar mungkin completions hostname bisa dirobah bari cangkang ieu ngajalankeun; wanci hostname parantosan hareup geus nyoba sanggeus nilai nu geus robah, bash nambihan eusi file anyar pikeun daptar aya. Mun HOSTFILE diatur, tapi boga nilai, bash nyoba maca / jsb / sarwa pikeun ménta daptar mungkin completions hostname. Nalika HOSTFILE nyaeta unset, daptar hostname geus diberesihan.

IFS

Internal Lapang SEPARATOR anu dipaké pikeun kecap bengkahna sanggeus ékspansi jeung ka dibeulah garis kana kecap kalayan paréntah builtin nu maca. Nilai standar nyaeta `` ''.

IGNOREEOF

Ngawasaan peta ngeunaan hiji batok interaktif dina resi hiji karakter EOF salaku budi input. Mun diatur, ajén nya éta sajumlah karakter EOF padeukeut nu kudu diketik salaku karakter mimiti dina hiji garis input saméméh kaluar bash. Lamun variabel aya tapi teu boga nilai numerik, atawa boga nilai, nilai standar nyaéta 10. Mun teu aya, EOF nandakeun tungtung input pikeun cangkang.

INPUTRC

The Ngaran koropak pikeun file readline ngamimitian, overriding nu standar tina ~ / .inputrc (tingali READLINE handap).

lang

Dipaké pikeun nangtukeun kategori Lokalisasi pikeun sagala kategori moal husus dipilih ku awal variable mibanda LC_.

LC_ALL

Variabel ieu overrides nilai lang na sagala variabel LC_ séjén nangtukeun hiji kategori Lokalisasi.

LC_COLLATE

variabel ieu nangtukeun urutan gabungan dipaké nalika asihan hasil ékspansi pathname, sarta nangtukeun paripolah ungkapan rentang, kelas sarua, sarta urutan collating dina ékspansi pathname tur cocog pola.

LC_CTYPE

variabel ieu nangtukeun interpretasi tina karakter jeung paripolah kelas karakter dina ékspansi pathname tur cocog pola.

LC_MESSAGES

Variabel ieu nangtukeun Lokalisasi dipaké pikeun narjamahkeun string ganda-dicutat dimimitian ku $ a.

LC_NUMERIC

variabel ieu nangtukeun kategori Lokalisasi dipaké pikeun pormat angka.

garis

Dipaké ku paréntah builtin pilih pikeun nangtukeun panjangna kolom keur percetakan béréndélan Pilihan. Nyetél kana resi SIGWINCH a otomatis.

pos

Mun parameter ieu pakakas ngaran file jeung variabel MAILPATH teu diatur, bash informs pamaké tina datangna mail dina file husus.

MAILCHECK

Hususna sabaraha sering (dina detik) bash cék pikeun mail. standar geus 60 detik. Nalika éta waktu keur mariksa surat, cangkang teu kitu sateuacan mintonkeun ka ajakan primér. Lamun variabel ieu unset, atanapi diatur ka nilai anu teu jumlahna hiji leuwih gede ti atawa sarua jeung enol, cangkang disables mariksa surat.

MAILPATH

Daptar titik-dipisahkeun tina ngaran file bisa dipariksa pikeun mail. Pesen bisa dicitak nalika mail datang dina file husus bisa jadi dieusian ku pamisahan ngaran koropakna ti suratna ku `? '. Lamun dipake dina teks talatah, $ _ expands kana ngaran mailfile ayeuna. contona:

MAILPATH = '/ var / mail / bfox "Geus mail":?? ~ / Cangkang-mail "$ _ boga mail!"'

Bash suplai hiji nilai standar pikeun variabel ieu, tapi lokasi file mail pamaké nu eta perkara migunakeun nyaéta sistem gumantung (misalna / var / mail / $ pamaké).

OPTERR

Mun disetél kana nilai 1, bash mintonkeun talatah Generat kasalahan ku getopts builtin paréntah (tingali cangkang BUILTIN paréntah di handap). OPTERR ieu initialized ka 1 unggal waktos cangkang ieu invoked atawa skrip cangkang ieu dibales.

jalan

Jalur milarian Paréntah. Ieu daptar titik-dipisahkeun tina directories nu cangkang Sigana keur Paréntah (tingali paréntah palaksanaan handap). Jalur standar anu Sistim-gumantung, sarta diatur ku administrator anu installs bash. A nilai umum nyaeta `` / usr / Lisénsi / bin: / usr / lokal / bin: / usr / ucb: / bin: / usr / bin :. ''.

POSIXLY_CORRECT

Lamun variabel ieu di lingkungan nalika bash dimimitian, cangkang asup mode posix sateuacan maca file ngamimitian, lamun pilihan namah --posix geus disadiakeun. Lamun diatur bari cangkang ieu ngajalankeun, bash nyandak mode posix, sakumaha lamun paréntah diatur posix -o geus dieksekusi.

PROMPT_COMMAND

Mun diatur, nilai eta dibales sakumaha paréntah saméméh ngaluarkeun unggal ajakan primér.

PS1

Nilai parameter ieu dimekarkeun (tingali nyababkeun handap) jeung dipaké salaku senar ajakan primér. Nilai standar nyaeta `` \ s- \ v \ $ ''.

PS2

Nilai parameter ieu dimekarkeun jadi kalawan PS1 tur dipaké salaku senar ajakan sekundér. Standar nyaeta ``> ''.

PS3

Nilai parameter ieu dipaké salaku ajakan pikeun milih paréntah (tingali cangkang grammar luhur).

PS4

Nilai parameter ieu dimekarkeun jadi kalawan PS1 jeung nilai nu geus dicitak saméméh unggal mintonkeun paréntah bash salila hiji renik palaksanaan. The karakter mimiti PS4 ieu replicated sababaraha kali, sabab perlu, keur nandaan sababaraha tingkatan indirection. Standar nyaeta `` + ''.

TIMEFORMAT

Nilai parameter ieu dipaké salaku senar format nangtukeun kumaha nu informasi timing pikeun pipelines prefixed kalayan kecap ditangtayungan waktu kudu ditampilkeun. The% karakter nawarkeun hiji sekuen ngewa anu dimekarkeun ka nilai waktu atawa informasi séjén. The urutan ngewa jeung harti maranéhanana nyaéta kieu; nu braces denote porsi pilihan.

%%

A% literal.

% [P] [l] Sunda

waktos nu tos dilakonan dina detik.

% [P] [l] U

Jumlah detik CPU spent dina modeu pamaké.

% [P] [l] S

Jumlah detik CPU spent dina modeu sistem.

% P

CPU persentase, diitung salaku (% U +% S) /% Sunda.

The pilihan p mangrupakeun angka nangtukeun precision, jumlah tina fractional digit sanggeus hiji titik decimal. A nilai 0 ngabalukarkeun henteu titik decimal atanapi fraksi janten kaluaran. Di paling tilu tempat sanggeus titik decimal bisa jadi dieusian; nilai tina p gede ti 3 anu robah jadi 3. Lamun p henteu dieusian, nilai 3 dipaké.

The pilihan l hususna hiji format panjang, kaasup menit, ti formulir MM m SS. FF s. Nilai p nangtukeun naha atanapi henteu fraksi anu kaasup.

Lamun variabel ieu teu nangtukeun, bash tindakan minangka lamun eta kagungan nilai $ '\ nreal \ t% 3lR \ nuser \ t% 3lU \ nsys% 3lS'. Lamun nilai nu geus null, teu informasi timing dipintonkeun. A newline labuh ditambahkeun nalika string format dipintonkeun.

TMOUT

Mun disetél ka nilai gede ti nol, TMOUT geus diperlakukeun salaku seep standar pikeun dibaca builtin. Pilih paréntah terminates lamun input teu sumping sanggeus TMOUT detik lamun input anu datang ti terminal a. Dina batok interaktif, nilai eta diinterpretasi salaku Jumlah detik ngadagoan input sanggeus ngaluarkeun éta ajakan primér. Bash terminates sanggeus ngantosan nu Jumlah detik lamun input teu sumping.

auto_resume

variabel ieu ngatur kumaha cangkang dilibetkeun ku pamaké sarta pakasaban kontrol. Lamun variabel ieu diatur, kecap tunggal Paréntah basajan tanpa redirections nu diperlakukeun salaku calon resumption tina hiji proyek dieureunkeun aya. Aya ambiguitas diwenangkeun; lamun aya leuwih ti hiji pakasaban dimimitian ku string diketik, pakasaban nu panganyarna diakses ieu dipilih. Nami pakasaban dieureunkeun, dina konteks ieu, nyaéta garis paréntah dipake pikeun ngamimitian eta. Mun disetél kana nilai pasti, string anu disadiakeun kudu cocog nami pakasaban dieureunkeun persis; lamun disetél ka substring, anu string disadiakeun perlu cocog a substring tina nami pakasaban dieureunkeun. Nilai substring nyadiakeun kagunaan analog jeung% nu? identifier pakasaban (tingali pakasaban kontrol dihandap). Mun pakakas sagala nilai sejen, string disadiakeun kedah janten awalan tina ngaran pakasaban dieureunkeun urang; ieu nyadiakeun kagunaan analog kana identifier% pakasaban.

histchars

Dua atawa tilu karakter nu ngatur ékspansi sajarah na tokenization (tingali SEJARAH ékspansi handap). The karakter mimiti teh karakter ékspansi sajarah, karakter nu sinyal mimiti hiji ékspansi sajarah, ilaharna `! '. The karakter kadua nya éta karakter substitusi gancang, nu dipikabutuh salaku shorthand keur ulang ngajalankeun paréntah saméméhna diasupkeun, ngaganti salah string pikeun sejen di paréntah. Standar nyaeta `^ '. The karakter katilu pilihan teh karakter nu nunjukkeun yén sésana tina jalur anu komentar nalika kapanggih salaku karakter mimiti kecap, ilaharna `# '. Sajarah comment karakter ngabalukarkeun substitusi sajarah bisa skipped keur kecap sésana dina jalur. Teu merta ngakibatkeun cangkang parser pikeun ngubaran sesa garis sakumaha komentar.

Arrays

Bash nyadiakeun variabel Asép Sunandar Sunarya hiji-dimensi. Sagala variabel bisa dipaké salaku hiji Asép Sunandar Sunarya; nu dibewarakeun builtin kuduna bakal dibewarakeun hiji Asép Sunandar Sunarya. Aya wates maksimum dina ukuran hiji Asép Sunandar Sunarya, atawa naon baé sarat yén anggota jadi saestuna atanapi ditugaskeun contiguously. Arrays anu saestuna maké wilangan buleud sarta enol basis.

Hiji Asép Sunandar Sunarya geus dijieun otomatis lamun variabel sagala anu ditugaskeun pikeun ngagunakeun ngaran rumpaka [subscript] = nilai. Subscript kasebut diperlakukeun salaku hiji éksprési arithmetic nu kedah evaluate ka angka gede ti atawa sarua jeung nol. Pikeun eksplisit dibewarakeun hiji Asép Sunandar Sunarya, make dibewarakeun ngaran -a (tingali cangkang BUILTIN paréntah di handap). dibewarakeun ngaran -a [subscript] ieu ogé katampa; subscript ieu dipaliré. Atribut bisa jadi dieusian pikeun hiji variabel Asép Sunandar Sunarya ngagunakeun dibewarakeun sarta builtins readonly. Unggal atribut manglaku ka sadaya anggota ngeunaan hiji Asép Sunandar Sunarya.

Arrays anu ditugaskeun pikeun ngagunakeun assignments sanyawa tina ngaran formulir = (nilai 1 ... nilai n), dimana masing-masing nilai téh tina formulir [subscript] = senar. Ngan string anu diperlukeun. Lamun kurung pilihan jeung subscript anu disadiakeun, indéks anu ditugaskeun pikeun; disebutkeun indéks sahiji unsur ditugaskeun téh indéks panungtungan ditugaskeun ku pernyataan nu tambah hiji. Indexing dimimitian dina jam enol. Rumpaka ieu oge ditarima ku builtin dibewarakeun. Elemen Asép Sunandar Sunarya individu bisa jadi ditugaskeun pikeun ngagunakeun ngaran [subscript] = rumpaka nilai diwanohkeun luhur.

The builtin unset ieu dipaké pikeun ngancurkeun arrays. Ngaran unset [subscript] ngancurkeun unsur Asép Sunandar Sunarya dina indéks subscript. Ngaran unset, dimana ngaran mangrupa Asép Sunandar Sunarya, atawa ngaran unset [subscript], dimana subscript nyaeta * atanapi @, ngaluarkeun sakabéh Asép Sunandar Sunarya.

The dibewarakeun, lokal, sareng builtins readonly unggal nampa hiji pilihan -a mun nangtukeun hiji Asép Sunandar Sunarya. The dibaca builtin narima hiji pilihan -a mun napelkeun daptar kecap baca ti input baku ka Asép Sunandar Sunarya. The set na dibewarakeun builtins tampilan nilai Asép Sunandar Sunarya dina cara anu ngamungkinkeun aranjeunna bisa bahannana tiasa dipaké deui sakumaha assignments.

hal nu dilebarkeun

Ékspansi anu dipigawé dina garis paréntah sanggeus eta geus dibeulah jadi kecap. Aya tujuh jinis ékspansi dipigawé: ékspansi pananggeuy, ékspansi tilde, parameter jeung perluasan variable, substitusi paréntah, ékspansi arithmetic, kecap bengkahna, sarta ékspansi pathname.

Runtuyan expansions nyaeta: ékspansi pananggeuy, ékspansi tilde, parameter, ékspansi variabel na arithmetic jeung paréntah substitusi (dipigawé dina fashion kénca-ka-katuhu), Kecap bengkahna, sarta ékspansi pathname.

Dina sistim nu bisa ngarojong éta, aya hiji sadia ékspansi tambahan: prosés substitusi.

pananggeuy ékspansi

Ékspansi pananggeuy nyaéta mékanisme ku nu string sawenang bisa jadi dihasilkeun. Mékanisme Ieu sarupa ékspansi pathname, tapi filenames dihasilkeun teu kudu aya. Pola janten pananggeuy dimekarkeun nyandak wujud hiji pamuka pilihan, dituturkeun ku runtuyan string koma-dipisahkeun antara sapasang braces, dituturkeun ku hiji nota bene pilihan. pamuka ieu prefixed ka unggal senar ngandung dina braces, sarta nota bene eta lajeng appended ka unggal senar hasilna, ngembangna kénca ka katuhu.

expansions pananggeuy bisa jadi nested. Hasil unggal senar dimekarkeun teu dumasar; ditinggalkeun ka urutan katuhu geus dilestarikan. Contona, hiji {d, c, b} e expands kana `ade ngajempolan Abe '.

ékspansi pananggeuy anu dipigawé saméméh sagala expansions lianna, sarta sagala karakter husus pikeun expansions séjén anu dilestarikan dina hasilna. Éta mastikeun tékstual. Bash henteu nerapkeun sagala interpretasi sintaksis jeung konteks ékspansi atawa téks antara braces.

nyusunna ieu ilaharna dipake salaku shorthand nalika awalan umum tina senar bisa dihasilkeun téh leuwih panjang batan dina conto di luhur:

mkdir / usr / lokal / src / bash / {heubeul, anyar, dist, bug}

atawa

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

Ékspansi pananggeuy nawarkeun hiji incompatibility slight kalayan versi sajarah sh. sh teu ngubaran lawang atanapi nutup braces husus nalika maranéhna muncul salaku bagian tina kecap, sarta preserves aranjeunna dina output. Bash ngaluarkeun braces tina kecap salaku konsekuensi ékspansi pananggeuy. Contona, kecap diasupkeun kana SH sakumaha file {1,2} mucunghul identik dina output. Kecap anu sarua nyaéta kaluaran salaku file1 file2 sanggeus ékspansi ku bash. Mun kasaluyuan ketat ku sh anu dipikahayang, mimitian bash kalawan pilihan + B atawa ékspansi pananggeuy nganonaktifkeun kalawan pilihan + B kana paréntah set (tingali cangkang BUILTIN paréntah di handap).

ékspansi Tilde

Lamun kecap dimimitian kalayan hiji karakter tilde unquoted ( `~ '), sadayana tina karakter harita slash unquoted kahiji (atawa sakabéh karakter, upami teu aya slash unquoted) dipertimbangkeun salaku hiji tilde-awalan. Lamun taya nu karakter dina tilde-awalan nu dicutat, anu karakter dina tilde-awalan handap tilde nu diperlakukeun salaku kamungkinan ngaran login. Lamun ngaran login ieu téh senar null, tilde nu diganti ku nilai tina HOME cangkang parameter. Mun HOME nyaéta unset, anu diréktori ngarep pamaké executing cangkang ieu Cirian gantina. Disebutkeun, tilde-awalan diganti ku diréktori home pakait sareng nami login ditangtukeun.

Lamun tilde-awalan mangrupakeun `~ + ', nilai cangkang variabel PWD ngagantikeun nu tilde-awalan. Lamun tilde-awalan mangrupakeun `~ - ', nilai variabel cangkang OLDPWD, upami eta disetel, geus diganti. Mun Hurup nuturkeun tilde dina tilde-awalan diwangun ku sababaraha N, optionally prefixed ku `+ 'atawa` -', nu tilde-awalan diganti ku unsur saluyu tina tumpukan diréktori, sabab bakal jadi ditampilkeun ku dirs builtin invoked jeung tilde-awalan salaku hiji argumen. Mun Hurup nuturkeun tilde dina tilde-awalan diwangun ku angka hiji tanpa Anjog `+ 'atawa` -', `+ 'dianggap.

Mun nami login anu sah, atawa perluasan tilde gagal, kecap téh unchanged.

Unggal ngerjakeun variabel anu dipariksa salila unquoted tilde-émbohan geuwat di handap a: atanapi =. Dina kasus ieu, ékspansi tilde ieu ogé dipigawé. Akibatna, salah bisa make ngaran file kalawan tildes di assignments ka jalur, MAILPATH, sarta CDPATH, sarta cangkang nangtukeun nilai dimekarkeun.

parameter ékspansi

The `$ 'karakter nawarkeun ékspansi parameter, substitusi paréntah, atawa ékspansi arithmetic. Ngaran parameter atawa simbol bisa dimekarkeun bisa jadi enclosed di braces nu pilihan tapi ngawula ngajaga variabel bisa dimekarkeun tina karakter geuwat di handap eta nu bisa diinterpretasi salaku bagian tina nami.

Nalika braces anu dipaké, anu cocog tungtung pananggeuy nya kahiji `} 'teu lolos ku backslash atawa dina hiji senar dicutat, sarta moal aya dina hiji ékspansi study arithmetic, substitusi paréntah, atawa ékspansi paramter.

Nilai parameter anu Cirian. The braces diwajibkeun lamun parameter nyaeta parameter posisional kalawan leuwih ti hiji angka, atawa nalika parameter anu dituturkeun ku karakter nu teu bisa diinterpretasi salaku bagian tina ngaranna.

Dina masing-masing tina kasus di handap, kecap nunut ka ékspansi tilde, ékspansi parameter, substitusi paréntah, jeung perluasan arithmetic. Lamun henteu ngajalankeun ékspansi substring, tés bash keur parameter nu geus unset atanapi null; omitting hasil titik di test hiji hijina keur parameter nu geus unset.

Paké Nilai standar. Mun parameter nyaeta unset atanapi null, perluasan Kecap ieu Cirian. Upami teu kitu, nilai parameter anu Cirian.

Napelkeun Nilai standar. Mun parameter nyaeta unset atanapi null, perluasan Kecap anu ditugaskeun pikeun parameter. Nilai parameter ieu lajeng Cirian. parameter posisional na parameter husus bisa jadi teu jadi ditugaskeun pikeun di jalan ieu.

Tampilan Kasalahan lamun null atanapi Unset. Mun parameter nyaeta hypothesis atanapi unset, perluasan Kecap (atawa pesen jeung éfék anu lamun kecap teu hadir) anu ditulis ka standar kasalahan jeung cangkang, upami teu interaktif, kaluar. Upami teu kitu, nilai parameter anu Cirian.

Paké Niley Silih. Mun parameter nyaeta hypothesis atanapi unset, nanaon anu Cirian, disebutkeun perluasan Kecap ieu Cirian.

Expands kana ngaran variabel anu ngaran dimimitian ku awalan, dipisahkeun ku karakter mimiti variabel husus IFS.

Panjang di karakter tina nilai parameter anu Cirian. Mun parameter nyaeta * atanapi @, nilai Cirian nyaeta jumlah parameters posisional. Mun parameter mangrupa ngaran Asép Sunandar Sunarya subscripted ku * atanapi @, nilai Cirian teh Jumlah elemen dina Asép Sunandar Sunarya dina.

Kecap ieu dimekarkeun pikeun ngahasilkeun pola hiji sagampil di ékspansi pathname. Lamun pola nu cocog awal nilai parameter, teras hasil tina ékspansi anu ngarupakeun nilai dimekarkeun tina parameter jeung pola shortest cocog (nu `` # '' hal) atawa pola cocog pangpanjangna (nu `` ## ' 'hal) dihapus. Mun parameter nyaeta @ atanapi *, operasi panyabutan pola anu dilarapkeun ka unggal parameter posisional dina gilirannana, sarta ékspansi anu mangrupa daptar resultant. Mun parameter mangrupa variabel Asép Sunandar Sunarya subscripted kalawan @ atanapi *, operasi panyabutan pola anu dilarapkeun ka unggal anggota Asép Sunandar Sunarya dina gilirannana, sarta ékspansi anu mangrupa daptar resultant.

Kecap ieu dimekarkeun pikeun ngahasilkeun pola hiji sagampil di ékspansi pathname. Lamun pola nu cocog nyangkokkeun labuh tina nilai dimekarkeun tina parameter, teras hasil tina ékspansi anu ngarupakeun nilai dimekarkeun tina parameter jeung pola shortest cocog (nu ``% '' hal) atawa pola cocog pangpanjangna (nu ``% % '' hal) dihapus. Mun parameter nyaeta @ atanapi *, operasi panyabutan pola anu dilarapkeun ka unggal parameter posisional dina gilirannana, sarta ékspansi anu mangrupa daptar resultant. Mun parameter mangrupa variabel Asép Sunandar Sunarya subscripted kalawan @ atanapi *, operasi panyabutan pola anu dilarapkeun ka unggal anggota Asép Sunandar Sunarya dina gilirannana, sarta ékspansi anu mangrupa daptar resultant.

Pola anu geus dimekarkeun pikeun ngahasilkeun pola hiji sagampil di ékspansi pathname. Parameter anu dimekarkeun sarta cocok pangpanjangna tina pola ngalawan nilaina diganti ku senar. Dina bentuk mimiti, mung cocok kahiji diganti. Bentuk kadua ngabalukarkeun sagala patandingan tina pola diganti ku senar. Lamun pola dimimitian kalawan #, éta kudu cocog di awal nilai dimekarkeun tina parameter. Lamun pola dimimitian kalawan%, eta kedah cocog di ahir nilai dimekarkeun tina parameter. Mun string anu null, patandingan tina pola anu dihapus jeung / pola handap bisa jadi disingkahkeun. Mun parameter nyaeta @ atanapi *, operasi substitusi geus dilarapkeun ka unggal parameter posisional dina gilirannana, sarta ékspansi anu mangrupa daptar resultant. Mun parameter mangrupa variabel Asép Sunandar Sunarya subscripted kalawan @ atanapi *, operasi substitusi geus dilarapkeun ka unggal anggota Asép Sunandar Sunarya dina gilirannana, sarta ékspansi anu mangrupa daptar resultant.

paréntah substitusi

Substitusi paréntah ngamungkinkeun kaluaran paréntah pikeun ngaganti nami paréntah. Aya dua bentuk:

$ (Paréntah)

atawa

`Paréntah`

Bash ngalakukeun ékspansi ku executing paréntah tur ngaganti substitusi paréntah jeung output baku tina sorana, jeung sagala newlines labuh dihapus. newlines study teu dihapus, tapi maranéhna bisa dihapus nalika kecap bengkahna. Paréntah substitusi $ (file ucing) bisa diganti ku $ sarimbag tapi gancang (

Lamun bentuk backquote heubeul-gaya substitusi dipaké, backslash nahan literal hartina na iwal lamun dituturkeun ku $, `, atawa \. The backquote munggaran teu dimimitian ku backslash a terminates nu substitusi paréntah. Lamun ngagunakeun $ (paréntah) formulir, sadaya karakter antara kurung sangkan nepi paréntah; taya nu diperlakukeun husus.

panggantian paréntah bisa jadi nested. Pikeun sayang lamun ngagunakeun formulir backquoted, kabur ka backquotes jero kalawan backslashes.

Mun substitusi mucunghul dina tanda petik ganda, kecap bengkahna jeung perluasan pathname teu dipigawé dina hasil.

ékspansi arithmetic

ékspansi arithmetic ngamungkinkeun evaluasi hiji éksprési arithmetic jeung substitusi tina hasilna. The format pikeun perluasan arithmetic nyaeta:

$ ((Babasan))

Babasan ieu diolah sakumaha lamun éta dina tanda petik ganda, tapi mangrupa cutatan ganda di jero kurung teu diperlakukeun husus. Kabéh tokens dina babasan ngalaman perluasan parameter, ékspansi string, substitusi paréntah, sarta ngaleupaskeun cutatan. panggantian arithmetic bisa jadi nested.

Alat évaluasi anu dipigawé luyu jeung aturan di handap ieu dina aritmetika evaluasi. Mun ekspresi mangrupa sah, bash prints pesen nunjukkeun gagalna jeung euweuh substitusi lumangsung.

prosés substitusi

Substitusi prosés ieu dirojong on sistem nu ngarojong ngaranna pipa (FIFOs) atawa metoda / dev / fd tina ngaran file muka. Eta bentukna <(daptar) atanapi> (daptar). Daptar prosés ieu ngajalankeun kalawan asupan na atawa output disambungkeun ka FIFO atawa sababaraha file di / dev / fd. Nami file ieu diliwatan salaku hiji argumen kana paréntah ayeuna salaku hasil tina ékspansi kana. Lamun> (daptar) formulir digunakeun, tulisan kana file bakal nyadiakeun input pikeun daptar. Lamun <(daptar) formulir anu dipaké, anu file diliwatan salaku hiji argumen kudu dibaca pikeun ménta kaluaran daptar.

Lamun aya, prosés substitusi anu dipigawé sakaligus mibanda parameter jeung perluasan variable, substitusi paréntah, jeung perluasan arithmetic.

kecap bengkahna

Cangkang nyeken hasil ékspansi parameter, substitusi paréntah, jeung perluasan arithmetic nu teu lumangsung dina tanda petik ganda pikeun kecap bengkahna.

Cangkang Ngaruwat unggal karakter IFS sakumaha delimiter a, sarta splits hasil tina expansions séjén kana kecap dina karakter ieu. Mun IFS nyaeta unset, atawa nilaina persis , standar, mangka naon baé réntétan karakter IFS fungsi pikeun delimit kecap. Mun IFS ngabogaan nilai lianna ti standar, tuluy urutan tina spasi karakter whitespace sarta tab nu dipaliré di awal jeung ahir kecap, salami éta karakter whitespace aya dina nilai IFS (hiji karakter whitespace IFS). Sagala karakter dina IFS nu teu whitespace IFS marengan wae karakter whitespace meungkeut IFS, delimits sawah. Hiji sekuen IFS karakter whitespace ogé diperlakukeun salaku delimiter a. Lamun nilai IFS nyaeta hypothesis, teu Kecap bengkahna lumangsung.

Alesan null eksplisit ( "" atanapi '') nu dipikagaduh. Unquoted alesan null implisit, hasilna tina perluasan parameter nu teu boga nilai, dipiceun. Mun parameter jeung euweuh nilai anu dimekarkeun dina tanda petik ganda, a hasilna argumen null na dipikagaduh.

Catetan yen lamun euweuh ékspansi lumangsung, teu bengkahna anu dipigawé.

Pathname ékspansi

Sanggeus kecap bengkahna, iwal pilihan -f geus diatur, bash nyeken tiap kecap pikeun karakter *,? , Sarta [. Lamun salah sahiji karakter ieu nembongan, teras kecap nu dianggap salaku pola, sarta digantikeun ku hiji daptar alphabetically dumasar tina ngaran file cocog pola. Mun euweuh ngaran file cocog keur kapanggih, sarta pilihan cangkang nullglob nyaeta ditumpurkeun, kecap anu ditinggalkeun unchanged. Mun pilihan nullglob diatur, sarta euweuh patandingan nu kapanggih, kecap anu dihapus. Lamun nocaseglob pilihan cangkang diaktipkeun, pertandingan anu dipigawé tanpa hal pikeun kasus karakter alphabetic. Lamun pola hiji dipaké pikeun perluasan pathname, karakter ``. '' Di tempat mimiti ngaran atawa langsung di handap slash a kudu loyog eksplisit, iwal nu dotglob pilihan cangkang tos disetel. Lamun cocog pathname a, anu karakter slash kudu salawasna loyog eksplisit. Dina kasus séjén, anu ``. '' Karakter henteu diperlakukeun husus. Ningali pedaran shopt handap dina cangkang BUILTIN paréntah pikeun pedaran tina pilihan nocaseglob, nullglob, sarta dotglob cangkang.

Variabel GLOBIGNORE cangkang bisa dipaké pikeun ngawatesan susunan ngaran file cocog pola hiji. Mun GLOBIGNORE diatur, unggal cocog ngaran file anu ogé cocog salah sahiji pola di GLOBIGNORE geus dikaluarkeun tina daptar patandingan. Ngaran file ``. '' Na `` .. '' sok dipaliré, sanajan GLOBIGNORE tos disetel. Sanajan kitu, netepkeun GLOBIGNORE boga efek sangkan pilihan dotglob cangkang, jadi sakabeh ngaran file lianna dimimitian ku ``. '' Moal cocog. Pikeun meunangkeun kabiasaan heubeul ti ignoring ngaran file dimimitian ku ``. '', Sangkan ``. * '' Salah sahiji pola di GLOBIGNORE. Pilihan dotglob geus ditumpurkeun nalika GLOBIGNORE nyaeta unset.

pola cocog

Sagala karakter nu némbongan dina pola hiji, lian ti karakter pola husus digambarkeun di handap, cocog sorangan. The NUL karakter bisa jadi teu lumangsung dina pola hiji. Hurup pola husus kudu dicutat lamun aranjeunna bisa loyog sacara harfiah.

Hurup pola husus boga hartos handap:

*

Cocog string wae, kaasup nu string hypothesis.

?

Cocog sagala karakter tunggal.

[...]

Cocog sagala salah sahiji karakter enclosed. Hiji pasangan karakter dipisahkeun ku hyphen a ngalambangkeun ekspresi rentang; sagala karakter nu sorts antara eta dua karakter, inklusif, ngagunakeun Lokalisasi ayeuna urang runtuyan collating tur karakter set, anu loyog. Mun karakter mimiti nuturkeun [téh! atawa ^ lajeng wae karakter moal enclosed geus loyog. Urutan asihan tina karakter dina ungkapan rentang ditangtukeun ku Lokalisasi ayeuna jeung nilai variabel cangkang LC_COLLATE, upami set. A - bisa jadi loyog ku kaasup eta salaku karakter mimiti atawa panungtungan di set dina. A] bisa jadi loyog ku kaasup eta salaku karakter mimiti dina set teh.

Dina [palaŋ], kelas karakter bisa dieusian ngagunakeun rumpaka [: kelas:], dimana kelas téh salah sahiji kelas handap ditetepkeun dina standar POSIX.2:

print alnum alfa ASCII kosong cntrl grafik angka handap spasi punct Kecap luhur xdigit
Hiji kelas karakter cocog karakter sagala milik kelas éta. Kelas karakter Kecap cocog hurup, digit, sarta karakter nu _.

Dina [palaŋ], hiji kelas sarua bisa dieusian ngagunakeun rumpaka [= c =], nu cocog kabeh karakter jeung beurat gabungan sarua (sakumaha didefinisikeun ku Lokalisasi ayeuna) salaku karakter dina c.

Dina [palaŋ], dina rumpaka [. simbol.] loyog jeung simbol simbol collating.

Mun pilihan extglob cangkang diaktipkeun ngagunakeun builtin shopt, sababaraha operator cocog pola nambahan anu dipikawanoh. Dina pedaran di handap, hiji pola-daftar mangrupakeun daptar salah sahiji atawa leuwih pola dipisahkeun ku | . pola komposit mungkin ngawujud maké hiji atawa leuwih ti sub-pola handap:

? (Pola-daptar)

Cocog enol atawa salah lumangsungna éta pola dibikeun

* (Pola-daptar)

Cocog enol atawa leuwih kajadian anu lumangsungna di pola dibikeun

+ (Pola-daptar)

Cocog salah sahiji atawa leuwih kajadian anu lumangsungna di pola dibikeun

@ (Pola-daptar)

Cocog persis salah sahiji pola dibikeun

! (Pola-daptar)

Cocog nanaon iwal salah sahiji pola dibikeun

Quote Lengser

Sanggeus expansions harita, sadaya kajadian anu lumangsungna unquoted sahiji karakter \ ', sarta "anu teu hasil tina salah sahiji expansions luhur téh dipiceun.

redirection

Sateuacan paréntah hiji dieksekusi, input sarta output bisa jadi dialihkeun maké notasi husus diinterpretasi ku cangkang. Redirection bisa ogé dipaké pikeun muka jeung payel nutup kanggo lingkungan éksekusi cangkang ayeuna. The operator redirection handap bisa miheulaan atawa muncul mana dina paréntah basajan atawa bisa nuturkeun paréntah a. Redirections anu diprosés di urutan maranéhna muncul, ti kénca ka katuhu.

Dina déskripsi di handap, upami jumlah file descriptor geus disingkahkeun, jeung karakter mimiti tina operator redirection geus <, redirection nujul kana input baku (file descriptor 0). Mun karakter mimiti tina operator redirection nyaeta>, redirection nujul kana kaluaran baku (file descriptor 1).

Kecap di handap anu operator redirection dina déskripsi di handap, iwal mun disebutkeun dicatet, ieu subjected kana pananggeuy ékspansi, ékspansi tilde, ékspansi parameter, substitusi paréntah, ékspansi arithmetic, ngaleupaskeun cutatan, ékspansi pathname, sarta kecap bengkahna. Lamun expands ka leuwih ti hiji kecap, bash ngalaporkeun kasalahan.

Catetan yén urutan of redirections téh signifikan. Contona, sorana

LS> dirlist 2> & 1

ngarahkeun duanana standar kaluaran jeung kasalahan baku kana dirlist file, bari sorana

LS 2> & 1> dirlist

ngarahkeun ukur kaluaran baku mun file dirlist, sabab kasalahan standar ieu duplicated sakumaha kaluaran baku saméméh kaluaran standar ieu dialihkeun ka dirlist.

Bash handles sababaraha filenames husus basa aranjeunna keur dipake dina redirections, sakumaha dijelaskeun dina tabel di handap:

/ dev / fd / fd

Mun fd mangrupakeun integer valid, file descriptor fd ieu duplicated.

/ dev / stdin

File descriptor 0 geus duplicated.

/ dev / stdout

File descriptor 1 ieu duplicated.

/ dev / stderr

File descriptor 2 ieu duplicated.

/ dev / TCP / host / port

Mun host mangrupakeun hostname atawa Internet alamat valid, sarta port mangrupa angka port integer atawa layanan ngaran, bash nyoba muka sambungan TCP ka saluyu stop kontak.

/ dev / udp / host / port

Mun host mangrupakeun hostname atawa Internet alamat valid, sarta port mangrupa angka port integer atawa layanan ngaran, bash nyoba muka sambungan UDP ka saluyu stop kontak.

Hiji kagagalan keur buka atawa jieun file a ngabalukarkeun redirection ka gagal.

Mindahkeun Input

Redirection of input ngabalukarkeun file anu ngaran hasil tina perluasan Kecap mun dibuka pikeun maca dina file descriptor n, atawa asupan baku (file descriptor 0) lamun n teu dieusian.

The format umum pikeun Mindahkeun input nyaeta:

[N]

Mindahkeun Kaluaran

Redirection tina kaluaran ngabalukarkeun file anu ngaran hasil tina perluasan Kecap mun dibuka pikeun nulis dina file descriptor n, atawa kaluaran baku (file descriptor 1) lamun n teu dieusian. Lamun file teu aya deui anu dijieun; lamun aya deui anu truncated mun ukuran enol.

The format umum pikeun Mindahkeun kaluaran mangrupa:

[N]> Kecap

Lamun operator redirection nyaeta>, sarta pilihan noclobber kana set builtin geus diaktipkeun, redirection bakal gagal lamun file anu hasilna ngaran ti perluasan Kecap aya na téh file biasa. Lamun operator redirection nyaeta> | , Atawa operator redirection nyaeta> jeung pilihan noclobber kana set builtin paréntah henteu diaktipkeun, redirection kasebut nyoba sanajan file ngaranna ku kecap aya.

Appending Kaluaran Dialihkeun

Redirection tina kaluaran dina fashion ieu ngabalukarkeun file anu ngaran hasil tina perluasan Kecap mun dibuka pikeun appending on file descriptor n, atawa kaluaran baku (file descriptor 1) lamun n teu dieusian. Lamun file teu aya deui anu dijieun.

The format umum pikeun appending kaluaran mangrupa:

[N] >> Kecap

Mindahkeun Kaluaran Standar na Standar Kasalahan

Bash ngamungkinkeun duanana kaluaran baku (file descriptor 1) jeung kaluaran kasalahan baku (file descriptor 2) bisa dialihkeun kana file anu ngaran téh perluasan Kecap kalawan nyusunna ieu.

Aya dua format keur Mindahkeun kaluaran baku sarta kasalahan baku:

&> Kecap

jeung

> & Kecap

Tina dua bentuk, anu kahiji geus pikaresep. Ieu semantically sarua jeung

> Kecap 2> & 1

Di dieu Dokumén

Jenis ieu redirection instructs cangkang maca input ti sumber ayeuna dugi a garis ngandung ukur kecap (kalawan henteu blanks labuh) katempona. Sakabéh garis baca nepi ka titik nu lajeng dipaké salaku input baku keur ngorana a.

Format dieu-dokumén nyaéta:

<< [-] Kecap dieu-dokumen delimiter

Taya ékspansi parameter, paréntah substitusi, ékspansi arithmetic, atawa ékspansi pathname anu dipigawé dina kecap. Mun sagala karakter dina kecap anu dicutat, delimiter nu mangrupa hasil panyabutan cutatan dina kecap, jeung garis dina dieu-dokumen teu dimekarkeun. Lamun kecap anu unquoted, sadaya garis ti dieu-dokumen nu subjected kana parameter ékspansi, substitusi paréntah, jeung perluasan arithmetic. Dina kasus dimungkinkeun, sekuen karakter \ ieu dipaliré, sarta \ kudu dipaké pikeun cutatan Hurup \, $, sarta `.

Lamun operator redirection nyaeta << -, teras sadayana karakter tab ngarah aya dilucuti tina garis asupan jeung garis ngandung delimiter. Hal ieu ngamungkinkeun dieu-dokumén dina Aksara cangkang bisa indented dina fashion alam.

Di dieu Senar

Hiji varian dieu dokumén, format nyaéta:

<<< kecap

Kecap ieu dimekarkeun sarta disadiakeun pikeun paréntah dina input standar na.

Duplicating Descriptors File

Operator redirection

[N] <& Kecap

ieu dipaké pikeun jadi gaduh panulisan descriptors file input. Lamun kecap expands hiji atawa leuwih digit, anu descriptor file dilambangkeun ku n dijieun jadi salinan nu file descriptor. Lamun digit di kecap ulah tangtukeun file descriptor kabuka pikeun input, hiji kasalahan redirection lumangsung. Lamun kecap ngaevaluasi keur -, file descriptor n geus ditutup. Lamun n teu dieusian, asupan baku (file descriptor 0) dipaké.

operator teh

[N]> & Kecap

ieu dipake kitu mun gaduh panulisan descriptors file kaluaran. Lamun n teu dieusian, kaluaran baku (file descriptor 1) digunakeun. Lamun digit di kecap ulah tangtukeun file descriptor kabuka pikeun kaluaran, anu kasalahan redirection lumangsung. Salaku hal husus, upami n geus disingkahkeun, sarta kecap teu dilegakeun ka salah sahiji atawa leuwih digit, kaluaran baku sarta kasalahan standar téh dialihkeun sakumaha disebutkeun saméméhna.

Pindah Descriptors File

Operator redirection

[N] <& angka -

ngalir dina file descriptor angka kana berkas descriptor n, atawa asupan baku (file descriptor 0) lamun n teu dieusian. angka ditutup sanggeus duplicated ka n.

Nya kitu, anu operator redirection

[N]> & angka -

ngalir dina file descriptor angka kana berkas descriptor n, atawa kaluaran baku (file descriptor 1) lamun n teu dieusian.

Muka Descriptors File pikeun Reading jeung Nulis

Operator redirection

[N] <> Kecap

ngabalukarkeun file anu ngaran téh perluasan Kecap mun dibuka pikeun duanana bacaan jeung tulisan dina file descriptor n, atawa dina file descriptor 0 lamun n teu dieusian. Lamun file teu aya, eta dijieun.

ALIASES

Aliases ngawenangkeun string pikeun jadi Cirian pikeun kecap lamun dipaké salaku kecap mimiti paréntah basajan. Cangkang mertahankeun daptar aliases nu bisa jadi diatur sarta unset jeung paréntah landian sarta unalias builtin (tingali cangkang BUILTIN paréntah di handap). Kecap munggaran unggal paréntah, upami unquoted, geus dipariksa ningali lamun eta boga landian. Upami kitu, kecap anu diganti ku teks alias. Ngaran landian jeung téks ngagantian mungkin ngandung sagala input cangkang valid, kaasup nu metacharacters nu didaptarkeun di luhur, iwal yén ngaran landian teu ngandung =. Kecap mimiti teks ngagantian anu diuji pikeun aliases, tapi hiji kecap anu geus idéntik ka landian keur dimekarkeun henteu dimekarkeun kadua kalina. Ieu ngandung harti yén hiji bisa landian LS ka LS -F, misalna, sareng bash teu coba keur recursively dilegakeun téks ngagantian. Mun karakter panungtungan sahiji nilai landian mangrupakeun kosong, teras kecap paréntah hareup handap alias ogé dipariksa pikeun perluasan landian.

Aliases nu dijieun na didaptarkeun jeung paréntah landian, sarta dikaluarkeun kalayan paréntah unalias.

Aya mékanisme pikeun maké alesan dina téks ngagantian. Mun alesan anu diperlukeun, hiji fungsi cangkang kudu dipake (tingali fungsi handap).

Aliases teu dimekarkeun nalika cangkang teu interaktif, iwal nu expand_aliases batok pilihan diatur ngagunakeun shopt (ningali pedaran shopt handapeun cangkang BUILTIN paréntah di handap).

Aturan ngeunaan harti jeung dipakéna aliases nu rada ngalieurkeun. Bash salawasna berbunyi sahanteuna hiji garis lengkep input saméméh executing salah sahiji Paréntah dina garis éta. Aliases anu dimekarkeun nalika paréntah a ieu baca, henteu lamun geus dieksekusi. Ku alatan éta, hiji harti landian muncul dina garis sarua sakumaha paréntah sejen teu mawa pangaruh dugi garis hareup tina asupan ieu baca. The Paréntah nuturkeun harti landian on garis anu teu kapangaruhan ku landian anyar. kabiasaan ieu oge hiji masalah lamun fungsi nu dieksekusi. Aliases anu dimekarkeun lamun harti fungsi ieu baca, henteu lamun fungsi nu geus dieksekusi, sabab harti fungsi nyaéta sorangan paréntah sanyawa. Salaku konsekuensi a, aliases didefinisikeun dina fungsi hiji mah teu aya dugi sanggeus fungsi nu geus dieksekusi. Janten aman, salawasna nempatkeun definisi landian dina garis misah, sarta ulah make landian di Paréntah sanyawa.

Pikeun ampir unggal tujuan, aliases anu superseded ku fungsi cangkang.

fungsi

A fungsi cangkang, diartikeun ditétélakeun di luhur handapeun cangkang grammar, nyimpen runtuyan Paréntah pikeun palaksanaan engké. Nalika nami hiji fungsi cangkang dipaké salaku nami paréntah basajan, daptar Paréntah pakait sareng eta nami fungsi ieu dibales. Fungsi nu dieksekusi dina konteks cangkang ayeuna; euweuh proses anyar ieu dijieun pikeun napsirkeun aranjeunna (kontras kieu jeung dijalankeunnana a Aksara cangkang). Nalika fungsi hiji dieksekusi, dalil jeung fungsi nu jadi parameter posisional salila palaksanaan na. The husus parameter # keur diropéa ngeunteung robah teh. Posisional parameter 0 nyaeta unchanged. Variabel FUNCNAME disetel ka nami fungsi bari fungsi kasebut executing. Sagala aspek sejenna tina lingkungan éksekusi cangkang identik antara hiji fungsi na panelepon na kalawan iwal yén bubu debug (ningali pedaran tina bubu builtin handapeun cangkang BUILTIN paréntah di handap) henteu diwariskeun iwal fungsi nu geus dibéré atribut renik ( ningali pedaran tina dibewarakeun builtin handap).

Variabel lokal pikeun fungsi nu bisa jadi nyatakeun kalayan paréntah builtin lokal. Ordinarily, variabel jeung nilai maranéhanana anu dibagikeun antara fungsi na panelepon na.

Mun paréntah balik builtin geus dieksekusi dina fungsi hiji, fungsi nu nyampurnakeun jeung dijalankeunnana dihanca ku paréntah salajengna sanggeus panggero fungsi. Nalika fungsi hiji nyampurnakeun, nilai parameter posisional jeung husus parameter # nu disimpen ka nilai aranjeunna kapaksa saméméh palaksanaan fungsi urang.

Fungsi ngaran na definisi bisa jadi didaptarkeun kalawan pilihan -f mun dibewarakeun atawa typeset Paréntah builtin. Pilihan -F mun dibewarakeun atanapi typeset bakal daptar ngaran fungsi wungkul. Fungsi bisa jadi diekspor ambéh subshells otomatis geus aranjeunna diartikeun kalawan pilihan -f ka builtin ékspor.

Fungsi bisa jadi recursive. Taya wates ieu ditumpukeun dina Jumlah nelepon recursive.

meunteun arithmetic

Cangkang ngamungkinkeun ungkapan arithmetic bisa dievaluasi, dina kaayaan nu tangtu (ningali hayu builtin paréntah sarta ékspansi Aritmatika). Meunteun ieu dipigawé dina wilangan buleud dibereskeun-lebar kalawan henteu dipariksa pikeun mudal, sanajan division ku 0 geus trapped na flagged sakumaha kasalahan. The operator na precedence na associativity disebut sarua dina basa C. Daptar di handap tina operator ieu digolongkeun kana tingkatan operator sarua-precedence. Tingkat dibéréndélkeun dina urutan tina nurunna precedence.

id ++ id -

variabel pos-increment na pos-decrement

++ id - id

variabel pre-increment na pre-decrement

- +

unary dikurangan sarta tambah

! ~

logis jeung bitwise negation

**

exponentiation

* /%

multiplication, division, sésana

+ -

Sajaba ti éta, pangurangan

<< >>

kénca jeung katuhu shifts bitwise

<=> = <>

pabandingan

==! =

sarua jeung kateusaruaan

&

bitwise AND

^

bitwise ekslusif OR

|

bitwise OR

&&

logis AND

||

logis OR

expr? expr: expr

meunteun kondisional

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

tugas

expr1, expr2

koma

variabel cangkang anu diwenangkeun saperti operands; ékspansi parameter anu dipigawé saméméh babasan ieu dievaluasi. Dina hiji babasan, variabel cangkang bisa ogé jadi referenced ku Ngaran tanpa ngagunakeun rumpaka ékspansi parameter. Nilai variabel nu geus dievaluasi salaku hiji éksprési arithmetic keur referenced. A variabel cangkang teu kudu boga atribut integer na dihurungkeun bisa dipaké dina babasan.

Konstanta sareng ngarah 0 anu diinterpretasi salaku angka octal. A 0x ngarah atanapi 0X ngalambangkeun hexadecimal. Upami teu kitu, nomer nyokot formulir [base #] n, dimana basa nyaéta jumlah decimal antara 2 na 64 ngalambangkeun dasar arithmetic, sarta n ngarupakeun angka dina basa éta. Mun basa # geus disingkahkeun, teras basa 10 geus dipaké. The digit gede ti 9 anu digambarkeun ku hurup aksara leutik, anu hurup uppercase, @, sarta _, dina urutan éta. Mun basa anu kurang atawa sarua jeung 36, hurup aksara leutik tur uppercase bisa dipaké interchangably keur ngagambarkeun angka antara 10 jeung 35.

Operator anu dievaluasi dina urutan of precedence. Sub-ungkapan dina kurung téh dievaluasi heula jeung bisa override aturan precedence luhur.

ungkapan kondisional

Ungkapan kondisional anu dipaké ku [[sanyawa paréntah sarta uji tur [Paréntah builtin pikeun nguji atribut file na nedunan string tur babandinganana arithmetic. Ungkapan kabentuk ti primaries unary atawa biner handap. Lamun wae file argumen pikeun salah sahiji primaries mangrupakeun bentuk / dev / fd / n, teras berkas descriptor n anu dipariksa. Lamun file argumen pikeun salah sahiji primaries mangrupakeun salah sahiji / dev / stdin, / dev / stdout, atawa / dev / stderr, file descriptor 0, 1, atanapi 2 masing-masing geus dipariksa.

file -a

Leres upami file aya.

file -b

Leres upami file aya na téh block file husus.

file -c

Leres upami file aya na nyaeta karakter file husus.

file -d

Leres upami file aya na téh diréktori a.

file -e

Leres upami file aya.

file -f

Leres upami file aya na téh file biasa.

file -g

Leres upami file aya na téh diatur-group-id.

file -h

Leres upami file aya na téh link simbolis.

file -k

Leres upami file aya na na `` caket '' bit tos disetel.

file -p

Leres upami file aya na téh pipe ngaranna (FIFO).

file -r

Leres upami file aya na téh bisa dibaca.

file -s

Leres upami file aya sarta ngabogaan ukuran gede ti nol.

-t fd

Leres upami file descriptor fd kabuka sarta nujul kana terminal a.

file -u

Leres upami file aya na bit set-pamaké-id na tos disetel.

file -w

Leres upami file aya na téh ditulisan.

file -x

Leres upami file aya na téh laksana.

file -o

Leres upami file aya na anu dipiboga ku pamaké id éféktif.

file -G

Leres upami file aya na anu dipiboga ku id group éféktif.

file -L

Leres upami file aya na téh link simbolis.

file -S

Leres upami file aya na nya stop kontak a.

file -N

Leres upami file aya na geus dirobah saprak dinya éta dibaca panungtungan.

file1 - nt file2

Leres upami file1 téh anyar (nurutkeun tanggal modifikasi) ti file2, atawa lamun file1 aya na file2 henteu.

file1 - file2 OT

Leres upami file1 nyaeta heubeul ti file2, atanapi upami file2 aya na file1 henteu.

file1 -ef file2

Leres upami file1 na file2 tingal alat na inode angka sarua.

optname -o

Leres lamun pilihan cangkang optname diaktipkeun. Tempo daptar pilihan dina pedaran pilihan -o kana set builtin handap.

string -z

Leres upami panjang string nyaeta nol.

string -n

tali

Leres upami panjang string anu non-nol.

string1 == string2

Leres lamun senar anu sarua. = Bisa dipaké dina tempat == pikeun minuhan POSIX ketat.

string1! = string2

Leres lamun senar henteu sarua.

string1

Leres upami sorts string1 saméméh string2 lexicographically dina Lokalisasi ayeuna.

string1> string2

Leres upami sorts string1 sanggeus string2 lexicographically dina Lokalisasi ayeuna.

arg1 op arg2

Op mangrupakeun salah sahiji -eq, -ne, -lt, -le, -gt, atawa -ge. Ieu operator binér arithmetic balik leres lamun arg1 sarua, teu sarua jeung, kirang ti, kurang atawa sarua jeung, gede ti, atawa leuwih gede ti atawa sarua jeung arg2 visinil. Arg1 na arg2 bisa jadi wilangan buleud positif atawa négatif.

Basajan paréntah ékspansi

Nalika paréntah basajan anu dieksekusi, cangkang ngalaksanakeun di handap expansions, assignments, sarta redirections, ti kénca ka katuhu.

1.

Kecap nu parser geus ditandaan salaku assignments variable (pamadegan harita nami paréntah) jeung redirections anu disimpen keur ngolah engké.

2.

Kecap anu teu assignments variabel atawa redirections anu dimekarkeun. Mun sagala kecap tetep sanggeus ékspansi, kecap munggaran dicokot janten nami paréntah jeung kecap sésana anu alesan.

3.

Redirections anu dipigawé sakumaha ditétélakeun di luhur handapeun redirection.

4.

Téks sanggeus = di unggal ngerjakeun variabel ngalaman perluasan tilde, ékspansi parameter, substitusi paréntah, ékspansi arithmetic, sarta ngaleupaskeun cutatan saméméh keur ditugaskeun ka variabel.

Lamun henteu hasil ngaran paréntah, anu assignments variabel mangaruhan lingkungan cangkang ayeuna. Upami teu kitu, variabel nu ditambahkeun kana lingkungan paréntah dieksekusi na teu mangaruhan lingkungan cangkang ayeuna. Lamun salah sahiji assignments nyoba pikeun napelkeun nilai ka variabel readonly, kasalahan lumangsung, sarta kaluar parentah sareng status non-nol.

Mun euweuh ngaran paréntah hasilna, redirections anu dipigawé, tapi ulah mangaruhan lingkungan cangkang ayeuna. A kasalahan redirection ngabalukarkeun paréntah ka LN sareng status non-nol.

Mun aya ngaran paréntah ditinggalkeun sanggeus ékspansi, proceeds palaksanaan sakumaha ditétélakeun di handap. Disebutkeun, kaluar sorana. Lamun salah sahiji expansions ngandung substitusi paréntah, status kaluar tina paréntah nyaéta status kaluar tina parentah substitusi panungtungan dipigawé. Mun aya no panggantian paréntah, anu kaluar parentah sareng status tina enol.

paréntah palaksanaan

Saatos paréntah a geus dibeulah jadi kecap, upami eta ngakibatkeun paréntah basajan tur hiji daptar pilihan tina alesan, tindakan di handap ieu dicokot.

Mun nami paréntah ngandung euweuh slashes, anu usaha cangkang pikeun maluruh éta. Mun aya aya cangkang fungsi ku ngaran éta, fungsi nu geus invoked sakumaha ditétélakeun di luhur dina fungsi. Mun nami teu cocog hiji fungsi, anu maluruh cangkang pikeun eta dina daptar builtins cangkang. Mun cocok keur kapanggih, éta builtin ieu invoked.

Mun nami teu ngayakeun hiji fungsi cangkang atawa builtin a, sarta ngandung euweuh slashes, bash maluruh unggal unsur jalur pikeun hiji diréktori ngandung hiji file laksana ku ngaran éta. Bash ngagunakeun tabel Hash mun inget pathnames pinuh koropak laksana (tingali Hash handapeun cangkang BUILTIN paréntah di handap). A pilarian pinuh tina directories dina jalur anu dipigawé ngan lamun sorana teu kapanggih dina tabel Hash. Lamun milarian di nyaeta gagal, cangkang prints hiji pesen kasalahan sarta mulih hiji status kaluar tina 127.

Lamun milarian di nyaeta suksés, atanapi upami nami paréntah ngandung hiji atawa leuwih slashes, cangkang executes program ngaranna dina lingkungan éksekusi misah. Argumen 0 disetel ka nami diberekeun, sarta alesan sésana ka paréntah nu disetél kana alesan dibikeun, lamun sagala.

Mun palaksanaan ieu gagal kusabab file henteu dina format laksana, sarta file teu diréktori, mangka dianggap janten Aksara cangkang, file ngandung paréntah cangkang. A subshell geus ngaluncurkeun sangkan ngaéksekusi eta. Subshell Ieu reinitializes sorangan, supaya éfék kasebut salaku lamun cangkang anyar geus invoked pikeun nanganan naskah, iwal yén lokasi tina paréntah inget ku indungna (tingali Hash handap dina cangkang BUILTIN Paréntah) nu dipikagaduh ku anak.

Lamun program mangrupa file dimimitian ku #! , Sésana tina garis kahiji nangtukeun hiji juru pikeun program. cangkang executes nu juru husus dina sistem operasi anu teu ngadamel format laksana ieu sorangan. Dalil kana juru nu diwangun ku argumen hiji pilihan di handap nami juru dina garis kahiji program, dituturkeun ku nami program, dituturkeun ku dalil paréntah, upami sagala.

Paréntah palaksanaan Lingkungan

Cangkang boga hiji lingkungan éksekusi, nu diwangun ku handap:

*

file kabuka diwariskeun ku cangkang dina namah, sakumaha dirobah ku redirections disadiakeun ka builtin exec

*

nu diréktori digawé ayeuna sakumaha diatur ku cd, pushd, atawa popd, atawa diwariskeun ku cangkang dina namah

*

éta file mode nyiptakeun topéng sakumaha diatur ku umask atawa diwariskeun ti indungna cangkang urang

*

sarap ayeuna diatur ku bubu

*

parameter cangkang nu diatur ku ngerjakeun variabel atawa kalayan set atawa diwariskeun ti indungna cangkang di lingkungan

*

fungsi cangkang diartikeun salila palaksanaan atawa diwariskeun ti indungna cangkang di lingkungan

*

pilihan diaktipkeun dina namah (boh sacara standar atawa kalayan alesan paréntah-garis) atanapi ku set

*

pilihan diaktipkeun ku shopt

*

aliases cangkang diartikeun kalawan landian

*

rupa prosés Gajah Mungkur, kaasup pamadegan jobs kasang tukang, nilai $$, sarta nilai $ PPID

Nalika paréntah basajan séjénna ti fungsi builtin atawa cangkang ieu bisa dieksekusi, mangka invoked dina lingkungan éksekusi misah anu diwangun ku handap. Iwal mun disebutkeun dicatet, dina nilai nu diwariskeun ti cangkang.

*

file kabuka cangkang urang, tambah naon modifikasi sarta tambahan dieusian ku redirections kana paréntah

*

nu diréktori gawe ayeuna

*

mode topeng file nyiptakeun

*

variabel cangkang ditandaan keur ekspor marengan variabel diékspor pikeun marentah, diliwatan di lingkungan

*

sarap bray ku cangkang nu ngareset kana nilai nu diwariskeun ti indungna cangkang urang, sarta sarap dipaliré ku cangkang nu dipaliré

A paréntah invoked di lingkungan misah ieu moal bisa mangaruhan lingkungan éksekusi cangkang urang.

Paréntah substitusi na Paréntah Asynchronous anu invoked di lingkungan subshell nu mangrupakeun duplikat lingkungan cangkang, iwal sarap bray ku cangkang nu reset kana nilai yen cangkang warisan ti indung na di namah. Paréntah Builtin nu invoked salaku bagian tina pipa hiji ogé dieksekusi dina lingkungan subshell. Parobahan dijieun pikeun lingkungan subshell moal bisa mangaruhan lingkungan éksekusi cangkang urang.

Mun paréntah téh dituturkeun ku & jeung kontrol pakasaban teu aktif, anu standar input baku pikeun paréntah nya éta file kosong / dev / hypothesis. Upami teu kitu, paréntah invoked inherits nu descriptors file tina cangkang nelepon sakumaha dirobah ku redirections.

Baca ogé

Manual Rujukan Bash, Brian Fox sarta Chet Ramey

Lisénsi Readline Perpustakaan, Brian Fox sarta Chet Ramey

Lisénsi Sajarah Perpustakaan, Brian Fox sarta Chet Ramey

System Interface portabel Operasi (POSIX) Part 2: Shell jeung Utiliti, IEEE

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

emacs (1), vi (1)

readline (3)