Sh - ලිනක්ස් විධානය - Unix අණ දීම්

නාමය

bash - GNU Bourne-Again SHELL

සිනෝපස්

bash [විකල්ප] [ගොනුව]

විස්තර

බෂ් යනු සම්මත ආදාන හෝ ගොනු වලින් කියවන විධාන ක්රියාත්මක කරන sh-සංයුක්ත විධාන භාෂාවක් පරිවර්තකය. බාශ් විසින් Korn සහ C shells වෙතින් ප්රයෝජනවත් ලක්ෂණ ඇතුළත් කර ඇත ( ksh සහ csh ).

Bash IEEE POSIX Shell සහ Tools පිරිවිතර (IEEE වැඩ කරන කණ්ඩායම 1003.2) අනුකූලව ක්රියාවට නැංවීමට අදහස් කෙරේ.

විකල්ප

සම්භාර කරන ලද builtin විධානයන්හි විස්තර කර ඇති තනි-අක්ෂර විචල්ය විකල්පයන්ට අමතරව, බාෂා පහත දැක්වෙන විකල්ප අර්ථකථනය කරයි:

-c string

-c විකල්පය පවතී නම්, විධානයන් string වලින් කියවනු ලැබේ. ශ්රේණියෙන් පරස්පර විරෝධී නම් , ඒවා ස්ථානීය පරාමිති වලට පවරනු ලැබේ.

-මම

-i විකල්පය සතුව තිබේ නම්, කවුළුව අන්තර් ක්රියාකාරී වේ.

-එම්

බාස්ක් ක්රියාවක් ලෙස එය පිවිසීමේ ශෙලය ලෙස ඇමතනු ලැබුවාක් මෙන් (පහත දැක්වේ INVOCATION බලන්න).

-ආ

-r විකල්පය සතුව තිබේ නම්, shell එකට සීමා වේ (පහත දැක්වෙන සීමාසහිත තැටිය බලන්න).

-ස

-s විකල්පය සතුව පවතී නම්, හෝ වින්යාස සැකසුම් පසුව රහසිගතව කිසිදු තර්කයක් නොමැති නම්, විධාන සම්මත ආදාන වලින් විධානයන් කියවනු ලැබේ. මෙම විකල්පය අන්තර්ක්රියාකාරී ශෙලයක් වෙත යොමුවීමේදී ස්ථානීය පරාමිතීන් සැකසිය හැක.

- ඩී

පෙර සියළුම ද්විත්ව උපුටා ඇති නූල් වල ලැයිස්තුවක් $ විසින් සම්මත ouput මත මුද්රණය කර ඇත. වර්තමාන පෙදෙස C හෝ POSIX නොවේ නම් භාෂා පරිවර්ථනයට යටත් වන අක්ෂර මෙම වේ. මෙය -n විකල්පය; කිසිදු විධානයක් ක්රියාත්මක නොවේ.

[- +] O [ shopt_option ]

shopt_option යනු සාප්පු ගොඩනැඟිලි විසින් පිළිගත් ෂෙල් විකල්පයන්ගෙන් එකක් (පහත දැක්වෙන SHELL BUILTIN COMMANDS බලන්න). Shopt_option එක පවතින විට, -O එම විකල්පය සඳහා වටිනාකම නියම කරයි; O එය අහෝසි කරයි. Shopt_option සැපයුම් නොකෙරේ නම්, සාප්පු විසින් පිළිගත් ශෙල් විකල්පවල නම් සහ ප්රමිති සම්මත නිමැවුම මත මුද්රණය කරනු ලැබේ. ආයාචනා විකල්පය නම් + O , ප්රතිදානය ප්රතිදානය නැවත භාවිතා කළ හැකි ආකෘතියක දැක්වේ.

A - විකල්පයන් අවසන් වන අතර තවදුරටත් විකල්ප සැකසුම් අබල කරයි. පසුව තර්ක කිරීම - ගොනු නාමයන් හා තර්ක ලෙස සලකනු ලැබේ. තර්කයක් - සමාන වේ - .

බෂ් විසින් බහු චරිත අභිප්රේත ගණනාවක් අර්ථ දක්වා ඇත. මෙම විකල්පයන් හඳුනාගත යුතු තනි චරිත විකල්පයන් ඉදිරියේ විධාන රේඛාවේ දැක්විය යුතුය.

--dump-po-string

-D සඳහා සමාන වේ, නමුත් ප්රතිදානය GNU gettext po (portable object) ගොනු ආකෘතියේ ඇත.

- ඩම්ප්-නූල්

-D .

--උදව්

සම්මත නිමැවුමේ භාවිත පණිවුඩය සාර්ථකව පිටවීම.

--init-ගොනු ගොනුව

--rcfile ගොනුව

ශෛලමය අන්තර්ක්රියාකාරී නම් සම්මත / සාමාන්ය ආරම්භක ගොනුව වෙනුවට ~ / .bashrc (පහත දැක්වේ INVOCATION බලන්න).

--ඇතුල් වන්න

සමාන -l .

නොපැමිණෙයි

Shell යනු අන්තර්ක්රියාකාරී වන විට විධාන රේඛා කියවීමට GNU readline පුස්තකාලය භාවිතා නොකරන්න.

--noprofile

පද්ධති-සම්පූර්ණ ආරම්භක ගොනුව / etc / profile හෝ කියවීමට හෝ පෞද්ගලික ඇරඹුම් ගොනු කිසිවක් කියවිය නොහැක. ~ / .bash_profile , ~ / .bash_login , හෝ ~ / .profile . ප්රකෘති ලෙස, බාහය පිවිසුම් කවුළුව ලෙස ආයාචනය කරන විට මෙම ගොනු කියවනු ලබයි (පහත දැක්වේ INVOCATION බලන්න).

- නැත්තම්

කවුළුව අන්තර් ක්රියාකාරී නම්, පෞද්ගලික ආරම්භක ගොනුව කියවීමට හා ක්රියාත්මක නොකරන්න. ~ / .bashrc . මෙම විකල්පය sh shsh ලෙස ආයාචනය කර ඇත්නම් ප්රකෘති මඟින් ප්රකෘති වේ.

-

බෂ්ගේ හැසිරීම වෙනස් කිරීම සඳහා සම්මත POSIX 1003.2 ප්රමිතිය ( පොසික්ස් ප්රකාරය ) ට ගැලපෙන පොදු ක්රියාකාරීත්වය වෙනස් වේ.

- සීමා සහිතයි

ෂෙල් වෙඩි තැබීම සීමා වී ඇත (පහත දැක්වෙන සීමාසහිත තැටිය බලන්න).

- rm-අවශ්යයි

ෂෙල් අක්ෂර වින්යාසය සඳහා අවශ්ය වන ගොනු ලැයිස්තුව සාදන්න. මෙය '-n' යනුවෙන් අදහස් කෙරෙනුයේ, කාල අනුක්රමයේ පරීක්ෂා කිරීමේ පිරික්සුම සම්පාදනය කර ඇති පරිදි එම සීමාවන්ට යටත්ව ය; බැක්ටීක්ස්, [] ටෙස්ට් හා ගණනය කිරීම් නොකෙරේ. සමහර පරායත්තයන් මග හැරිය හැක. -verbose equivalent -v .

--පිටපත

සම්මත නිමැවුම මත බාෂිගේ උදාහරණය සඳහා අනුවාද තොරතුරු පෙන්වන්න සහ සාර්ථකව පිටවීම.

තර්ක කිරීම

පරාමිතියන් පසුව විකල්ප සැකසුම් පසුව පවතිනවා නම්, සහ -c හෝ -s විකල්පය ලබාදී නොමැති නම්, පළමු තර්කය විධාන විධාන අඩංගු ගොනුවක් ලෙසට උපකල්පනය කරනු ලැබේ. මෙම ආකාරයෙන් bash නම් කර ඇත නම්, $ 0 ගොනුවේ නමට සකසා ඇති අතර ස්ථානීය පරාමිතියන් ඉතිරිව ඇති පරාමිතීන් දක්වා ඇත. Bash මෙම ගොනුව වෙතින් විධාන කියවීම සහ ක්රියාත්මක කරයි, පසුව පිටවෙයි. Bash ගේ පිටවීමේ තත්වය යනු පිටපතෙහි අවසන් අන්තිම විධානයෙන් පිටවන තත්ත්වයයි. කිසිදු විධානයක් ක්රියාත්මක නොකළහොත් පිටවන තත්ත්වය 0 වේ. වත්මන් බහලුම තුල ගොනුව විවෘත කිරීමට උත්සාහ කරන අතර, කිසිඳු ගොනුවක් සොයාගත නොහැකි නම්, විධානාවලි තිරය සඳහා PATH තුල ඇති නාමාවලි සෙවුම් කරයි.

අමතන්න

ආරක්ශා ෂල්ලය යනු තර්කයේ ශුන්යයේ පළමු අක්ෂරය වේ, එනම් - හෝ එකක් --login විකල්පය සමඟ ආරම්භ වේ.

අන්තර්ක්රියාකාරී ශෛලයක් යනු විකල්ප නොවන විකල්පයන්ගෙන් තොරව ආරම්භ වන අතර, විකල්ප ප්රොටෝල් වලට සම්බන්ධිත -c විකල්පයක් නොමැතිව -c විකල්පය නොමැතිව ( isatty (3) විසින් තීරණය කරන ලද) හෝ එකක් -i විකල්පය සමඟ ආරම්භ කර ඇත. PS1 පිහිටුවා ඇති අතර $ - ඇතුළත් වේ i bash සිග්නේචර් ක්රියාකාරී නම්, මෙය shell පරීක්ෂාව හෝ ආරම්භක ගොනුවකට මෙම තත්වය පරීක්ෂා කිරීම.

බාහය සිය ආරම්භක ගොනු ක්රියාත්මක කරන්නේ කෙසේද යන්න පහත වගන්ති වලින් විස්තර කරයි. ගොනු කිසිවක් පැවතිය නොහැකි නමුත් එය කියවිය නොහැක, bash දෝෂයක් වාර්තා කරයි. EXPANSION අංශයේ දී Tilde ව්යාප්තිය යටතේ පහත විස්තර කර ඇති ගොනු නාම වල Tildes පුළුල් වේ.

බාජනය අන්තර්ක්රියාකාරී පිවිසුම් ශෙලය ලෙසට හඳුන්වන විට, හෝ --login විකල්පය සමඟ අන්තර්ක්රියාකාරී ශෛලයක් ලෙස , එය ප්රථමයෙන් කියවීම හා ක්රියාත්මක කිරීම / etc / profile ගොනුව තුල පවතී නම්, එම ගොනුව පවතී නම්. එම ගොනුව කියවීමෙන් පසුව ~ / .bash_profile , ~ / .bash_login , ~ / .profile , එම පිළිවෙල තුල, සහ දැනට කියවිය හැකි පළමු හා එකම විධානයන් කියවීම සහ ක්රියාත්මක කිරීම. මෙම හැසිරීම අක්රිය කිරීමට ආරම්භක වේදී --noprofile විකල්පය භාවිතා කළ හැක.

පිවිසුම් කවුළුව අවසන්වන විට, bash කියවීමට හා ක්රියාත්මක කිරීමට අවශ්ය විධානයන් ගොනුවක් ~ / .bash_logout , එය පවතියි නම්, එය පවතී.

පිවිසුම් ශෙලයක් නොවන අන්තර්ක්රියාකාරී කවචයක් ආරම්භ කරන විට, bash කියවීමට සහ ක්රියාත්මක කිරීමට බලාපොරොත්තු වන්නේ ~ / .bashrc සිට , එම ගොනුව පවතින්නේ නම්. --norc විකල්පය භාවිතා කිරීමෙන් මෙය වළක්වා ගත හැක. --rcfile ගොනු විකල්පය ~ / .bashrc වෙනුවට ගොනු වලින් කියවීමට හා ක්රියාත්මක කිරීමට bash බල කරයි.

Bash ආරම්භක නොවන විට අන්තර්ක්රියාකාරී නොවන ලෙස, shell පිටපතක් ක්රියාත්මක කිරීම සඳහා, නිදසුනක් ලෙස, එහි වෙනස්කම් BASH_ENV සඳහා පරිසරය තුළ පෙනෙන අතර එහි එහි අගය වැඩි වෙයි, එය කියවීමට හා ක්රියාත්මක කිරීමට ගොනුවක නම ලෙස ප්රසාරිත අගය භාවිතා කරයි. . Bash පහත දැක්වෙන විධානය ක්රියාත්මක කරන ලදි:

[-n "$ BASH_ENV"] නම්; එවිට . "$ BASH_ENV"; ෆයි

නමුත් PATH විචල්යයේ අගය ගොනුවේ නම සොයනු නොලැබේ.

බාෂි නම් ෂ ෂ නම සමඟ ඇත්නම්, එය POSIX ප්රමිතියට අනුකූලව, හැකිතාක් සමීපව ඓතිහාසික අනුවාදයන්හි ආරම්භක හැසිරීම අනුකරණය කිරීමට උත්සාහ කරයි. අන්තර්ක්රියාකාරී පිවිසුම් ශෙලයක් ලෙස හෝ අන්තර්-ක්රියාකාරී නොවන ශෙලයන් --login විකල්පය සමඟ ආයාචනය කරන විට , එය මුලින්ම / etc / profile වෙතින් සහ / වේ. මෙම හැසිරීම අක්රිය කිරීම සඳහා --noprofile විකල්පය භාවිතා කළ හැකිය. Sh shame සමඟ අන්තර් ක්රියාකාරී ශෙඩුවක් ලෙස ආචරණය කරන විට, bash අර්ථ දක්වනුයේ විචල්යය ENV සඳහා වන අතර, එය අර්ථ දැක්වුවහොත් එය එහි අගය වැඩි කරයි, එය කියවීමට සහ ක්රියාත්මක කිරීමට ගොනුවෙහි නම ලෙස ප්රසාරිත අගය භාවිතා කරයි. Sh Shock ලෙස ශ්රවණය කර ඇති බැවින්, වෙනත් ආරම්භක ගොනු වලින් විධාන කියවීම සහ ක්රියාත්මක කිරීම උත්සහ නොකරන බැවින්, -rcfile විකල්පයට කිසිදු බලපෑමක් නැත. Sh shift සමඟ සම්බන්ධ කර ඇති අන්තර්ක්රියාකාරී shell එකක් වෙනත් ආරම්භක ගොනු කියවීමට උත්සාහ නොකරයි. Sh sh> ලෙස උපයෝගී කරගත් විට, bash ආරම්භක ගොනු කියවන පසු posix මාතයට ඇතුළත් වේ.

Bash ආරම්භයේදී POSIX මාතයේ ආරම්භ කළ විට, --posix විධාන රේඛා විකල්පය සමඟ, ආරම්භක ගොනු සඳහා POSIX සම්මතය අනුගමනය කරයි. මෙම ආකාරයෙන් අන්තර්ක්රියාකාරී shells ENV විචල්යය ප්රසාරණය කිරීම සහ විධාන පරාසයේ ඇති අගය වන ගොනුව වෙතින් කියවීම සහ ක්රියාත්මක කිරීම සිදු කරයි. වෙනත් ආරම්භක ගොනු කියවිය නොහැක.

Bash දුරස්ථ විධාන විධාන මඟින් එය ක්රියාත්මක වන විට එය තීරණය කිරීමට උත්සාහ කරයි. සාමාන්යයෙන් rshd . බෂ් තීරණය කරන්නේ එය rshd විසින් ක්රියාත්මක වන විට , එය / / bashrc වෙතින් විධානයන් කියවා හා ක්රියාත්මක කරයි, එම ගොනුව පවතීනම් සහ කියවිය හැකි නම්. ෂෙ ලෙස ආයාචනා කළහොත් එය මෙය නොකරනු ඇත. --norc විකල්පය මෙම හැසිරීම ආක්රමණ කිරීම සඳහා භාවිතා කල හැක, සහ -rcfile විකල්පය වෙනත් කියවීමක් කියවීමට බල කිරීම සඳහා භාවිතා කල හැක, නමුත් rshd සාමාන්යයෙන් එම විකල්පයන් සමඟ shell තෝරාගෙන නැතහොත් ඒවා නියම කිරීමට ඉඩ ලබා දේ.

සාර්ථකව භාවිතා කරන්නෙකු (කණ්ඩායම්) id සමඟ සැබෑ පරිශීලකයා (කණ්ඩායම්) id සමඟ සමාන නොවේ නම්, සහ -p විකල්පය සපයා නොතිබීම, ආරම්භක ගොනු කියවනු ලැබේ, ශෙල් ක්රියාකාරකම් පරිසරයෙන් උරුම නොවේ නම්, SHELLOPTS විචල්යය, එය පරිසරය තුළ දිස්වන විට එය නොසලකා හරින අතර, කාර්යක්ෂම පරිශීලක හැඳුනුම්පත සැබෑ පරිශීලක හැඳුනුම් පත්රය වෙතට සකසා ඇත. ආරම්භක හැසිරීම සමාන වේ, -p විකල්පය ලබා දෙන්නේ නම්, නමුත් කාර්යක්ෂම පරිශීලක හැඳුනුම නැවත සකසා නැත.

අර්ථ දැක්වීම්

මෙම ලේඛනයේ සෙසු නිර්වචන පහත දැක්වෙන නිර්වචන භාවිතා කරයි.

හිස්

අවකාශය හෝ ටැබය.

වචනය

ෂෙල් මඟින් තනි ඒකකය ලෙස සැලකේ. ටෝකනය ලෙසද හැඳින්වේ.

නාමය

අක්ෂරාංකි අක්ෂර පමණක් හා යටි ඉරි ඇඳ ඇති වචන සහ අකාරාදී අක්ෂරයකින් හෝ පහළ කොටසකින් ආරම්භ වේ. හඳුනා ගැනීමක් ලෙසද හැඳින්වේ.

metacharacter

අකුරු නොසලකා හරින චරිතයක්, වචන වෙන් කරයි. පහත සඳහන් එක් කරුණක්:

| &; () <> අභ්යවකාශ ටැබය

පාලන ක්රියාකරු

පාලන කාර්යයක් ඉටු කරන ටෝකනයක් . එය පහත දැක්වෙන සංකේත වලින් එකක් වේ:

|| & &&; ;; () | <නවීඩ්>

වෙන්වූ වචන

වෙන් කරන ලද වචන වනාහි ෂෙල් හට විශේෂ අර්ථයක් ඇති වචන වේ. පහත දැක්වෙන වචන නොකිවමනා ලෙස වෙන්කර ඇති අතර පළමු අණුවක සරල විධානයක් (පහත දැක්වෙන ෂෙල් ග්රැම්මැම් බලන්න) හෝ නඩුවේ තුන්වන වචනය හෝ විධානය සඳහා :

! නඩුවේදී ඊලඟ වෙනුවෙනුත් සිදු කරන්නේ නම් {} time [[]]

ෂෙල් ග්රෑම්

සරළ විධානයන්

සරල විධානයක් යනු විචල්ය විචල්ය පැවරුම් අනුපිළිවෙලක් අනුගමනය කිරීමෙන් පසුව හිස්- වෙන් කළ වචන සහ හරවා යැවීම සහ පාලකයකු විසින් එය අවසන් කරනු ලැබේ. පළමු වදන ක්රියාත්මක කරනු ලබන විධානය නියම කරන අතර, එය න්යාය ලෙස සම්මත වේ. ඉතිරි වදන ආයාචනා කරන ලද ආඥාවට තර්ක ලෙස සම්මත කර ඇත.

සරල විධානයක ප්රතිලාභ අගය වන්නේ එහි පිටවීමේ තත්වයයි, නැතහොත් සංඥා n මඟින් විධානය අවසන් වන විට 128 + n වේ.

නල මාර්ග

නල මාර්ගයක් යනු අක්ෂරයෙන් වෙන් වූ විධාන එකක් හෝ කිහිපයක් අනුක්රමයකි . නල මාර්ගයක් සඳහා වන ආකෘතිය වන්නේ:

[ වේලාව [ -p ]] [! ] විධානය [ | විධානය2 ...]

විධාන සම්මත නිමැවුම් විධාන ප්රකාරයේ විධානයක් සඳහා නලයක් හරහා සම්බන්ධ වේ. මෙම සම්බන්ධතාවය විධානය මඟින් නියම කරන ලද කිසියම් ප්රතිවර්තනයකට පෙර සිදු කරනු ලැබේ (පහත දැක්වෙන Redirection බලන්න).

රක්ෂිත වචනය ! නල මාර්ගයට පෙර, එම නල මාර්ගයෙන් පිටවන තත්ත්වය අවසාන ආඥාවෙහි පිටවීමේ තත්වය පිළිබඳ තර්කානුකූල නොවේ. එසේ නොමැති නම්, නල මාර්ගයේ තත්වය අවසාන ආඥාවෙහි පිටවීමේ තත්වය වේ. ශෙෂුකයේ අගයන් නැවත ලබා ගැනීමෙන් අවසන් වන තුරු ඇරීමට සිත්තම් පොරොත්තු වේ.

කාල රක්ෂිත වචනය නලමාර්ගයට පෙර නම්, නළය අවසන් වූ විට මෙන්ම එහි පරිභෝජනයෙන් පරිභෝජනය කරන පරිශීලකයා සහ පද්ධති කාලය වාර්තා කරනු ලැබේ. -p විකල්පය POSIX මගින් නියම කරන ලද ආදාන ආකෘතිය වෙනස් කරයි. TIMEFORMAT විචල්යය නියමිත කාලය පිළිබඳ විස්තර පෙන්විය යුතු ආකෘතියේ ආකෘතියට සැකසිය හැකිය. පහත දැක්වෙන Shell Variables යටතේ TIMEFORMAT විස්තරය බලන්න.

නල මාර්ගයේ සෑම විධානයක්ම වෙනම ක්රියාවලියක් ලෙස (එනම්, උපකවස්තුවක) ක්රියාත්මක වේ.

ලැයිස්තු

ලැයිස්තුවක් එක් ක්රියාකරුගෙන් වෙන් වූ එක් හෝ වැඩි නල මාර්ගයක් අනුගමනය කරයි ; , & , && , හෝ || , සහ විකල්ප වශයෙන් කපා හැරුණු එකක් ; , සහ , හෝ <නවී`නය> .

මෙම ලැයිස්තුවේ ක්රියාකරුවන්, && සහ || ඊට සමාන ප්රමුඛත්වයක් ලබා දේ . සහ, සහ සමාන ප්රමුඛත්වයක් ඇති.

පේළියේ එක් පේළියක් හෝ වැඩි ගණනක අනුක්රමයක් පේළියක අනුක්රමයක් වෙනුවට තිත් කොමාවකට හැරිය හැක.

පාලක ක්රියාකරු විසින් විධානයක් අවලංගු කර ඇත්නම්, shell මඟින් උපකල්පනයෙහි ඇති විධානය ක්රියාත්මක කරයි. විධාන පුවරුව අවසන් වන තෙක් shell ඉවත් නොකෙරේ, ආපසු ලැබීමේ තත්වය 0 වේ . අනුක්රමිකව ක්රියාත්මක සෑම විධානයක්ම අවසන් කිරීම සඳහා ෂෙල් වෙඩි තබයි. ආපසු තත්වය යනු අවසන් විධාන ක්රියාත්මක කරන ලද පිටවීමේ තත්වයයි.

පාලන ක්රියාකරුවන් && සහ || පිළිවෙළින් සහ ලැයිස්තු සහ OR ලැයිස්තු පිළිවෙළින්. ආකෘතියට ආකෘති පත්රයක් ඇත

command1 && command2

command2 ක්රියාත්මක වේ නම්, සහ, යන්තම් 1 , ශුන්යයේ පිටවීමේ තත්වය නැවත ලබා දෙයි.

OR ලැයිස්තුවේ ස්වරූපය තිබේ

command1 || විධානය2

command2 ක්රියාත්මක වන්නේ නම් සහ විධානයක් 1 ක්රියාත්මක වන්නේ නම් ශුන්ය නොවන තත්වයෙන් පිටවන තත්වය නැවත ලබා දෙයි. ලැයිස්තුවේ AND සහ OR ලැයිස්තුගත කර ඇති තත්වය ලැයිස්තුවේ අවසන් අන්තිම විධානය වන exit status වේ.

සංයුක්ත විධාන

සංයුක්ත විධානය පහත දැක්වෙන ආකාරයෙන් එකක් වේ:

( ලැයිස්තුව )

ලැයිස්තුවක් උපකුලකයක් තුල ක්රියාත්මක වේ. Shell හි පරිසරයට බලපාන විචල්ය පැවරුම් සහ builtin විධානයන් විධානය ක්රියාත්මක වීමෙන් පසුව ක්රියාත්මක වන්නේ නැත. ප්රතිලාභ තත්ත්වය ලැයිස්තුවේ පිටවීමේ තත්වයයි.

{ ලැයිස්තු ; }}

ලැයිස්තුව හුදෙක් වත්මන් ෂෙල් පරිසරයේ ක්රියාත්මක වේ. ලැයිස්තුව අළුත් ලින්ක් හෝ semicolon සහිතව අවසන් කළ යුතුය. මෙය සමූහ විධානයක් ලෙස හැඳින්වේ. ප්රතිලාභ තත්ත්වය ලැයිස්තුවේ පිටවීමේ තත්වයයි. උපමාවන් ( සහ ) , { සහ } වෙන් වෙන් වචන මෙන් නොව, වෙන් වෙන් වචන පිළිගැනීමට ඉඩ හැරිය යුතු බව සලකන්න. වචනයක් බිඳීමක් නොලැබෙන බැවින් ඒවා ලැයිස්තු වලින් වෙන් වී තිබිය යුතුය.

(( ප්රකාශනය ))

ආතරයිතික ඇගයුම් යටතේ විස්තර කර ඇති නීති වලට අනුව ප්රකාශනය ඇගයීමට ලක් වේ . ප්රකාශනයේ අගය ශුන්ය නොවේ නම්, ආපසු තත්ත්වය 0; එසේ නොවුවහොත් ආපසු පැමිණීමේ තත්වය 1. මෙය " ප්රකාශනය " ට සමාන ය.

[[ ප්රකාශණය ]]

කොන්දේසිගත ප්රකාශණ ප්රකාශනය ඇගයීම මත 0 හෝ 1 තත්වයක් ලබා දෙන්න. ප්රකාශයන් සමන්විත වන්නේ පහත දැක්වෙන ප්රාථමික අවධියේ සිට සමීකරණ ප්රකාශනයෙනි . වචන [[ හා ]] අතර ඇති වචන මත වචන බෙදීම හා ව්යාකරණ ප්රසාරණය සිදු නොවේ. විස්තාරිත ප්රසාරණය, පරාමිතිය හා විචල්ය ප්රසාරණය, ගණිතමය ව්යාප්තිය, විධාන ආදේශන, ක්රියාවලි ආදේශ කිරීම සහ කැටිකරණ ඉවත් කිරීම සිදු කරනු ලැබේ.

== සහ ! = ක්රියාකරවන්නන් භාවිතා කරන විට, ක්රියාකරුගේ දකුණු පරාසය මෝස්තරයක් ලෙස සලකනු ලබන අතර අනුපිළිවෙලට අනුකූලව පහත දැක්වෙන නීති වලට අනුකූල වේ. ප්රතිදාන අගය 0 වේ, අනුපිළිවෙල අනුපිලිවෙලට නොගැලපේ නම් හෝ පිළිවෙළින් අනුපිළිවෙලට අනුකූල නොවේ. ශ්රේණියේ ඕනෑම කොටසක් ලෙස ශ්රේණියක් ලෙස එයට ගැලපෙන ලෙස බලපෑම් කිරීමට උපුටා දැක්විය හැකිය.

පහත දැක්වෙන ක්රියාකරවන්නන්, ප්රමුඛත්වය පහත දැමීමේ අනුපිළිවෙල අනුව ලැයිස්තුගත කර හැක.

( ප්රකාශනය )

ප්රකාශනයේ අගය නැවත ලබා දෙයි. ක්රියාකරුවන්ගේ සාමාන්ය ප්රමුඛත්වය අභිබවා ගැනීමට මෙය භාවිතා කළ හැකිය.

! ප්රකාශනයකි

ප්රකාශය අසත්ය නම් සත්යය.

expression1 && expression2

ප්රකාශන1 සහ ප්රකාශන2 යන දෙකම සත්ය නම් සත්ය වේ.

ප්රකාශනය 1 || expression2 හෝ expression2 සත්ය නම් සැබෑ වේ.

&& සහ || මෙහෙයුම්කරුවන් ප්රකාශනය ඇගයීමට ලක් නොකෙරේ. ප්රකාශනයේ අගය 1 සම්පූර්ණ සමීකරණ ප්රකාශනයේ ප්රතිලෝම අගය තීරණය කිරීමට ප්රමාණවත් වේ.

නාමයෙන් [ වචනයෙන් ]; ලැයිස්තුව ; කරලා

පහත දැක්වෙන වචන ලැයිස්තුව පුළුල් කර ඇති අතර අයිතම ලැයිස්තුවක් ජනනය කරයි. මෙම ලැයිස්තුවේ විචල්ය නාමය එක් එක් අංගයට සකසා ඇති අතර, එක් එක් වරට ලැයිස්තු ක්රියාත්මක වේ. වදනෙහි වචන හැරී ඇත්නම්, විධානය සඳහා වන එක් එක් ස්ථානීය පරාමිතිය සඳහා එක් වරක් ලැයිස්තු කාර්යය කරනු ලබයි ( PARAMETERS පහත බලන්න). ආපසු තත්වය යනු ක්රියාත්මක වන අවසාන විධානයේ පිටවන තත්ත්වයයි. භාණ්ඩයේ අයිතමයන් හිස් ලැයිස්තුවක් ප්රසාරණය වී ඇත්නම්, කිසිඳු විධානයක් ක්රියාත්මක නොවන අතර ආපසු ලැබෙන තත්ත්වය 0 වේ.

(( expr1 ; expr2 ; expr3 )); ලැයිස්තුව ; කරලා

පළමුවෙන්ම ගණිත ප්රකාශය expr1 පහත දැක්වෙන රීතිවලට අනුකූලව ගණනය කරනු ලැබේ . ගණිත ප්රකාශනය expr2 පසුව ශුන්යයට තක්සේරු කරන තෙක් නැවත නැවත ඇගයීමට ලක් වේ. සෑම අවස්ථාවකදීම expr2 අගය ශුන්ය නොවන අගයක් සඳහා අගයක් ගනී, ලැයිස්තු ක්රියාත්මක කර ඇති අතර ගණිත ප්රකාශය expr3 ඇගයීමට ලක් කරනු ලැබේ. කිසියම් ප්රකාශනයක් අත්හැරියහොත්, එය එය අගය කරනු ලබන්නේ 1. එය ආපසු ලැබෙන අගය වන්නේ ක්රියාත්මක වන ලැයිස්තුවේ අවසාන විධානයෙහි පිටවීමේ තත්වයයි, නැතහොත් ප්රකාශයන් වලංගු නොවේ නම් එය අසත්ය වේ.

නම [ වචනයෙන් ]; ලැයිස්තුව ; කරලා

පහත දැක්වෙන වචන ලැයිස්තුව පුළුල් කර ඇති අතර අයිතම ලැයිස්තුවක් ජනනය කරයි. ප්රසාරිත වචන සමූහය සම්මත සංඛ්යාංකය මත මුද්රණය කර ඇති අතර, එක් එක් සංඛ්යාවට පෙරාතුව සිදු කරනු ලැබේ. වචනයෙන් බැහැර නම්, ස්ථානීය පරාමිතියන් මුද්රණය කර ඇත (පහත පරාමිතිය බලන්න). PS3 විමසුම පසුව පෙන්වනු ලැබේ. පේළිය දර්ශනය වූ එක් වචනයට අනුරූප රේඛාව සමන්විත වන්නේ නම්, එම වචනයේ නම එම වචනය වෙත සකසා ඇත. රේඛාව හිස් නම්, වචන සහ විමසුම නැවත දිස්වනු ඇත. EOF කියවා ඇත්නම්, විධානය සම්පූර්ණ කරයි. වෙනත් කියැවුම් කියැවීමක් නමට නමක් තැබිය නොහැකිය. රේඛීය කියවීම විචල්යය REPLY තුල සුරකින්න . කැඩුම් විධානයක් ක්රියාත්මක වන තෙක් එක් එක් තෝරාගැනීමෙන් පසුව ලැයිස්තුව ක්රියාත්මක වේ. තෝරාගත් පිටවීමේ තත්ත්වය යනු ලැයිස්තුවේ ක්රියාත්මක කරන ලද අවසාන විධානයේ පිටවීමේ තත්වයයි. නැතහොත් විධාන ක්රියාත්මක නොකළ හොත් ශුන්ය වේ.

[[ රටාව ] [ රටාව ]

අක්ෂර විධාන පළමුවෙන්ම වචනය පුළුල් කරයි, සහ පේළි නාමයේ ව්යාප්තිය සඳහා සමාන අනුරූප භාවිතා කරමින්, එක් එක් රටාවට එරෙහිව එය ගැලපෙන ලෙස උත්සාහ කරයි (පහත Pathname Expansion පහත බලන්න). තරඟය සොයාගත් විට, අදාල ලැයිස්තුව ලියා ඇත. පළමු තරඟයෙන් පසුව, කිසිදු අනුපිළිවෙලක් උත්සහ නොකෙරේ. රටාවක් නොමැති නම් පිටවීමේ තත්වය ශුන්ය වේ. එසේ නොමැතිනම්, ලැයිස්තුව තුල ක්රියාත්මක වන අවසාන විධානයෙහි පිටවීමේ තත්වය එයයි.

නම් ලැයිස්තුව ; ලැයිස්තුවෙන්; [ elif ලැයිස්තුව ; ලැයිස්තුවෙන් ; ] ... [ වෙනත් ලැයිස්තුව ; ] fi

නම් ලැයිස්තුව ක්රියාත්මක වේ. එහි පිටත තත්ත්වය ශුන්ය නම්, එම ලැයිස්තුව ක්රියාත්මක වේ. එසේ නොමැතිනම් එක් එක් ඊලිස් ලැයිස්තුව ලඟදීම ක්රියාත්මක වන අතර, එහි පිටවීමේ තත්වය ශුන්යය නම්, අදාල ලැයිස්තුව පසුව ක්රියාත්මක වන අතර විධානය සම්පූර්ණ වේ. එසේ නොමැතිනම්, අනෙක් ලැයිස්තුව ක්රියාත්මක වේ. පිටවීමේ තත්වය යනු අවසන් විධානයේ පිටවීමේ තත්වයයි. නැතහොත් කොන්දේසි කිසිදු සත්යතාවයක් නොමැති නම් ශුන්ය වේ.

ලයිස්තුගත ලැයිස්තුව ; කරලා

ලැයිස්තුවක් තෙක් ලැයිස්තුව ; කරලා

ලැයිස්තුවේ අන්තිම විධානය ශුන්යයේ පිටවීමේ තත්වය නැවත ලබා දෙන තුරු අඛණ්ඩව ක්රියාත්මක වන ලෙස ලැයිස්තුව ක්රියාත්මක කරයි. විධාන පාලනය කරන තෙක් අණ දෙන තෙක් , පරීක්ෂණය නිෂේධනය කිරීම හැරෙන්නට; ලැයිස්තුවේ අවසන් ලැයිස්තුව අවසන් වන තෙක් න්යෂ්ටික නික්මයාමේ තත්වය නැවත ලබා දෙයි. විධානයන් අතරින් පිටවන තත්වය සහ විධානයන් තෙක් ක්රියාත්මක වන තෙක් අවසන් කළ ලයිස්තුවේ අවසන් ලැයිස්තුවේ පිටවීමේ තත්ත්වය හෝ කිසිවෙකු ක්රියාත්මක නොකළ හොත් ශුන්ය වේ.

[ ක්රියාව ] නම () { ලැයිස්තු ; }}

නමක් ලෙස මෙය හැඳින්වේ. කර්තව්යයේ ශරීරය {සහ} අතර විධානයන් ලැයිස්තුව වේ. සරල විධානයක නම ලෙස නම සඳහන් කර ඇති විට මෙම ලැයිස්තුව ක්රියාත්මක වේ. ශ්රිතයේ පිටවීමේ තත්වය යනු සිරුර තුළ අවසන් කළ විධානයෙහි පිටවීමේ තත්වයයි. (පහත බලන්න FUNCTIONS බලන්න.)

සංග්රහය

අන්යෝන්ය ක්රියාකාරී shell එකක් හෝ අන්තර්ක්රියාකාරී ශෙලයක් තුල ඇති interactive_comments විකල්පය සක්රිය කර ඇති (පහත දැක්වෙන SHELL BUILTIN COMMANDS බලන්න), එම වචනයෙන් සහ එම අක්ෂරයේ ඉතිරිව ඇති අකුරු නොසලකා හරිනු ඇත. අන්තර්ක්රියාකාරී_comments විකල්පය නොමැතිව අන්තර්ක්රියාකාරී ශෛලයක් සක්රීය කර ඇත. අන්තර්ක්රියාකාරී_comments විකල්පය ක්රියාකරනුයේ සිල්ලර අන්තර් ක්රියාකාරී කවච වලිනි.

කියවීම

නිශ්චිත චරිත හෝ වචන ශෙලලයට විශේෂ අර්ථය ඉවත් කිරීම සඳහා උපුටාගන්නා ලදි. විශේෂිත අක්ෂර සඳහා විශේෂිත ප්රතිකාර අක්රිය කිරීම සඳහා උපුටා ගැනීම, වෙන් වෙන් වචන හඳුනාගැනීම වැළැක්වීම සහ පරාමිතීකරණ ව්යාප්තිය වැළැක්වීම සඳහා භාවිතා කළ හැක.

DEFINITIONS යටතේ ලැයිස්තු ගත කර ඇති එක් එක් මෙටාකාශ සලකුණු shell යන්නට විශේෂ අර්ථයක් ඇත. එය නියෝජනය වන්නේ එය ඉදිරිපත් කිරීමට නම් එය උපුටා දැක්විය යුතු ය.

විධාන ඉතිහාස විස්තීරණ පහසුකම් භාවිතා කරන විට, ඉතිහාසය පුළුල් කිරීමේ ස්වභාවය, සාමාන්යයෙන් ! , ඉතිහාසය ප්රසාරණය වැලැක්වීම සඳහා උපුටා දැක්විය යුතුය.

උපකල්පිත යාන්ත්රණ තුනක් ඇත: පලායාම් චරිතය , තනි වාක්ය සහ ද්විත්ව උපුටා දැක්වීම්.

උපුටා ගත නොහැකි backslash ( \ ) යනු ගැලීමේ ඉරියව් වේ. එය පහත දැක්වෙන අක්ෂර වල සත්ය වටිනාකම වන අතර, එය හැර. \ යුගලයක් දිස්වේ නම්, සහ backslash සාරාංශයක් නොවේ, \ පේලියක් ලෙස අඛණ්ඩව භාවිතා කරනු ලැබේ (එනම්, එය ආදාන ප්රවාහයෙන් ඉවත් කොට එය නොසලකා හරිනු ලැබේ).

එක් එක් චරිතය තුළ චරිත ඇසුරුම් තුළ එක් එක් චරිතයෙහි සත්ය ගුණය සුරැකීම. තනි උපුටා දැක්වීම් අතර තනි අගයක් නොතිබිය හැක.

ද්විත්ව උපුටනවල චරිතයන් අක්ෂර ඇතුලත් කිරීම, $ , ' , සහ \ ' හැරුණු කොට ඇති සියලු උපුටා දක්වා ඇති චරිතවල අඩංගු වේ. චරිත $ සහ " ද්විත්ව උපුටා දැක්වීම තුල ඔවුන්ගේ විශේෂ අර්ථය රඳවා ගනී. පහත සඳහන් අක්ෂර වලින් එකක් පහත දැක්වෙන අක්ෂරයෙන් බැක්ස්ලෑෂ් විශේෂ අර්ථය රඳවා තබා ගනී: ද්විත්ව උද්ධෘත පාඨය backslash සමග ද්විත්ව උපුටා දැක්වීම් තුල උපුටා ගත හැක.

විශේෂිත වූ පරාමිතීන් * සහ @ යනුවෙන් ද්විත්ව උපුටා දැක්වීමෙන් විශේෂ අර්ථයක් ඇත (පහත පරාමිතීන් බලන්න).

$ ' String ' ආකාරයේ වචන විශේෂයෙන් සලකනු ලැබේ. වචනයෙන් ප්රසාරණය වී ඇති අතර, backslash-escaped අක්ෂර මඟින් ANSI C ප්රමිතිය මගින් නියම කරනු ලැබේ. Backslash පහත දැක්වෙන අක්ෂර වින්යාසයන් පහත දැක්වෙනු ඇත:

\ඒ

අවවාදයයි (සීනුව)

\බී

අවලංගුයි

\ e

බේරුම් චරිතයක්

\ f

ආකෘති පෝෂණය

\ n

නව මාර්ගය

\ r

නැවත පැමිණීම

\ටී

තිරස් ටැබ්

\ v

සිරස් ටැබයට

\\

බැක්ස්ලෑෂ්

\ '

තනි උපුටනයක්

\ nnn

අන්යෝන්ය අගය nnn (අංක තුනේ සිට තුන දක්වා)

\ x HH

අක්ෂර අක්ෂරයේ අක්ෂර බීටා අක්ෂර ( HX) (hexadecimal value HH එකක් හෝ දෙකක hex අගයක්)

\ c x

පාලන ලක්ෂ්යයක්

පුළුල් ප්රතිඵලය තනි වශයෙන් උපුටා දක්වා ඇත, ඩොලරයේ සංඥා නොපවතියි.

ඩොලරයේ සංඥාව ( $ ) ට පෙර දෙවරක් උපුටන ලද ශ්රේණියක් වත්මන් පෙදෙසට අනුව ශ්රේණිය පරිවර්තනය කරනු ඇත. වත්මන් පෙදෙස C හෝ POSIX නම් , ඩොලර් සංඥාව නොසලකා හරිනු ලැබේ. මෙම ටැගය පරිවර්ථනය කොට ප්රතිස්ථාපනය කළහොත්, ආදේශන ද්විත්ව උපුටා ඇත.

පරාමිතීන්

පරාමිතිය යනු අගයන් ගබඩා කරන ආයතනයකි. විශේෂ නාමාවලින් පහත දැක්වෙන විශේෂ අක්ෂරවලින් එකක් නම් , අංකයක් හෝ එක් අක්ෂරයක් විය හැක. ශෙලිකරණයේ අරමුණු සඳහා, විචල්යයක් යනු නමකින් දැක්වෙන පරාමිතියක් වේ. විචල්යයක අගය සහ ශුන්ය හෝ වැඩි ගුණාංග ඇත. ප්රකාශනය කරන ලද ආදාන විධානය භාවිතා කරමින් attributes ලබා දී ඇත ( SHELL BUILTIN COMMANDS හි පහත ප්රකාශය බලන්න.

වටිනාකමක් නියම කර ඇති නම් පරාමිතියක් සකසා ඇත. Null string වලංගු අගයක් වේ. විචල්යය සකසනු ලැබුවහොත්, එය අක්රීය කළ builtinin විධානය භාවිතා කිරීමෙන් පමණක් අසම්පූර්ණ විය හැක ( පහත දැක්වෙන SHELL BUILTIN COMMANDS බලන්න).

විචල්යය ආකෘතියේ ප්රකාශයක් මගින් පැවරිය හැක

නම = [ වටිනාකම ]

අගය ලබා දී නොමැති නම්, විචල්යය null string ලෙස යොදවනු ලැබේ. සියලු අගයන් ටිල්ඩ් ව්යාප්තිය, පරාමිතීන් සහ විචල්ය ප්රසාරණය, විධාන ආදේශ කිරීම, අංක ගණිත ව්යාප්තිය සහ සවි කිරීම් ඉවත් කිරීම (පහත බලන්න බලන්න). විචල්යය එහි සම්පූර්ණ සංඛ්යා කුලකය සතුව තිබේනම්, අගය ($) ((...)) ප්රසාරණය භාවිතා නොකළහොත් අගය ගණනය කිරීම සඳහා ගණනය කිරීමක් සිදු වේ (පහත ගණනය කිරීම බලන්න). විශේෂ පරාමිතීන් යටතේ පහත දැක්වෙන පරිදි "$ @" හැරුණු විට වචන බෙදී නැත. Pathname ප්රසාරණය සිදු නොවේ. පැවරුම් ප්රකාශයන් ප්රකාශයට පත්කිරීම , වර්ග කිරීම, අපනයනය , කියවීම පමණක් සහ දේශීය ඉදි කිරීම් විධාන සඳහා තර්ක ලෙස දැක්විය හැක.

ස්ථානීය පරාමිතීන්

ස්ථානීය පරාමිතිය යනු තනි අංකයක් හැරුණු විට එක් හෝ ඊට වැඩි සංඛ්යාංකයක් මඟින් දැක්වෙන පරාමිතියකි. එය ආයාචනය කරන විට ශෙලිකාවන්ගේ පරාමිති සිටුවම් පරාමිති පරාමිති, සහ සකසන ලද ආදාන විධානය භාවිතා කළ හැකිය. පරාමිති පරාමිති පැවරුම් ප්රකාශයන් සමඟ නියම කළ නොහැක. ස්ථානීය පරාමිතීන් තාවකාලිකව ප්රතිස්ථාපනය කරන විට shell ක්රියාවිරහිත කර ඇති විට ( FUNCTIONS බලන්න) බලන්න.

තනි ඉලක්කම් වඩා වැඩි සංඛ්යාංකයක් සහිත ස්ථානීය පරාමිතියක් ප්රසාරණය වන විට, එහි ඇති වස්තූන් ( අවපතනයන් බලන්න) බලන්න.

විශේෂ පරාමිති

විෙශේෂෙයන් පරාමිතීන් කිහිපයක් භාවිතා කරයි. මෙම පරාමිතියන් පමණක් සඳහන් කළ හැකිය; ඔවුන්ට පැවරුම අවසර නැත.

*

ස්ථානීය පරාමිතීන් දක්වා පුළුල් වේ. මෙම ප්රසාරණය ද්විත්ව කැල්ටිය තුළ සිදුවන විට, එය IFS විශේෂ විචල්යයේ පළමු අක්ෂරයෙන් වෙන් කරන ලද එක් එක් පරාමිතියෙහි අගය සමඟ තනි වචනයක් දක්වා විහිදේ . එනම් " $ * " යනු " $ 1 c $ 2 c ... " ට සමාන වන අතර, c යනු IFS අගයෙහි අගයේ පළමු අක්ෂරය වේ. IFS අසමත් වුවහොත් පරාමිතීන් අවකාශයෙන් වෙන් කරනු ලැබේ. IFS null නම්, පරාමිතීන් මැදිහත් නොවී ඊට සම්බන්ධ නොවේ.

@

ස්ථානීය පරාමිතීන් දක්වා පුළුල් වේ. මෙම ප්රසාරණය ද්විත්ව උපුටා දැක්වීම තුළ සිදු වන විට, එක් එක් පරාමිතිය වෙනම වචනයක් දක්වා පුළුල් වේ. එනම් " $ @ " යනු " $ 1 " " $ 2 " ට සමාන වේ. ... ස්ථානීය පරාමිතියන් නොමැති විට, " $ @ " සහ $ @ කිසිවක් නොපවතින (එනම්, ඒවා ඉවත් කරනු ලැබේ).

#

දශාංශික ස්ථානවල පරාමිතීන් සංඛ්යාව දක්වා පුළුල් වේ.

?

මෑතකදී ක්රියාත්මක කරන ලද පෙරබහැන් නල මාර්ගයේ තත්වය දක්වා පුළුල් වේ.

-

වත්මන් විකල්පය ධජය මඟින් ආයාචනය කර ඇති පරිදි සකසා ඇති setinin විධානය මඟින්, හෝ shell එක මඟින් සකසන ලද ( -i විකල්පය වැනි) වත්මන් විකල්පය ධජ ප්රසාරණය කරයි.

$

ශෙලැසියේ ක්රියාවලියේ අංකය දක්වා පුළුල් වේ. () අනු subshell තුල, එය වත්මන් කවචයේ ක්රියාකාරී හැඳුනුම දක්වා ව්යාප්ත වේ.

!

මෑත ලෙස ක්රියාත්මක වූ පසුබිම (අසමමිතික) විධානයෙහි ක්රියාකාරී හැඳුනුම් පත දක්වා ව්යාප්ත වේ.

0

ශෙලය හෝ ශෙල් විධානාවලි නාමයට ප්රසාරණය වේ. මෙය සිස්ටම් ආරම්භනය කිරීමට සකසා ඇත. බාහය විධාන ගොනු ගොනුවක් ඇත්නම් නම් $ 0 එම ගොනුවේ නමට සකසා ඇත. Bash ආරම්භයේදී -c විකල්පය සමඟ ආරම්භ වන විට, එවිට 0 ක් තිබේ නම්, string එකක් ක්රියාත්මක කිරීමෙන් පසුව පළමු අගයට $ 0 වේ. එසේ නොමැතිනම්, එය බහක් ලෙස ඇමතීමට භාවිතා කල යුතු ගොනුවේ නම වේ.

_

ෂෙල් ඇරඹුමේදී, විචල්ය ලැයිස්තුව තුල සම්මත කර ඇති shell හෝ විධාන කවුළුව නිරපේක්ෂ ගොනු නාමයට සකසන්න. අනතුරුව, විස්තාරණය කිරීමෙන් පසුව, අවසන් විධාන වලට අවසාන තර්කය දක්වා පුළුල් වේ. තවද එම විධානයට අපනයනය කරන ලද පරිසරයේ තැන්පත් කරන ලද සෑම විධානයක්ම සම්පූර්ණ ගොනු නාමයට සකසා ඇත. තැපැල් පරික්ෂා කිරීමේදී, මෙම පරාමිතිය දැනට පරීක්ෂා කර ඇති ලිපි ගොනුවෙහි නම දරයි.

ෂෙල් විචල්යයන්

පහත දැක්වෙන විචල්යයන් ෂෙල් විසින් සකසනු ලැබේ:

BASH

මෙම බාහයේ ආයාචනය සඳහා භාවිතා කරන සම්පූර්ණ ගොනු නාමය දක්වා පුළුල් වේ.

BASH_VERSINFO

Bash හි මෙම උදාහරණය සඳහා අනුවාදයේ තොරතුරු එහි සාමාජිකයන් විසින් කියවන විවරණ විචල්යයකි. අරාව සාමාජිකයින්ට ලබා දී ඇති අගයන් මෙසේය.

BASH_VERSINFO [ 0]

ප්රධාන අනුවාද අංකය ( නිකුත් කිරීම ).

BASH_VERSINFO [ 1]

සුළු අනුවාද අංකය ( අනුවාදය ).

BASH_VERSINFO [ 2]

පැච් මට්ටම.

BASH_VERSINFO [ 3]

ගොඩනඟන ලද සංස්කරණය.

BASH_VERSINFO [ 4]

නිදහස් තත්ත්වය (උදා: බීටා 1 ).

BASH_VERSINFO [ 5]

MACHTYPE හි වටිනාකම.

BASH_VERSION

Bash හි මෙම උදාහරණයෙහි අනුවාදය විස්තර කරන ශ්රේණියක් දක්වා පුළුල් වේ.

COMP_CWORD

COMP_LINE

වත්මන් විධාන රේඛාව. මෙම විචල්යය ලබා ගත හැක්කේ වැඩසටහන් කවුළුවක ක්රියාත්මක කල හැකි අංග සම්පූර්ණ (shell function) සහ බාහිර විධානයන් සඳහා පමණි (පහත දැක්වෙන Programmable Completion බලන්න) පමණි.

COMP_POINT

COMP_WORDS

අරීය විචල්යය (පහත සඳහන් අරාවා බලන්න) වර්තමාන විධාන රේඛාවේ තනි වචන වලින් සමන්විතය. මෙම විචල්යය ලබා ගත හැකි වැඩසටහන් නිම කළ හැකි උපකරණ මගින් ආවරණය කරන ලද ෂෙල් කාර්යයන් සඳහා පමණි (පහත දැක්වෙන Programmable Completion බලන්න).

ඩර්ස්ටැක්

බහාලුම් විචල්යය (පහත සඳහන් අරාව බලන්න) බහලුමේ ඇති අන්තර්ගතයේ වත්මන් අන්තර්ගතය අඩංගු වේ. ඩීසර් විසින් ප්රදර්ශනය කරන ලද අනුපිළිවෙලෙහි අනුපිළිවෙලවල් තුළ කට්ටල වල දක්නට ලැබේ. මෙම අරාබි විචල්යයේ සාමාජිකයන්ට පැවරීම සඳහා විධාන තුල තිබෙන දැනටමත් තිබෙන නාමාවලි වෙනස් කිරීමට භාවිතා කල හැක, නමුත් pushd සහ popd builtins නාමාවලි සහ ඉවත් කිරීමට භාවිතා කල යුතුය. මෙම විචල්යයට පැවරීම දැනට පවතින බහලුම වෙනස් නොවේ. DIRSTACK නොඑසේ නම්, එය පසුව යළි පිහිටුවීම සිදු වුවද එහි විශේෂ ගුණාංග නැති වේ.

යුරෝපා සංගමයේ

වත්මන් පරිශීලකයාගේ ඵලදායී පරිශීලක හැඳුනුම්පත පිරික්සීමට පටන් ගනී. මෙම විචලතාව කියවනු ලබන්නේ කියවීම පමණි.

FUNCNAME

ඕනෑම වර්තමාන-ක්රියාත්මක කිරීමේ කවචයේ නම. මෙම විචල්යය පවතියි නම් shell එකක් ක්රියාත්මක වන විට පමණි. FUNCNAME සඳහා පැවරුම් හට කිසිදු බලපෑමක් සිදු නොවන අතර දෝෂ සහිත තත්වය නැවත ලබා දෙනු ඇත. FUNCNAME නොසලකා හැර තිබේ නම්, එය පසුව යළි සැකසීමට සිදු වුවද එහි විශේෂ ගුණාංග නැති වේ.

කණ්ඩායම්

වත්මන් පරිශීලකයා සාමාජික කාණ්ඩයේ ලැයිස්තුවක් අඩංගු අරාව විචල්යය. GROUPS වෙත පැවරුම් කිසිදු බලපෑමක් සිදු කර නැති අතර දෝෂ තත්වයක් ආපසු ලබා දෙනු ලැබේ. GROUPS නොසලකා හැර තිබේ නම්, එය පසුව යළි පිහිටුවීම සිදු වුවද එහි විශේෂ ගුණාංග නැති වේ.

HISTCMD

වත්මන් විධාන වල ඉතිහාස අංක හෝ ඉතිහාස ලැයිස්තුවේ දර්ශකය. HISTCMD නොසලකා හැර තිබේ නම්, එය පසුව යළි සැකසීමට සිදු වුවද එහි විශේෂ ගුණාංග නැති වේ.

HOSTNAME

වත්මන් සත්කාරකයේ නම ස්වයංක්රීයව සකසන්න.

HOSTTYPE

බ්ෂ් ක්රියාත්මක කරන යන්ත්රයේ වර්ගය විස්තර කරන්නේ අක්ෂරයකට ස්වයංක්රීයව ය. ප්රකෘතිය යනු පද්ධතිය මත රඳා පවතී.

ලෙනෙනෝ

මෙම පරාමිතිය යොමුකරනු ලබන සෑම අවස්ථාවකදීම, කවුළුවක හෝ ශ්රිතයක් තුළ වත්මන් අනුක්රමික රේඛා අංක (ආරම්භයෙන් 1) නියෝජනය වන දශම සංඛ්යාවක් ආදේශ කරයි. ස්ක්රිප්ට් එකක් හෝ ක්රියාකාරීත්වයක් නොමැති විට, ප්රතිස්ථාපිත අගය අර්ථවත් නොවේ. ලෙනෙනෝ නොකෙරේ නම්, එය පසුව යළි සැකසීමට සිදු වුවද එහි විශේෂ ගුණාංග නැති වේ.

මැක්පේ

සම්මත GNU cpu-company-system ආකෘතියේ, bash ක්රියාත්මක වන පද්ධතියේ පද්ධති වර්ගය සම්පූර්ණයෙන්ම විස්තර කරනු ලබයි. ප්රකෘතිය යනු පද්ධතිය මත රඳා පවතී.

OLDPWD

Cd විධානය මඟින් සකසන ලද පෙර සේවාදායකය .

OPTARG

අවසාන පරාමිත තර්කය වන goopts builtin විධානය මඟින් සකසන ලද විධානය (පහත දැක්වෙන SHELL BUILTIN COMMANDS බලන්න).

OPTIND

පහත දැක්වෙන පරාමිතිය, gopopts builtin විධානය මඟින් සකසා ගත යුතු වේ (පහත දැක්වෙන SHELL BUILTIN COMMANDS බලන්න).

OSTYPE

බෑෂ් ක්රියාත්මක කරන මෙහෙයුම් පද්ධතිය විස්තර කරන string එකක් ස්වයංක්රීයව සකසයි. ප්රකෘතිය යනු පද්ධතිය මත රඳා පවතී.

PIPESTATUS

අරාබි විචල්යය (වඩා පහළින් ක්රියාත්මක කළ පෙරළා ඇති නල මාර්ගයේ ක්රියාවලි වලින් ඇති පිටවන තත්ව අගයන් ලැයිස්තුවක් සහිත පහළ පෙළ බලන්න (තනි ආඥාවක් අඩංගු විය හැකි).

PPID

ෂෙල් ගේ මවගේ ක්රියාදාම අංකය. මෙම විචලතාව කියවනු ලබන්නේ කියවීම පමණි.

PWD

Cd විධානය මඟින් සකසන ලද වත්මන් ක්රියාදාම නාමාවලිය.

රන්දොඩ්

මෙම පරාමිතිය යොමු කරන සෑම අවස්ථාවකදීම 0 සිට 32767 අතර සසම්භාවී පූර්ණ සංඛ්යාවක් උත්පාදනය වේ. අහඹු සංඛ්යා අනුපිළිවෙල RANDOM වෙත අගයක් ලබා දීම මගින් ආරම්භනය කළ හැක. RANDOM නොසලකා හරිනවා නම්, එය පසුව එහි ගුණාංග අහිමි වේ.

පිලිතුරු

තර්ක ඉදිරිපත් නොකෙරෙන විට, කියවන ලද builtin command මඟින් කියවන ලද ආදාන රේඛාවට සකසන්න.

තත්පර

මෙම පරාමිතිය යොමු කරන සෑම අවස්ථාවකදීම, ශෙල් කැඳවීම ආපසු තත්පර ගණනක් ආපසු ලබා දෙනු ලැබේ. SECONDS සඳහා වටිනාකමක් ලබා දෙන්නේ නම්, පසු විචල්යයන් මත නැවත ලබා දෙන අගය වන්නේ පැවරුමෙන් පසුව තත්පර ගණන හා පවරා ඇති අගයය. SECONDS නොඑසේ නම්, එය පසුව නැවත සකසනු ලැබුවද එහි විශේෂ ගුණාංග නැති වේ.

ෂෙලෙප්ට්ස්

සක්රිය ශෙල් විකල්පයන් සඳහා අක්ෂර වෙන් වෙන් ලැයිස්තුවක්. ලැයිස්තුවෙහි ඇති සෑම වචනයක්ම සකසන ලද ආදාන විධානයට -o විකල්පය සඳහා වලංගු විචල්යයකි ( පහත දැක්වෙන SHELL BUILTIN COMMANDS බලන්න). SHELLOPTS හි දැක්වෙන විකල්පයන් set -o විසින් වාර්තා කරන ලද ඒවා වේ. මෙම විචල්යය බෂ් අගයන් ආරම්භ වන විට පරිසරය තුළ තිබේ නම්, ලැයිස්තුවේ එක් එක් ශෙල් විකල්පය සතුව ආරම්භක ගොනු කියවීමට පෙර සක්රීය වේ. මෙම විචල්යය කියවීමට පමණක් හැකි වේ.

SHLVL

Bash අවස්ථාවක් ආරම්භ කරන විට එක් එක් අයුරින් වැඩි කරනු ලැබේ.

UID

වත්මන් පරිශීලකයාගේ පරිශීලක හැඳුනුම්පත දක්වා විහිදේ. මෙම විචලතාව කියවනු ලබන්නේ කියවීම පමණි.

පහත විචල්යයන් ෂෙල් විසින් භාවිතා කරනු ලැබේ. සමහර අවස්ථාවලදී, bash පෙරනිමි අගයක් විචල්යයකට ලබා දෙයි; මෙම අවස්ථා පහත දැක්වේ.

බෑ

මෙම පරාමිතිය bash shell shell එකක් ක්රියාත්මක කරන විට, එහි අගය අගය වන්නේ ~ / .bashrc ලෙස shell එක ආරම්භ කිරීම සඳහා වූ විධාන අඩංගු ගොනු නාමයක් ලෙසය. BASH_ENV අගය පරාමිති ප්රසාරණය, විධාන ආදේශ කිරීම සහ ගොනු අංකයක් ලෙස අර්ථ දැක්වීමට පෙර අංක ගණනය කිරීම සිදු කරයි. ප්රතිඵලයේ ගොනු නාමය සොයාගැනීමට PATH භාවිතා නොවේ.

CDPATH

Cd විධානය සඳහා සෙවුම් මාර්ගය. මෙය cd- command මඟින් නියම කරන ලද ගමනාන්ත නාමාවලියේ පෙනෙන කවුළුවක සොයනු ලබන බහලුම්-වෙන්වූ බහලුම් ලැයිස්තුවකි. නියැදි අගය වන්නේ ".: ~: / Usr".

ෙකොන්ඩු

තෝරාගැනීමේ ලැයිස්තු මුද්රණය කිරීමේදී අවසානයේ පළල පළල තීරණය කිරීම සඳහා තෝරා ගත් ඉරාන විධානය භාවිතා කරයි. SIGWINCH ලැබීමෙන් ස්වයංක්රීයව සකසයි.

සංසන්දනය කරන්න

බාෂිගේ ප්රස්ථාරය මඟින් වැඩසටහන්ගත කල හැකි පහසුකම මඟින් සිලින්ඩරයක් මගින් ජනනය කළ හැකි සම්පුර්ණ සටහන් කියවන්නා විචල්ය විචල්යක් කියයි. (පහත දැක්වෙන Programmable Completion බලන්න).

FCEDIT

Fc builtin විධානය සඳහා ප්රකෘති සංස්කාරකය.

FIGNORE

ගොනු නාමය සම්පූර්ණ කිරීමේදී උපකල්පිත ලැයිස්තුවක් නොසලකා හරින ලද (පහත දැක්වෙන පාඨය බලන්න). FIGNORE හි එක් ඇතුළත් කිරීමක් අනුපිළිවෙලට අනුකූල ගොනු නාමයක් අනුපමරණ නාමලේඛන ලැයිස්තුවෙන් ඉවත් කරනු ලැබේ. නියැදි අගය වන්නේ ".o: ~".

ග්ලෝබෝගෝ

ව්යාංජනාක්ෂරයෙන් වෙන් කරන ලද රටා ලැයිස්තුවේ නාමලේඛන ප්රසාරණය මගින් නොසලකා හැරීම සඳහා ගොනු නාම මාලාවක් සැකසීම. ගමනාගමන ව්යාප්ති රටාවක් අනුපිළිවෙලට අනුකූල නම්, GLOBIGNORE හි එක් රටාවකට ගැලපෙන නම් , එය තරඟ ලැයිස්තුවෙන් ඉවත් කරනු ලැබේ.

හිස්ට්ස්ට්රොල්

Ignorespace අගයක් ලෙස සකසා ඇත්නම් , ඉතිහාස ලැයිස්තුව මත අභ්යවකාශ අක්ෂරයකින් ආරම්භ වන රේඛා ඇතුළත් නොවේ. නොසලකා හරිනු ලැබීම සඳහා අගයක් නම්, අවසන් ඉතිහාස රේඛාවට ගැලපෙන පේළි ඇතුල් කර නැත. විකල්පයන් දෙක එකිනෙකට සම්බන්ධ වී ඇත. නොසලකා හැරියහොත්, ඉහත දැක්වෙන ඒවාට වඩා වෙනත් අගයක් සකසා ඇත්නම්, parser විසින් කියවන සියලු රේඛා ඉතිහාස ලේඛනයේ සුරකින්න, HISTIGN හි අගයට යටත් වේ. මෙම විචල්යය ක්රියාකාරීත්වය HISTIGNORE මඟින් superseded . බහු රේඛා සංයුක්ත විධානයක දෙවන සහ පසුව පේළි පරීක්ෂාවට ලක් නොකෙරේ, HISTCONTROL අගය කුමක් වුවත් ඉතිහාසයට එක් කෙරෙනු ඇත.

හිස්ට්රි

විධාන ඉතිහාසය සුරකින ගොනුවෙහි නම (පහත හිස්ටය බලන්න). පෙරනිමි අගය වන්නේ ~ / .bash_history . නොඑසේ නම්, අන්තර්ක්රියාකාරී ශෙලය අවහිර වන විට විධාන ඉතිහාසය සුරැකීමට නොහැක.

ඉස්මතු විය යුතුය

ඉතිහාස ගොනුවේ අඩංගු උපරිම පේළි ගණන. මෙම විචල්යය අගය ලබා දෙයි නම්, ඉතිහාස ගොනුව අවශ්ය නම්, අවශ්ය නම්, එම පේළි ගණනට වඩා සීමා නොකෙරේ. පෙරනිමි අගය 500 කි. අන්තර්ක්රියාකාරී ශෙලය අවදි විට ඉතිහාස ගොනුව මෙම ප්රමාණයට අකුරු ලියා ඇත.

ඉඥඥ

ඉතිහාස ලැයිස්තුවේ විධාන රේඛා තීරනය කළ යුතු ආකාරය තීරණය කිරීමට භාවිතා කරන ලද රටා වෙන් වූ අක්ෂර ලැයිස්තුවක්. සෑම රටාවකම රේඛාව ආරම්භයේ ඇති අතර සම්පූර්ණ රේඛාවට අනුකූල විය යුතුය. ( * Implicit ' * ' කිසිවක් එකතු නොවේ). HISTCONTROL මඟින් නිශ්චය කර ඇති චෙක්පත් අනුගමනය කිරීමෙන් පසු සෑම රටාවක්ම රේඛාවට එරෙහිව පරීක්ෂා කරනු ලැබේ. සාමාන්ය අක්ෂර අනුරූප ගැලපීමේ අක්ෂරවලට අමතරව ' & ' පෙර ඉතිහාස රේඛාවට ගැලපේ. ' & ' backslash භාවිතා කිරීමෙන් ගැලවිය හැක. තරගය උත්සාහ කිරීමට පෙර backslash ඉවත් කරනු ලැබේ. බහු රේඛා සංයුක්ත විධානයක දෙවන හා පසුව රේඛාවන් පරීක්ෂා නොකෙරේ . HISTIGNORE අගය කුමක් වුවත් ඉතිහාසයට එක් කෙරෙනු ඇත.

හිස්ටයිස්

විධානය ඉතිහාසය තුල මතක තබා ගැනීමට විධාන සංඛ්යාව (පහත හිස්තැනක් බලන්න). පෙරනිමි අගය 500 කි.

ගෙදර

වත්මන් පරිශීලකයාගේ නිවෙස් බහලුම; cd builtin විධානය සඳහා ප්රකෘති පරාමිතිය. මෙම විචල්යයේ අගය ද ටයිල්ඩ් ව්යාප්තිය ක්රියාත්මක කිරීමේ දී භාවිතා වේ.

HOSTFILE

ධාරක නාමයක් සම්පූර්ණ කිරීමට shell සඳහා අවශ්ය වන විට / etc / hosts ලෙස ගොනුවේ නම අඩංගු වේ. ශෙලය ක්රියාත්මක වන විට හැකි ධාරක නාම අනුපිළිවෙල ලැයිස්තුව වෙනස් කළ හැක. ඊලඟ අවස්ථාව ධාරක නාමය සම්පූර්ණ කිරීමෙන් පසුව වෙනස්කම් සිදුකිරීමට උත්සහ කරනු ලබන අතර, බාෂි නව ගොනුවේ අන්තර්ගතය දැනට පවතින ලැයිස්තුවට එක් කරයි. HOSTFILE පිහිටුවා තිබේ නම්, නමුත් එහි වටිනාකමක් නැතිනම්, bash විසින් / etc / hosts කියවීමට උත්සාහ කළ හැකි ධාරක නාම සම්පූර්ණ කිරීම් ලැයිස්තුවක් ලබා ගැනීමට උත්සාහ කරයි. HOSTFILE නොසලකා හරින විට, ධාරක නාම ලැයිස්තුව නිදහස් වේ.

අයිඑස්එස්

පුළුල් කිරීෙමන් පසුව වචන කියවීම සඳහා ෙයොදා ගන්නා ලද අභ්යන්තර ෙක්ෂේත Separator සහ කියවන ලද විධාන පථය සමඟ වචන ෙර්ඛා ෙවන් කිරීම . පෙරනිමි අගය වන්නේ `` ''.

IGNOREEOF

එකම ආදාන ලෙස EOF චරිතයක් ලැබීම මත අන්තර්ක්රියාකාරී ශෙලයක් ක්රියා කිරීම පාලනය කරයි. සැකසුනු නම්, මෙම අගය EOS සංක්ෂිප්ත අකුරු ගණන වන අතර bash exits පෙර ආදාන රේඛාවේ පළමු අක්ෂර ලෙස ටයිප් කළ යුතුය. විචල්යය පවතියි නම්, සංඛ්යාත්මක අගයක් නොමැති නම් හෝ එහි වටිනාකමක් නැතිනම්, පෙරනිමි අගය 10 වේ. එය නොපවතී නම්, EOF shell එකට ආදානය අවසන් කිරීම සලකුනු කරයි.

ඇතුල්වීම

~ / .inputrc හි පෙරනිමි අගය කියවීමේ ආරම්භක ගොනුව සඳහා වන ගොනු නාමය (පහත කියවන්න කියවන්න බලන්න).

LANG

LC_ වලින් ආරම්භ වන විචල්යයක් සහිතව විශේෂිතව තෝරා නොගත් ඕනෑම වර්ගීකරණයක් සඳහා කලාප ප්රවර්ගය තීරණය කිරීම සඳහා භාවිතා කරනු ලැබේ .

LC_ALL

LANG සහ වෙනත් ඕනෑම LC_ විචල්යයක් ස්ථානීය ප්රවර්ගයක් සඳහන් කරමින් මෙම විචල්යය අළුත් වෙයි .

LC_COLLATE

මෙම විචල්යය පේළි නාමය ප්රසාරණය කිරීමේදී භාවිතා කරන සංසන්දන පිළිවෙත තීරණය කරයි, රේඛීය ප්රකාශයන්, සමානත්ව පන්ති සහ අනුයාත ව්යාප්තිය සහ අනුරූප ගැලපුම තුල අනුකමණ අනුක්රමණ වල හැසිරීම තීරණය කරයි.

LC_CTYPE

මෙම විචල්යය මඟින් පේළි නාමයේ ව්යාප්තිය සහ අනුපිළිවෙල අනුපිලිවෙල තුළ අක්ෂර වින්යාසය සහ චරිත පන්තීන්ගේ හැසිරීම තීරණය වේ.

LC_MESSAGES

මෙම විචල්යය මඟින් ඩොලර් ට පෙර දෙවරක් උපුටාගත් නලයන් පරිවර්තනය කිරීමට භාවිතා කරන ලද පෙදෙස තීරණය කරයි.

LC_NUMERIC

මෙම විචල්යය සංඛ්යා හැඩතල ගැන්වීම සඳහා භාවිතා කරන ලද වර්ගීකරණ කාණ්ඩය තීරණය කරයි.

ලයින්ස්

මුද්රිත තේරීම් ලැයිස්තු සඳහා තීරු දිග තීරණය කිරීම සඳහා තේරූ තේරූ තේරූ විධානය භාවිතා කරයි. SIGWINCH ලැබීමෙන් ස්වයංක්රීයව සකසයි.

MAIL

මෙම පරාමිතිය ෆයිල්ස් නමක් ලෙස සකසා ඇත්නම් සහ MAILPATH විචල්යය සකසා නොමැතිනම්, බාෂිගත කරන ලද ගොනුවේ තැපැල් පැමිණෙන පරිශීලකයා දැනුම් දෙයි.

MAILCHECK

බොහෝවිට (තත්පර වලින්) තැපැල් සඳහා බාස් චෙක්පත් නියම කරයි. පෙරනිමි තත්පර 60 කි. තැපැල් සඳහා පරික්ෂා කිරීමට කාලය එළඹෙන විට, shell විසින් ප්රාථමික විමසුමක් ප්රදර්ශනය කිරීමට පෙර එය සිදු කරයි. මෙම විචල්යය නොගැලපේ නම් හෝ ශුන්යයකට හෝ ඊට වැඩි ගණනක් නොවන අගයක් සකසා ඇත්නම්, කවුළුව තැපැල් පිරික්සීම අබල කරයි.

MAILPATH

ලිපිගොනු සඳහා චෙක්පත් වෙන් කරන ලද ගොනු නාමලේඛන ලැයිස්තුවක්. කිසියම් ගොනුවක් තුළ තැපෑලෙන් පැමිණෙන විට පණිවිඩය මුද්රණය කළ යුතු පණිවුඩය '' 'පණිවිඩයෙන් ෆයිල්ස් නාමය වෙන් කර දැක්විය හැකිය. පණිවුඩයේ පාඨයෙහි භාවිතා කරන විට, $ _ වර්තමාන තැපැල් ගොනුවේ නමට ව්යාප්ත වේ. උදාහරණයක්:

MAILPATH = '/ var / mail / bfox? "ඔබට තැපැල් තිබේ: ~ / shell-mail?" $ _ Mail! "'

Bash මෙම විචල්යය සඳහා පෙරනිමි අගයක් සපයයි, නමුත් එය භාවිතා කරන පරිශීලක තැපැල් ලිපිගොනු පද්ධති මත පදනම් වේ (උදා / / var / mail / $ USER ).

OPTERR

1 අගයට සකසා ඇත්නම්, bash මඟින් පිටපත් කරන ලද ආම්පන්න විධාන මඟින් ජනනය කරන ලද දෝෂ පණිවුඩයන් පෙන්වයි (පහත දැක්වෙන SHELL BUILTIN COMMANDS බලන්න). OPTERR ආරම්භ කරනු ලබන්නේ shell එකට එක් වරක් හෝ ෂෙල් ස්ක්රිප්ට් එකක් ක්රියාත්මක කිරීමයි.

මාර්ගය

විධානයන් සඳහා සෙවුම් මාර්ගය. විධාන පුවරු සෙවීමට සොයනු ලබන බහලුම් ලැයිස්තුවක් ( කොමන්ඩ් ක්රියාත්මක කිරීම බලන්න). ප්රකෘති මාර්ගය පද්ධති-මත රඳා පවතී, එය bash ස්ථාපනය කරන පරිපාලකයා විසින් සකසනු ලැබේ. පොදු අගය වන්නේ `` / usr / gnu / bin: / usr / local / bin: / usr / ucb: / bin: / usr / bin :. ''.

POSIXLY_CORRECT

මෙම විචල්යය bash ආරම්භ වූ විට, ආරම්භක ගොනු කියවීම පෙර පොසිටු ප්රකාරය තුලට පිවිසෙනු ඇත, --posix ආයාචන විකල්පය ලබා දී ඇත. Shell එක ක්රියාත්මක වන අතර, bash මඟින් posix මාතයට සක්රිය වේ නම්, විධාන සකසනය -o posix ක්රියාත්මක කරන ලදි.

PROMPT_COMMAND

සකසා ඇත්නම්, එක් ප්රාථමික විමසුමක් නිකුත් කිරීමට පෙර විධානයක් ලෙස විධානයක් ලෙස ක්රියාත්මක වේ.

PS1

මෙම පරාමිතියෙහි අගය ප්රසාරණය වී ඇත (පහත වැටීම බලන්න) සහ ප්රාථමික පිවිසුමක් ලෙස භාවිතා කරනු ලැබේ. පෙරනිමි අගය වන්නේ `` \ s- \ v \ $ ''.

PS2

මෙම පරාමිතියෙහි අගය PS1 ලෙස ප්රසාරණය වන අතර ද්විතීයික විමසුමක් ලෙස භාවිතා කරනු ලැබේ. පෙරනිමිය වන්නේ `` > ''.

PS3

මෙම පරාමිතියෙහි අගය තේරීම් විධානය සඳහා විමසීමක් ලෙස භාවිතා කරනු ලැබේ (ඉහත බලන්න ෂෙල් ග්රැම්මැම් බලන්න).

PS4

මෙම පරාමිතියෙහි අගය PS1 ලෙස ප්රසාරණය වී ඇති අතර එක් එක් විධානයක් bash ප්රදර්ශන ක්රියාවලියේදී පෙන්වනු ලැබේ. PS4 හි පළමු චරිතය විවිධාකාර වූ දර්ශන පෙන්වීම සඳහා අවශ්ය වන පරිදි, කිහිපවරක්ම නැවත උත්පාදනය කර ඇත. පෙරනිමිය වන්නේ `` + ''.

TIMEFORMAT

මෙම පරාමිතියෙහි අගය භාවිතා කරන ලද වචනය සමග උපසර්ග කරන ලද කාල පරාසයන් සඳහා වන කාල පරාසයන් පෙන්විය යුතු ආකෘතියක string ලෙස යොදාගත යුතුය. % අක්ෂරයේ වේගය හෝ වෙනත් තොරතුරු දක්වා ව්යාප්ත වන escape අනුක්රමයක් හඳුන්වා දෙයි. බේරුම් අනුපිළිවෙලවල් සහ ඒවායේ අර්ථයන් පහත පරිදි වේ. වරහන් විකල්ප අමතර කොටස්.

%%

සාමාන්ය % කි .

% [ p ] [l] ආර්

තත්පරයේ ගත වූ කාලය.

% [ p ] [I] U

පරිශීලක ප්රකාරයේදී වැය වූ CPU සංඛ්යාව.

% [ p ] [l] S

පද්ධති ප්රකාරයේ වැය වූ CPU සංඛ්යාව.

% පී

CPU ප්රතිශතය, ගණනය කරන ලද්දේ (% U +% S) /% R.

වෛකල්පිත p යනු දශම ලක්ෂයකට පසුව භාගික සංඛ්යා නිරවද්යතාව නිරූපණය කරන අංකයකි. 0 හි අගයක් නොතිබීම සඳහා දශම ස්ථාන හෝ දශමයක් නිපදවීමට හේතු වේ. දශමස්ථානයෙන් පසුව ස්ථාන තුනකටම නියම කළ හැකිය; 3 ට වඩා වැඩි p අගයන් වෙනස් වේ. 3. p නියම කර නොමැත නම්, අගය 3 භාවිතා වේ.

විකල්ප 1 , MM MM SS ආකෘතියේ මිනිත්තු ඇතුලත දීර්ඝ ආකෘතියක් සඳහන් කරයි. FF s. P හි අගය එහි ප්රතිඵලය අඩංගු වේද යන්න තීරණය වේ.

මෙම විචල්යය නොලැබුනහොත්, bash ක්රියාකරනුයේ එහි අගය $ '\ nreal \ t% 3lR \ nuser \ t% 3lU \ nsys% 3lS' ලෙසය. අගය නිෂ්චිත නම්, කාල රහිත තොරතුරු ප්රදර්ශනය නොවේ. ආකෘති පේළිය දර්ශනය වන විට අළුත් අළුත් ලයිස්තුවක් එකතු වේ.

ටීඑම්ඕ

ශුන්යයට වඩා වැඩි අගයක් සකසා ඇත්නම්, කියවනය සඳහා කියනු ලබන ප්රකෘති කල්ඉකුත්වීම ලෙස TMOUT සැලකේ. ටොමෝට් ටොමෝට් එකකට පසුව ආදානය එළඹෙන විට, ආදාන විධානය අවසන් නොවේ. අන්තර්ක්රියාකාරී ශෙලයක් තුල, ප්රාථමික විමසුම නිකුත් කිරීමෙන් පසුව ආදාන සඳහා රැඳී සිටීමට තත්පර අංකයක් ලෙස අර්ථ දැක්වේ. බාහු එළඹෙන්නේ නැතිනම් තත්පර ගණනක් බලා සිටීමෙන් පසුව එය අවසන් වේ.

auto_resume

මෙම විචල්යය මඟින් පරිශීලකයා සහ රැකියා පාලනය සමඟ ශෛලය ක්රියා කරන ආකාරය පාලනය කරයි. මෙම විචල්යය සකසා ඇත්නම්, නැවත හරවා යැවීමකින් තොරව සරල විධානයක් දැනට පවතින නැවතුම්පළ නැවත ආරම්භ කිරීමට අපේක්ෂකයන් ලෙස සැලකේ. කිසිදු අසමගියක් ඉඩ දී නැත; ටයිප් කර ඇති එක් අකුරකට වඩා වැඩිපුර රැකියා තිබේ නම්, මෑතකදී ප්රවේශ වූ කාර්යය තෝරා ඇත. නැවැත්වූ රැකියාවක නම , මෙම සන්දර්භය තුළ, එය ඇරඹීමට භාවිතා කරන විධාන රේඛාව වේ. නිශ්චිතව දක්වා ඇති වටිනාකමට අනුව, සැපයූ පෙළ සැපයූ විට නතර කළ යුතු කාර්යය සමානයි; උපපිටුව සඳහා සකසා ඇත්නම්, නතර කළ රැකියාවක නමේ උපස්ථරයක් අනුපිලිවෙලට සැපයිය යුතුය. උපපරිමාන අගය මගින් %% ට සමාන වේ. රැකියා හැඳුනුම්පත (පහත දැක්වෙන JOB CONTROL බලන්න). වෙනත් ඕනෑම අගයක් නියම කළහොත්, සැපයූ නූඩ් එක නතර කළ නඩුවේ නමක් විය යුතුය; මෙය % රැකියා හැඳුනුම්පතට සමාන වේ.

හිස්කාර්ස්

ඉතිහාසය ප්රසාරනය සහ ලකුණු කිරීම (පාලනයන්) හුවා දක්වයි. පළමු චරිතය වන්නේ ඉතිහාසය පුළුල් කිරීමේ චරිතය, ඉතිහාසය ව්යාප්තියේ ආරම්භය සංඥා කරන චරිතය, සාමාන්යයෙන් ය ! '. දෙවන අක්ෂරය යනු ක්ෂණික ආදේශන චරිතය වන අතර, පෙර විධානය නැවත ක්රියාත්මක කිරීම සඳහා ක්රමවේදය ලෙස භාවිතා කරනු ලැබේ. ප්රකෘති වන්නේ ' ^ '. අත්යවශ්ය තුන්වන අක්ෂරය යනු අක්ෂරයේ ඉතිරි කොටස සාමාන්ය වචනයක් වන අතර, සාමාන්යයෙන් ' # ' යනුවෙන් දැක්වෙන අක්ෂරයක් ලෙස දැක්වේ. ඉතිහාස විවේචන චරිතය රේඛාවෙහි ඇති ඉතිරි වචන සඳහා ඉතිහාසයෙන් ආදේශ කිරීම සඳහා මඟ හැරිය හැක. අක්ෂර වින්යාස විස්තර කිරීමක් ලෙස ඉතිරි රේඛාව සලකනු ලබන්නේ shell විකිපීඩකය අනිවාර්යයෙන්ම නොවේ.

ආරේස්

බෂ් එක්-මාන වර්ගී විචල්යයන් සපයයි. ඕනෑම විචල්යයක් අරාවක් ලෙස භාවිතා කළ හැක. ප්රකාශයට පත් කරන ලද ප්රකාශය විශේෂිතව අරාව ප්රකාශ කරනු ඇත. අරාවක ප්රමාණය මත උපරිම සීමාවක් නැත, සාමාජිකයන් සුචිගත කිරීම හෝ අනුකලනය නොකළ යුතුය. අරේස් නිඛිල සංඛ්යා භාවිතා කර සුචිය පදනම් වේ.

කිසියම් විචල්යයක් යොදනුයේ syntax නාමය භාවිතා කිරීම සඳහා වූ අරාව ස්වයංක්රීයවම නිර්මාණය කර ඇත. යටකුරක් ශුන්යයට හෝ ඊට වඩා වැඩි ගණනකට ඇගයීමක් කළ යුතු ගණිත ප්රකාශනයක් ලෙස සලකනු ලැබේ. නිශ්චිත වශයෙන් අරාව ප්රකාශ කිරීම සඳහා, declare -a නම භාවිතා කරන්න (පහත දැක්වෙන SHELL BUILTIN COMMANDS බලන්න). ප්රකාශයට පත් කිරීම - නම [ යටකුරක් ] ද පිළිගනු ලැබේ; යටකුර නොසලකා හරිනු ලැබේ. ප්රකාශ සහ කියවීමට පමණක් සෑදූ විට භාවිතා කරන ලද විචල්යයන් සඳහා ලක්ෂණ ඇරුත දැක්විය හැක. එක් එක් ආතරය සමූහයේ සියලුම සාමාජිකයන්ට අදාළ වේ.

ආකෘති නාමයේ ඇති සංයුක්ත පැවරුම් භාවිතා කිරීමට Arrays = ( අගය 1 ... අගය n ) , එක් එක් අගය ආකෘතියේ [ indexcript ] = string වේ. පමණක් අවශ්ය වේ. විකල්ප වරහන් සහ යටිකුරු සැපයුම් කර ඇත්නම්, එම දර්ශකය නියම කර ඇත; එසේ නොවුවහොත්, නියම කරන ලද මූලද්රව්යයේ දර්ශකය වන්නේ ප්රකාශය මගින් එකතු කරන ලද අවසාන දර්ශකයයි. දර්ශකය ශුන්ය වේ. මෙම උපභාෂාව ප්රකාශයට පත් කරන ලද ප්රකාශනය විසින් පිළිගනු ලැබේ. තනි අයුරින් අක්ෂර මූලද්රව්යයන් [උපභාෂා] = ඉහත සඳහන් ආදේශක උපයෝගීතාව භාවිතා කිරීම සඳහා යොදවනු ලැබේ.

අළුත්වැඩියා නොකරන ලද ආකරය අරා විනාශ කිරීමට භාවිතා වේ. නුසුදුසු නාමයක් [ යටකුරක් ] මඟින් දර්ශක අනුපිළිවෙලෙහි අරාව අංගය විනාශ කරයි. නෝට්ටුවක් යනු * හෝ @ යනු @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

ප්රකාශ කිරීම , ප්රාදේශීය සහ කියවීමට පමණක් ගොඩනගනු ලබන සෑම අයෙකුටම එක්තරා අරාවක් නියම කිරීමට -a විකල්පයක් පිළිගනී. කියවනය කරන ලද ආදාන අග්රය වෙත කියවන වචන ලැයිස්තුවක් ලබා දීම සඳහා -a විකල්පයක් පිළිගනී. සැකසීම් සහ ප්රකාශනය කර ඇති ඇරිසීම් අගයන් නැවත භාවිතා කිරීමට ඉඩ සලසනු ඇත.

ව්යාප්තිය

විස්ථාපනය කරනු ලබන්නේ විධාන රේඛාවේදී එය වචනවලට බෙදීමෙන් පසුවය. ව්යාප්ති වර්ග 7 ක් ඇත: බ්රේඩ්ස් ප්රසාරණය , ටයිල්ඩ් ව්යාප්තිය , පරාමිතීන් සහ විචල්ය ප්රසාරණය , විධාන ආදේශ කිරීම , ගණිත ව්යාප්තිය , වචන බෙදි කිරීම සහ පේළි නාම ව්යාප්තිය .

පුළුල් කිරීම් අනුපිළිවෙල වන්නේ: බ්රේඩ්ස් ප්රසාරණය, ටිල්ඩ් ප්රසාරණය, පරාමිතිය, විචල්යය සහ ගණිත ව්යාප්තිය සහ විධාන ආදේශනය (වමේ සිට දකුණේ විලාසිතාවකින්), වචන බෙදී යාම, සහ මාර්ග නාම ව්යාප්තිය.

එයට සහාය විය හැකි පද්ධති මත, අතිරේක ප්රසාරණයක් පවතී: ක්රියාවලිය ආදේශ කිරීම .

Brace ව්යාප්තිය

බ්රේස් ප්රසාරණය යනු අත්තනෝමතික අච්චු නිර්මාණය විය හැකි යාන්ත්රණයක්. මෙම යාන්ත්රණය pathname ප්රසාරණයට සමාන වේ, නමුත් උත්පාදනය කරන ලද ගොනු නාමයන් නොතිබිය යුතුය. විස්තාරණය කළ හැකි මෝස්තරයන්, විකල්ප අනිවාර්ය අංගයක් වන ආකෘති පත්රයක් අනුගමනය කරනු ලැබේ. ඉන් අනතුරුව කොමාවකින් වෙන් කරන ලද නූල් මාලාවක් අනුගමනය කළ යුතුය. ප්රස්ථාරය ප්රලේඛන තුළ ඇති එක් එක් ශ්රේණියක් සඳහා උපසර්ගයක් වන අතර පදාර්ථය එක් එක් ප්රතිඵලයට අනුව එක් කළ යුතු අතර, වමේ සිට දකුණට පුලුල් වේ.

බ්රේස් විස්තාරණයට උඩුගත කළ හැකිය. එක් එක් ප්රසාරිත ශ්රේණියේ ප්රතිඵල නොගැලපේ; වමේ සිට දකුණට හරවා තබා ඇත. නිදසුනක් ලෙස, { d, c, b } e 'ade ace abe' ලෙස ව්යාප්ත වේ.

බ්රේස් ප්රසාරණය වෙනත් කිසියම් ප්රසාරණයකට පෙර සිදු කරනු ලබන අතර අනෙකුත් පුළුල් කිරීම් වලට විශේෂිත වූ ඕනෑම චරිතයක් ප්රතිඵලය තුළ සංරක්ෂණය කර ඇත. එය දැඩි ලෙස පාඨමය. Bash ප්රසාරණය හෝ පාඨය අතර ඇති අකුරු සඳහා කිසිදු ප්රමිති අර්ථ දැක්වීමක් අදාළ නොවේ.

මෙම ඉදි කිරීම් සාමාන්යයෙන් උපුටා ගත් උපකරණයක් ඉහත උදාහරණයට වඩා දිගු වන විට කෙටි කාලසීමාව ලෙස යොදා ගනී.

mkdir / usr / local / src / bash / {පැරණි, නව, dist, bugs}

හෝ

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

බ්රේස් ප්රසාරනය Sh හි ඓතිහාසික අනුවාදයන් සමග සුළු නොගැලපීමක් ඇති කරයි. ෂය වචනවල කොටසක් ලෙස පෙනී සිටින විට විශේෂයෙන් විශේෂයෙන් විවෘත හෝ වසා දැමීමේ වරහන් සමඟ ක්රියා නොකරයි. බ්ස්ඩ් බ්රේස් ප්රසාරණය හේතුවෙන් ප්රතිවිරෝධතා ඉවත් කිරීම. නිදසුනක් ලෙස, ගොනුව ලෙස {1,2} ලෙසට sh යන්නට ඇතුලත් කළ වචනය ප්රතිදානය එක සමාන වේ. එකම වචනය බෑෂ් විසින් ප්රසාරණය කිරීමෙන් පසුව file1 file2 ලෙස නිපදවයි . Sh සමග දැඩි අනුකූලතාව අපේක්ෂා කළහොත්, + B විකල්පය සමඟ ආරම්භ කරන්න හෝ සකසා තිබෙන ආම්පන්නය සඳහා + B විකල්පය සමඟ අක්රීය කර බ්රේක්ස් ප්රසාරණය ආරම්භ කරන්න (පහත දැක්වෙන SHELL BUILTIN COMMANDS බලන්න).

ටිල්ඩ් ව්යාප්තිය

වචනයක් නොකිටි ලෙස ටයිල්ඩ් චරිතයකින් ( ~ ~ ') ආරම්භ වන්නේ නම්, පළමු නොවන අනුක්රමික ඇඹරීමට පෙර අක්ෂර සියල්ල (හෝ සියලු අක්ෂර, ඇමිණුම් නොකෙරෙන ඇල ඉරක් නොමැති නම්) ටිල්ඩ්-උපසර්ගයක් ලෙස සැලකේ. Tilde-prefix හි අක්ෂර කිසිවක් ලැයිස්තුගත නොකෙරේ නම්, ටිල්ඩාව අනුගමනය කළ ටිල්ඩ්-උපසර්ගය තුළ ඇති විය හැකි අක්ෂර පිවිසුම් නාමය ලෙස සලකනු ලැබේ. මෙම පිවිසුමේ නම null string නම්, tilde යනු shell පරාමිතියෙහි අගය සමඟ ප්රතිස්ථාපනය කරයි. HOME නොඑසේ නම්, පරිශීලකයාගේ නිවේශන නාමාවලිය වෙනුවට ආදේශ කරනු ලැබේ. එසේ නොමැති නම්, ටිල්ඩේ-උපසර්ගය සඳහන් කරන ලද පිවිසුම් නාමයට සම්බන්ධ වන නිවෙස් බහලුම සමඟ ආදේශ කරනු ලැබේ.

Tilde-prefix '~ +' නම් විචල්ය විචල්ය PWD අගය ටිල්ඩ්-උපසර්ගය වෙනුවට වේ. Tilde-prefix '~' නම්, එය සකසනු ඇත්නම්, shell විචල්යය OLDPWD අගය ආදේශ කරනු ලැබේ. Tilde-prefix ටිල්ඩා අනුලකුණු අනුලකුණ සමන්විත වන්නේ අංක N , විකල්පයක් ලෙස `+ 'හෝ' - 'මගින් උපසර්ගයක් නම්, tilde-prefix ප්රදර්ශනය වන පරිදි අදාල සංරචකය සමඟ අනුස්ථිත මූලද්රව්යය සමඟ ප්රතිස්ථාපනය කරනු ලැබේ. තර්ඩ්-උපසර්ගය සමග තර්කයක් ලෙස උපුටා ගත් ඩීර් විසින්. ටිල්ඩ්-උපසර්ගයේ ටිල්ඩාව අනුගමනය කරන අක්ෂර නම් ප්රමුඛතම `+ 'හෝ` -', `+ 'අංකයක් අඩංගු වේ.

පිවිසුම් නාමය වලංගු නැතිනම්, ටයිල්ඩ් ප්රසාරණය අසමත් වුවහොත්, වචනය වෙනස් නොවේ.

එක් එක් විචල්ය පැවරුම වහාම අනුගමනය නොකරන ලද tilde-prefixes සඳහා : හෝ = . මෙම අවස්ථාවන්හි දී ටිල්ඩ් ව්යාප්තිය ද සිදු කෙරේ. මෙහි ප්රතිඵලයක් ලෙස, PATH , MAILPATH සහ CDPATH වලට පැවරුම් වලදී tildes සමඟ ගොනු නාම භාවිතා කළ හැකි අතර, කවුළුව පුළුල් කළ අගය ලබා දෙයි.

පරාමිතිය පුළුල් කිරීම

' $ ' අක්ෂරය පරාමිතීය ව්යාප්තිය, විධාන ආදේශ කිරීම හෝ ගණිතමය ව්යාප්තිය හඳුන්වා දෙයි. පුළුල් කළ යුතු පරාමිති නාමය හෝ සංකේතය, විකල්පයන් වන අතර එය විස්ථාපනය කර ඇති විවරණ නාමයෙන් කොටසක් ලෙස අර්ථ දැක්විය හැකිය.

බ්රාට්ස් භාවිතා කරන විට, ගැලපෙන අවසන් අග්රය යනු පළමු ` } 'backslash හෝ උපුටා ගත කොටුවක් තුලින් නොගැලපෙන අතර එය ආදි ගණිතමය ව්යාප්තිය, විධාන ආදේශ කිරීම හෝ පැරාමර් ප්රසාරණය ඇතුළත නොවේ.

පරාමිතියේ අගය ආදේශ කෙරේ. පරාමිතිය යනු එක් සංඛ්යාවක් වැඩි සංඛ්යාවක් සහිත ස්ථානීය පරාමිතියක් වන අතර, පරාමිතිය අනුගමනය කළ විට එහි නමේ කොටසක් ලෙස අර්ථ දැක්වීමට නොවේ.

පහත සඳහන් එක් එක් සිද්ධිවලදී, වචන ටිල්ඩ් ව්යාප්තියට, පරාමිතිය ප්රසාරණය, විධාන ආදේශ කිරීම හා ගණනය කිරීම සිදු කෙරේ. උපපිටු ප්රසාරණය ක්රියාත්මක නොකළ විට, බාස්ෂ් අසමසම හෝ නොවූ පරාමිතිය සඳහා පරීක්ෂණ කරයි; කර්නලය ඉවත් නොකරන පරාමිති සඳහා පමණක් පරීක්ෂණයක් සිදු වේ.

පෙරනිමි අගයන් භාවිතා කරන්න . පරාමිතිය නොසලකා හැර හෝ නොඑසේ නම්, වචනය පුළුල් කිරීම ආදේශ වේ. එසේ නොමැති නම් පරාමිතියෙහි අගය ආදේශ කරනු ලැබේ.

ප්රකෘති අගයන් පැවරීම . පරාමිතිය නොසලකා හැරීම හෝ null කිරීම නම්, වචනයෙහි ප්රසාරණය පරාමිතිකයන්ට පවරනු ලැබේ. පරාමිතියේ අගය ආදේශ කෙරේ. ස්ථානීය පරාමිති සහ විශේෂ පරාමිති මේ ආකාරයෙන් පවරනු නොලැබේ.

Null හෝ Unset නම් දෝෂ පෙන්වීම . පරාමිතිය null හෝ නොඑසේ නම්, වචනයේ ප්රසාරණය (හෝ වචනයක් නොමැති නම් එම පණිවිඩය සඳහා පණිවුඩයක්) සම්මත දෝෂයට ලියා ඇති අතර එය ශෛලියක්, එය අන්තර්ක්රියාකාරි නොවන නම් පිටවෙයි. එසේ නොමැති නම් පරාමිතියෙහි අගය ආදේශ කරනු ලැබේ.

විකල්ප අගය භාවිතා කරන්න . පරාමිතිය null හෝ නොඑසේ නම්, කිසිවක් ආදේශ නොවේ නම්, එසේ නොවේ නම් වචනය පුළුල් කිරීම ආදේශ වේ.

IFS විශේෂ විචල්යයේ පළමු අක්ෂරයෙන් වෙන් කරන ලද පෙරනිමි නාමයෙන් නම් කරන ලද විචල්යයන්ගේ නම් දක්වා පුළුල් වේ.

පරාමිතික අගයෙහි අක්ෂරවල දිග ප්රමාණය ආදේශ කෙරේ. පරාමිතිය යනු * හෝ @ , ආදේශ කරනු ලබන අගය වන්නේ ස්ථානීය පරාමිතීන් සංඛ්යාව වේ. පරාමිතිය යනු * හෝ @ විසින් සංකේතාකිත අරා නාමයක් නම්, ආදේශ කරනු ලබන අගය වන්නේ අරය තුළ ඇති මූලද්රව්ය සංඛ්යාව.

විස්තීර්ණ ප්රසාරණය කිරීමේ දී මෙන් රටාවක් නිර්මාණය කිරීම සඳහා මෙම වචනය පුළුල් වේ. රටාව පරාමිතයේ අගය ආරම්භයේ නම්, ප්රස්ථාරයේ ප්රතිඵල යනු කෙටිම ගැලපුම් රටාව (පරාමිතයේ අනුපිළිවෙල) (හෝ `` # '') හෝ දිගුකාලීන ගැලපුම් රටාව ('` ## ' 'නඩුව' මකාදමා ඇත. පරාමිතිය @ හෝ * නම් , අනුක්රමයේ එක් එක් ස්ථානීය පරාමිතිය සඳහා අනුක්රමණය ඉවත් කිරීමේ ක්රියාවලිය යෙදිය යුතු අතර, ප්රසාරණය වන්නේ ප්රතිපලයයි. පරාමිතිය වන්නේ @ හෝ * සමඟ ආකෘති විචල්යයක් ඇති නම්, අනුක්රමයේ එක් එක් සාමාජිකයා වෙත අනුක්රමණය ඉවත් කිරීමේ ක්රියාවලිය යෙදිය යුතු අතර, එම ප්රසාරණය වන්නේ ප්රතිපලයයි.

විස්තීර්ණ ප්රසාරණය කිරීමේ දී මෙන් රටාවක් නිර්මාණය කිරීම සඳහා මෙම වචනය පුළුල් වේ. පරාමිතිය ප්රසාරණය වූ පරාමිතියේ අත්වැරදීමක අනුපිලිවෙලට ගැලපෙන විට, ප්රස්ථාරයේ ප්රතිඵලය කෙටිතම ගැලපීමේ රටාව (පරාවර්තන පරාමිතිය) (`` % '' සිද්ධිය) හෝ දිගම අනුරූ රටාව (`` % % "" සිද්ධිය) මකාදමා ඇත. පරාමිතිය @ හෝ * නම් , අනුක්රමයේ එක් එක් ස්ථානීය පරාමිතිය සඳහා අනුක්රමණය ඉවත් කිරීමේ ක්රියාවලිය යෙදිය යුතු අතර, ප්රසාරණය වන්නේ ප්රතිපලයයි. පරාමිතිය වන්නේ @ හෝ * සමඟ ආකෘති විචල්යයක් ඇති නම්, අනුක්රමයේ එක් එක් සාමාජිකයා වෙත අනුක්රමණය ඉවත් කිරීමේ ක්රියාවලිය යෙදිය යුතු අතර, එම ප්රසාරණය වන්නේ ප්රතිපලයයි.

ව්යාංජනාක්ෂරයේ ව්යාප්තියේ දී මෙන් රටාව ආදර්ශයක් ද වර්ධනය වේ. පරාමිතිය පුලුල් කර ඇති අතර එහි වටිනාකමට වඩා දිගුතම අනුපිළිවෙල රේඛාව මඟින් ආදේශ කරනු ලැබේ. පළමු ස්වරූපය තුල පළමු තරඟය පමණක් ප්රතිස්ථාපනය වේ. දෙවන ආකෘතිය සෑම රටකදීම තරඟ මාලාව වෙනුවට ආදේශ කරනු ලැබේ. රටා # සමඟ ඇරඹුනේ නම් , එය පරාමිතයේ ප්රසාරිත අගයේ ආරම්භයේදී එය ගැලපේ. රටා % ආරම්භය නම්, පරාමිතයේ ප්රසාරිත අගය අවසානයේ එය ගැලපේ. පේළිය null නම්, රටාවේ රටා මකා දමනු ලබන අතර / පහත සඳහන් රටාව අතුගා දැමිය හැක. පරාමිතිය @ හෝ * නම් , ප්රතිස්ථාපන ක්රියාමාර්ගය එක් එක් ස්ථානීය පරාමිතිය සඳහා යොදනු ලැබේ, සහ ව්යාප්තිය ප්රතිඵලයක් වන ලැයිස්තුවකි. පරාමිතිය යනු @ හෝ * සමඟ ආවරණය කරන ලද අරා විචල්ය නම්, අරාවෙහි එක් එක් සාමාජිකයා සඳහා ආදේශන ක්රියාවලිය යෙදිය යුතු අතර, ප්රසාරණය යනු ප්රතිපලයයි.

අණ ආදේශනයක්

විධාන ආදේශනය වෙනුවට විධාන ආදේශනය මඟින් විධානයක් ප්රතිස්ථාපනය කිරීමට ඉඩ දෙයි. ආකාර දෙකකි:

$ ( විධානය )

හෝ

' විධානය '

Bash විධානය ක්රියාත්මක කිරීමෙන් විස්ථාපනය සිදුකරන අතර, විධානයන් හි සම්මත නිමැවුම් සමඟ විධාන ආදේශනය වෙනුවට ආදේශ කිරීම සිදු කරයි. ස්ථාපිත නව පේළිය මකා නොදමනු ඇත, නමුත් වචන බෙදීමේදී ඒවා ඉවත් කළ හැක. විධාන ආදේශන $ (cat ගොනුව ) විස්ථාපනය කළ හැකි නමුත් වේගවත් $ (< file ) ආදේශ කරන්න .

පැරණි ආකාරයේ ආදේශක ප්රතිමූර්ත ස්වරූපයක් භාවිතා කරන විට, backslash අනුගමනය කරනු ලබන්නේ $ , ` , හෝ \ ' අනුගමනය කිරීමෙන් මිස එහි සත්ය අර්ථය නොවේ. Backslash මඟින් විධානයක් ආදේශනය අවසන් නොවේ. $ ( විධානය ) ආකෘතිය භාවිතා කරන විට, වරහන් අතර ඇති සියලු අක්ෂර එම විධානය සෑදී ඇත; කිසිවෙකු විශේෂයෙන් සැලකිලිමත් නොවේ.

විධාන ආදේශ කිරීම් සමහර විට උඩුගත කළ හැක. ආපසු කැඳවූ ආකෘතිය භාවිතා කරන විට කූඩුව කඩා ගැනීම සඳහා, backslashes සමඟ අභ්යන්තර backquotes ගලවා ගැනීම.

ආදේශන ද්විත්ව උපුටා දක්වනු ලැබේ නම්, වචන බෙදීම සහ මාර්ග නාම ව්යාප්තිය ප්රතිඵල මත සිදු නොවේ.

අන්යොරිමිතියේ ව්යාප්තිය

ගණිතමය ව්යාප්තිය ගණනය කිරීම සහ ප්රතිඵලය ප්රතිස්ථාපනය කිරීම සඳහා ඉඩ ලබා දේ. අංක ගණිතකරණයේ ආකෘතිය වන්නේ:

$ (( ප්රකාශනය ))

මෙම ප්රකාශය ද්විත්ව උපුටා දක්වා ඇති බව සැලකිල්ලට ගනු ලැබුවද, නමුත් වරහන් තුල ද්විත්ව ප්රකාශයක් විශේෂයෙන් සැලකිය නොහැක. ප්රකාශනයේ සියලු තක්සේරු පරාමිතීන් ප්රසාරණය, ශ්රේණිය ප්රසාරණය, විධාන ආදේශ කිරීම සහ සෙවුම් ඉවත් කිරීම වලට ලක් වේ. අංක ගණිත ආදේශයන් උකහා ගත හැකිය.

ඇරිස්ටැටික් ඇගයීම යටතේ ලැයිස්තුගත කර ඇති නීති වලට අනුව ඇගයීම සිදු කරනු ලැබේ . ප්රකාශය වලංගු නොවේ නම්, බාෂි අසමත්ව ඇති බව පෙන්නුම් කරන පණිවිඩයක් මුද්රණය කිරීම හා කිසිදු ආදේශකයක් සිදු නොවේ.

ක්රියාවලිය ආදේශන

විවෘත ලිපි ගොනු කිරීම සඳහා නම් කරන ලද පයිප්ප ( FIFOs ) සහ / dev / fd ක්රමයට අනුකූල වන පද්ධති මත ක්රියාවලි ආදේශ කිරීම සඳහා සහාය වේ. එය <( ලැයිස්තුව ) හෝ > ( ලැයිස්තුගත ) ආකාරයෙන් සිදු වේ. ක්රියාවලි ලැයිස්තුවේ FIFO හෝ වෙනත් / dev / fd ගොනුවකට සම්බන්ධ වූ එහි ආදාන හෝ ප්රතිදාන වේ. මෙම ගොනුවෙහි නම වත්මන් විධාන සඳහා ප්රස්තුතයක් ලෙස ප්රසාරණය වීමේ ප්රතිඵලයක් ලෙසින් සම්මත වේ. >> ( ලැයිස්තු ) ආකෘතිය භාවිතා කරන්නේ නම්, ගොනුව වෙත ලිවීම ලැයිස්තුව සඳහා ආදාන සපයනු ලැබේ. <( ලැයිස්තුව ) ආකෘතිය භාවිතා කරන්නේ නම්, ලැයිස්තුවක් ලෙස ඉදිරිපත් කරන ලද ගොනුව ලැයිස්තුවේ නිමැවුම් ලබාගැනීම සඳහා කියවිය යුතුය.

ලබා ගත හැකි විට, පරාමිතිය හා විචල්ය ප්රසාරණය, විධාන ආදේශ කිරීම හා ගණනය කිරීම් සමග සමාන්තරව ක්රියාවලි ආදේශ කිරීම සිදු කරයි.

වචන බෙදීම

ෂෙල් මගින් පරාමිතික ව්යාප්තිය, විධාන ආදේශන සහ වචන බෙදී යාම සඳහා ද්විත්ව වාක්යයන් තුළ සිදු නොවූ ගණිත ප්රසාරණයන්ගේ ප්රතිඵල පරීක්ෂා කරයි.

ෂෙල් එකේ එක් එක් අක්ෂර සලකුණු කරන්නා ලෙස සලකනු ලබන අතර අනෙක් විස්තාරනයන් මෙම අක්ෂරවල වචනවලට බෙදෙයි. IFS නොඑසේ නම්, හෝ එහි අගය හරියටම , පෙරනිමියෙන්, IFS අක්ෂර වල අනුපිළිවෙල ඕනෑම වචනයක් සීමා කිරීමට භාවිතා කරයි. IFS පෙරනිමි අගය හැර වෙනත් අගයක් තිබේ නම්, වලාකුළු අකුරු අවකාශය සහ ටැබය තුළ අනුපිළිවෙලවල් පෙළේ ආරම්භයේ සහ අවසානයේ නොතිබෙන අතර IFSP හි අගය ( IFS whitespace character) වල අරුත ඇති අතර එහි අරුතින් ඇතිවන අක්ෂර වල අගයන් ඇත. අයිඑස්එස් හි වස්තු නොතිබෙන ඕනෑම චරිතයක් සමඟ, ඕනෑම යාබද IFS වපන්වා ලයිල් සහිත ඕනෑම ක්ෂේත්රයක්, ක්ෂේත්රය සීමා කරයි. IFS වපන්වා ලයිස්තුවේ අනුපිළිවෙලක් ද පරිසීමකය ලෙස සලකනු ලැබේ. IFS වල අගය නිෂ්චිත නම්, වචන බෙදීමක් සිදු නොවේ.

නිරවද්ය null පරාමිති ( "" හෝ "" ) රඳවා තබා ගනී. අගයන් නොමැතිව පරාමිතයන් ප්රසාරණය වීමෙන් ප්රතිඵල ඉවත් නොකෙරුනු implicit null argument. කිසිඳු අගයයක් නොමැති පරාමිතිය ද්විත්ව වාක්යයන් තුළ ප්රසාරණය වන්නේ නම්, null තර්කය ප්රතිඵලය හා රඳවා තබා ගනී.

කිසිදු ප්රසාරණයක් සිදුවන්නේ නම්, කිසිදු බෙදී යාමක් සිදු නොකෙරේ.

Pathname ව්යාප්තිය

වචන බෙදීමෙන් පසුව, -f විකල්පය සකසා නොමැති නම්, bash චරිත සඳහා සෑම වචනයක්ම ස්කෑන් කරයි ,? සහ [ . මෙම අක්ෂරවලින් එකක් දර්ශණය වන්නේ නම්, එම වචනය රටාවක් ලෙස සලකනු ලැබේ, ආකෘතියට අනුරූපී වන අකාරාදී පිළිවෙලට අනුපිළිවෙලින් ගොනු නාම ලැයිස්තුවක් ආදේශ කරනු ලැබේ. ගැලපෙන ගොනු නාම සොයාගත නොහැකි නම්, සහ shell විකල්පය nullglob අක්රිය කර ඇත්නම් , වචනය වෙනස් නොවේ. Nullglob විකල්පය සකසා ඇත්නම්, කිසිම තරඟයක් හමු නොවිනි , එම වචනය ඉවත් කරනු ලැබේ. Shell විකල්පය nocaseglob සක්රිය කර ඇත්නම්, අක්ෂර අක්ෂර මාලාව සම්බන්ධයෙන් නොතකා තරගය සිදු කරනු ලැබේ. පේළි නාම ව්යාප්තියක් සඳහා රටාවක් භාවිතා කරන විට, නමේ ආරම්භයේ හෝ ක්ෂනිකව ඇලවීමෙන් අනුක්රමය අනුපිළිවෙලට අනුකූලව ``. '' අකුරු අනුචිතව දැක්විය යුතුය . විධාන නාමයක් ගැලපෙන විට, ස්ලයිෂ් චරිතය නිරවද්යව ගැලපේ. වෙනත් අවස්ථාවලදී, ``. '' චරිතය විශේෂයෙන් සලකනු නොලැබේ. Nocaseglob , nullglob සහ dotglob shell විකල්පය පිළිබඳ විස්තර සඳහා SHELL BUILTIN COMMANDS යටතේ සාප්පු විස්තරය බලන්න.

ග්ලෝබන්ගර් විචල්ය විචල්යය රටාවක් ගැලපෙන ගොනු නාම වල සීමා කිරීම සඳහා යොදාගත හැක. GLOBIGNORE සකසා ඇත්නම්, GLOBIGNORE හි එක් රටාවකට අනුරූප කරන සෑම ගැලපෙන ගොනු නමක්ම තරඟ ලැයිස්තුවෙන් ඉවත් කරනු ලැබේ. GLOBIGNORE සැකසූ විට ගොනු නාමයන් ``. '' සහ `.. .. ' සෑම විටම නොසලකා හරිනු ඇත. කෙසේ වෙතත්, GLOBIGNORE සතුව dotglob shell විකල්පය සක්රිය කර ඇති බැවින්, එය ''. '' සමඟ ආරම්භ වන අනෙකුත් ගොනු නාම වලට ගැලපෙනු ඇත. ''. '' සමඟ ආරම්භයේ ගොනු නාමයන් නොසලකා හැරීමට පැරණි හැසිරීම ලබා ගැනීම සඳහා, ''. * '' '' '' '' GLOBIGNORE '' වලින් එකක් ලබා ගන්න . GLOBIGNORE නොකෙරෙන විට dotlock විකල්පය අක්රීය කර ඇත.

මෝස්තරය ගැලපීම

පහත දැක්වෙන විශේෂ අනුක්රමික චරිත හැරුණු විට වෙනත් රටාවක් දක්නට ලැබේ. NUL චරිතයක් රටාවක් නොතිබිය හැකිය. විශේෂිත චරිත අක්ෂර වලින් ඒවා ව්යුත්පන්න කළ යුතුය.

විශේෂිත අක්ෂරවල පහත සඳහන් අර්ථයන් ඇත:

*

Null ශ්රේණියක් ඇතුළු ඕනෑම ශ්රේණියක් එයට ගැලපේ.

?

ඕනෑම එක් චරිතයකට ගැලපේ.

[...]

ආවෘත චරිත කිසිවක් සමඟ ගැලපේ. යා ඉරක් මඟින් වෙන් කරන ලද අක්ෂර ගණනක් පරාසයක ප්රකාශනයකි ; වත්මන් පෙදෙසෙහි අනුක්රමණ අනුක්රමය හා අනුලකුණු සැකසුම භාවිතා කර ඇති මෙම අක්ෂර දෙක අතර ඇති ඕනෑම අනුලකුණු අනුලකුණකට සමාන වේ. අනුගමනය කළ පළමු චරිතය නම් a ! හෝ a ^ නොඑකෙරෙන ඕනෑම චරිතයක් සමානයි. රේඛීය ප්රකාශයන්හි අක්ෂර වර්ග අනුපිළිවෙල තීරණය වන්නේ නම් දැනට පවත්නා ස්ථානය සහ LC_COLLATE අග්රයේ විචල්යය අගය තීරණය කරයි. A - එය කට්ටලයේ පළමු හෝ අවසාන අක්ෂරය ලෙස එය ඇතුල් කිරීම මගින් අනුකූල විය හැකිය. A ] කට්ටලයේ පළමු අක්ෂරය ලෙස එය ඇතුලත් කරගත හැක.

[ සහ ] ඇතුළත, සංකේතාත්මක පන්ති භාවිතා කර [[ class :]] , පන්තිය පහත දැක්වෙන පංති වලින් එකක් POSIX 2 හි නිශ්චිතව දක්වා ඇත:

alnum alpha ascii හිස් cntrl අංකිත ග්රැෆ්රික් පහළ මුද්රණය අනිත්ය ඉඩ xdigit ඉහළ වචනය
චරිත පන්තිය එම පන්තියට අයත් ඕනෑම චරිතයකට ගැලපෙයි. අකුරු පංතියේ අකුරු, ඉලක්කම් සහ චරිතය සමඟ ගැළපේ.

[ සහ ] ඇතුලත, සමානත්වයේ පන්තිය ආදේශකයක් භාවිතා කළ හැක [= c =] , අක්ෂර c ලෙසම එකම සංසන්දන බර සහිත (වර්තමාන පෙදෙසින් අර්ථ දක්වා ඇති පරිදි) අනුපිළිවෙලින් නිශ්චිතව දැක්විය හැක.

[ හා ] ඇතුළත [. සංකේතය ] සංසන්දනය කිරීමේ සංකේත සංකේතවලට ගැලපෙයි.

වෙළඳසැල් ගොඩනඟන ලද extlinob shell විකල්පය සක්රිය නම්, විස්තාරිත අනුක්රමික ක්රියාකරුවන් කිහිපයක් පිළිගනු ලැබේ. පහත දැක්වෙන විස්තරය, රටා ලැයිස්තුවක් යනු එක් හෝ වැඩි ගණනක් විසින් වෙන් කරන ලද රටාවන් ලැයිස්තුවකි . පහත සඳහන් උප-රටාවන්ගෙන් එකක් හෝ කිහිපයක් භාවිතා කිරීමෙන් සංයුක්ත රටා සෑදිය හැකිය.

? ( රට-ලැයිස්තුව )

දෙන ලද රටාවන් හි ශුන්යය හෝ එක් සිදුවීමක් දක්නට ලැබේ

* ( රට-ලැයිස්තුව )

දෙන ලද රටාවන්හි ශුන්ය හෝ ඊට වැඩි අවස්ථාවන්ට අදාල වේ

+ ( රට-ලැයිස්තුව )

දෙන ලද රටාවන් එකකට හෝ වැඩි ගණනකට සමාන වේ

@ ( රට-ලැයිස්තුව )

දෙන ලද රටාවන් හරියටම සමාන වේ

( රට-ලැයිස්තුව )

දෙන ලද රටාවන් හැරුණු විට අන් කිසිවකටත් ගැලපේ

ඉවත් කිරීම

කලින් පුළුල් කිරීම් වලින් පසුව, ඉහත එක් පුළුල් කිරීම් වලින් ප්රතිඵලයක් නොලද අක්ෂර \ , ' , සහ අක්ෂරවල සියළු ලැයිස්තුගත නොලැබෙන සිදුවීම් ඉවත් කරනු ලැබේ.

ප්රතිසංස්කරණය

විධානයක් ක්රියාත්මක කිරීමට පෙර, එහි ආදානය සහ ප්රතිදානය යළිත් යොමු කෙරෙනු ඇත. වත්මන් shell ක්රියාත්මක කිරීමේ පරිසරය සඳහා ගොනු විවෘත කිරීම හා වසා දැමීම සඳහා ද හරවා යැවිය හැක. පහත දැක්වෙන හරවාසි ක්රියාත්මක කරන්නන් හට සරල විධානයක් තුළ ඕනෑම ස්ථානයක පූර්වාපේක්ෂා හෝ පෙන්විය හැක, හෝ විධානයක් අනුගමනය කළ හැකිය. වමේ සිට දකුණට දක්වනු ලබන පිළිවෙළ අනුව නැවත හරවා යැවෙනු ඇත.

පහත දැක්වෙන විස්තර වල, ගොනු විස්තර අංකය අහෝසි කර තිබේ නම්, සහ විචල්යකරුගේ පළමු චරිතය < , නැවත යොමු කිරීම සම්මත ආදාන (ගොනු විස්තරය 0) වේ. ප්රතිවර්ථන ක්රියාකරුගේ පළමු චරිතය > නම් , ප්රතිදානය යොමු වන්නේ සම්මත ප්රතිදානය (ගොනු විස්තරය 1) වේ.

පහත දැක්වෙන විස්තරයන්හි ප්රතිවර්ථන ක්රියාකරු පහත දැක්වෙන අරුත, බ්රිස්ස් ප්රසාරණයට, ටයිල්ඩ් ප්රසාරණය, පරාමිතීක ප්රසාරණය, විධාන ආදේශ කිරීම, අංක ගණිත ව්යාප්තිය, උඩුගත කිරීම් ඉවත් කිරීම, පේළි නාම ව්යාප්තිය සහ වචන බෙදීමේ යෙදීම් වලට යටත් වේ. එය එක් වචනයකට වඩා වැඩි නම්, බෂ් දෝෂයක් වාර්තා කරයි.

Redirection අනුපිළිවෙල සැලකිය යුතු බව සලකන්න. උදාහරණයක් ලෙස, විධානය

ls > dirlist 2 > & 1

සම්මත නිමැවුම් හා සම්මත දෝෂය ගොනු dirlist වෙත යොමු කරයි, while විධානය

ls 2 > & 1 > dirlist

සම්මත ප්රතිදානය ධ්රැවීකරණයට යොමු කිරීමට පෙර සාමාන්ය සම්මතය ලෙස සම්මත දෝෂය ද්විතියික ලෙස සකස් කරන ලදි, මන්ද සම්මත කර්නලය සඳහා පමණක් සම්මත නිමැවුම් යොමු කරයි.

බෂ් පහත දැක්වෙන වගුවේ විස්තර කර ඇති ආකාරයට ඒවා භාවිතා කරන විට ඒවා විශේෂිත ලෙස ගොනු නාමයන් හසුරුවයි.

/ dev / fd / fd

Fd යනු වලංගු පූර්ණ සංඛ්යාවක් නම්, ගොනු විස්තරය fd දෙපිටකාට්ටු වේ.

/ dev / stdin

ගොනු විස්තරය 0 ද්විත්වයි.

/ dev / stdout

ගොනු විස්තරය 1 ද්විතියයි.

/ dev / stderr

2 වන පිටපතේ ගොනු ද්විතියිකයි.

/ dev / tcp / host / port

ධාරක වේ වලංගු ධාරක නම හෝ අන්තර්ජාල ලිපිනය වේ නම්, සහ port යනු පූර්ණ සංඛ්යා ප්රොටෝකන අංකය හෝ සේවා නාමයක්, bash TCP සම්බන්ධතාවය අදාල සොකට් වලට විවෘත කිරීමට උත්සහ කරයි.

/ dev / udp / host / port

ධාරකයේ වලංගු ධාරක නමක් හෝ අන්තර්ජාල ලිපිනයකි නම් සහ වරාය පූර්ණ සංඛ්යා ප්රොටොකෝලය හෝ සේවා නාමය නම්, bash UDP සම්බන්ධතාවය අදාල සොකට් වලට විවෘත කිරීමට උත්සාහ කරයි.

ගොනුව විවෘත කිරීම හෝ නිර්මාණය කිරීම අසමත්වීම නිසා ප්රතිවර්තනය අසමත් විය.

ආදාන යොමු කිරීම

ආදාන ප්රතිවර්තනය කිරීම හේතු කොට ගෙන එහි ගොනු විස්තරය n කියවීම සඳහා විවෘත කරන ලද වචන ප්රසාරණයෙන් ප්රතිඵලයක් වන ගොනුව හෝ n යන්න නියම නොකෙරේ නම් සම්මත ආදාන (ගොනු විස්තරය 0) වේ.

ආදාන යොමු කිරීම සඳහා පොදු ආකෘතිය වන්නේ:

[ n ] < වචනය

ප්රතිදානය යොමු කිරීම

ප්රතිදාන ප්රතිවර්තනය කිරීම හේතු කොට ගෙන නමින් ලිපියක් ලියන ලෙස ලියන ලද අකුරේ ප්රසාරණය නිසා හෝ n නිශ්චය නොකළහොත් සම්මත නිමැවුම් (ගොනු විස්තරය 1) ප්රතිඵලය වේ. ගොනුව නොමැති නම් එය නිර්මාණය වේ; එය පවතියි නම් එය ශුන්ය ප්රමාණය දක්වා කපා ඇත.

ප්රතිදානය යොමු කිරීමේ සාමාන්ය ආකෘතිය වන්නේ:

[ n ] > වචනය

ප්රතිවර්ථන ක්රියාකරු > වූ අතර, සැකසූ අනුපිළිවෙලට noclobber විකල්පය සක්රිය කර තිබේ නම්, වචනයේ ප්රසාරණයෙන් ලැබෙන නමේ ඇති ගොනුව සාමාන්යයෙන් ගොනුවක් වන අතර, ප්රතිවර්තනය අසමත් වනු ඇත. අධිවේගී ක්රියාකරු>> | , නැතහොත් හරවා යැවීමේ මෙහෙයුම>> සහ සකසන ලද ආදාන විධානයට noclobber විකල්පය සක්රිය කර නොමැති අතර, වචනයෙන් ලිපිගොනුව නම් නම් යලි යොමු කිරීම උත්සාහ කරනු ලැබේ.

යොමු කෙරුණු ප්රතිදානය යොමු කිරීම

මෙම ආකෘතියේ ප්රතිදානය නැවත පරිවර්තනය කිරීම සඳහා වන ගොනු විස්තරය n , හෝ සම්මත ප්රතිදානය (ගොනු විස්තරය 1) නියම කර නොමැති නම්, එහි නමට නමක් ඇති ගොනුවක් වේ. ගොනුව නොමැති නම් එය සෑදේ.

නිමැවුම සඳහා සාමාන්ය ආකෘතිය වන්නේ:

[ n ] >> වචනය

සම්මත ප්රතිදාන සහ සම්මත දෝෂය යළි හරවා යැවීම

Bash සම්මත නිමැවුම් (ගොනු විස්තරය 1) හා සම්මත දෝෂය ප්රතිදාන (ගොනු විස්තරය 2) යන දෙකම සඳහා ඉඩ දෙයි. මෙම ගොඩනැගිල්ලේ ඇති වචනය පුළුල් කිරීම සඳහා ගොනුව වෙත යොමු කෙරෙනු ඇත.

සම්මත නිමැවුම් හා සම්මත දෝෂය යළි හරවා යැවීම සඳහා ආකෘති දෙකක් ඇත:

&> වචනය

සහ

> වචනය

මෙම ආකාර දෙකෙන් පළමුවැන්න කැමති වේ. මෙය සමාලෝචිතව සමාන ය

> වචනය 2 > & 1

මෙන්න ලියකියවිලි

මෙම වර්ගයේ ප්රතිවර්තනයක් වත්මන් මූලාශ්රයෙන් ආදානය කියවීමට ෂර්ට් උපදෙස් දෙයි. වචනයක් පමණක් අඩංගු වන රේඛාව (පේලි නොකැපීම) සහිත පේළියක් දක්නට ලැබේ. එම ස්ථානයට කියවන ලද සියලු රේඛාවන් පසුව විධානයක් සඳහා සම්මත ආදාන ලෙස භාවිතා කරනු ලැබේ.

මෙහි ලේඛන ආකෘතිය:

<< [ - ] මෙන්න වචනයක් - ලියකියමක්

පරාමිතීය ප්රසාරණය, විධාන පරාමිතිය, අංක ගණිත ව්යාප්තිය හෝ ව්යාකරණ ප්රසාරණය වචනයක් මත සිදු නොවේ. වචනයේ කිසියම් චරිතයක් උපුටා ඇත්නම්, සීමා මායිම වදන් ලිවීමෙහි ප්රතිඵලයක් වන අතර, මෙහි ලේඛනවල පේළි පුළුල් කර නැත. වචනය නොකෙරුණු නම්, මෙහිදී මෙහි ලේඛනයේ සියළු රේඛාවන් පරාමිතීය ව්යාප්තිය, විධාන ආදේශ කිරීම හා ගණනය කිරීම් වලට යටත් වේ. අන්තිම අවස්ථාවෙහි චරිත අනුපිළිවෙල \ නොසලකා හරින අතර, චරිතය \ , $ , සහ අක්ෂර උපුටා දැක්වීම සඳහා භාවිතා කල යුතුය.

ප්රතිවර්ථන ක්රියාකරු << - , එවිට සියලු ප්රධාන ටැප් අක්ෂර ඇතුලත් කිරීමේ රේඛාවන්ගෙන් සහ සීමාවන් අඩංගු පේළියකින් ඉවත් කරනු ලැබේ. මෙය ශෛල අක්ෂර වින්යාසය තුළ ස්වාභාවික මාදිලියකින් ඇණහිටිය හැකි වේ.

මෙන්න කණ්ඩි

මෙහි ලේඛනවල ප්රභේදයක් වන ආකෘතිය:

<<< වචනය

මෙම වචනය ප්රසාරණය කර එහි සම්මත ආදානය මත විධානය වෙත ලබා දී ඇත.

අනුපිටපත් ගොනු විස්තරය

අධිවේගී ක්රියාකරු

[ n ] < වචනය

ආදාන ගොනු විස්තර කිරීම් පිටපත් කිරීමට භාවිතා කරයි. වචනයක් එක් හෝ ඊට වැඩි සංඛ්යාවක් දක්වා ව්යාප්ත වුවහොත්, n විසින් දක්වන ලද ගොනු විස්තරය එම ගොනු විස්තරයේ පිටපතක් බවට පත් කරනු ලැබේ. වචනයේ ඉලක්කම්වලට ආදාන සඳහා විවෘත වන ගොනු විස්තරයක් නොකෙරේ නම්, නැවත යොමු කිරීමේ දෝශය ඇති වේ. වචනය ඇගයීම සඳහා - , ගොනු විස්තරය n වසා ඇත. N නියම කර නොමැති නම්, සම්මත ආදාන (ගොනු විස්තරය 0) භාවිතා වේ.

ක්රියාකරු

[ n ] > වචනය

එලෙසම ප්රතිදාන ගොනු අනුක්රමයේ අනුපිටපත් සඳහාද යොදා ගනී. N නියම කර නොමැති නම්, සම්මත ප්රතිදානය (ගොනු විස්තරය 1) භාවිතා වේ. වචනයේ ඉලක්කම් නිමැවුම් සඳහා විවෘත වන ගොනු විස්තරයක් නොකෙරේ නම්, නැවත යොමු කිරීමේ දෝශය ඇති වේ. විශේෂිත නඩුවක් ලෙස, n වසා දමා ඇත්නම්, වචනය එක් හෝ වැඩි ගණනක් දක්වා ව්යාප්ත නොවේ නම්, සම්මත නිමැවුම සහ සම්මත දෝෂය පෙර පරිදි විස්තර කෙරී ඇති පරිදි යලි යොමු කෙරෙනු ඇත.

පිටපත් ගොනු විස්තරය

අධිවේගී ක්රියාකරු

[ n ] <සහ ඉලක්කම් -

n විස්තරාත්මක මට්ටමේ ගොනු විස්තරයක් හෝ ගොනු සම්මත විස්තරය (ගොනු විස්තරය 0) නියම කර ඇත. අංකයට n සිටුවීමෙන් පසු සංඛ්යාතය වසා ඇත.

ඒ හා සමානව, ප්රතිවර්ථන ක්රියාකරු

[ n ] > සහ ඉලක්කම් -

n විස්තරාත්මක මට්ටමේ ගොනු විස්තරයක් හෝ ගොනු සම්මත විස්තරය (ගොනු විස්තරය 1) නියම කර නොමැත.

කියවීම සහ ලිවීම සඳහා ලිපිගොනු සකස් කිරීම

අධිවේගී ක්රියාකරු

[ n ] <> වචනය

ගොනු නාමයේ පිටපත් කියවීම සහ ලිවීම සඳහා විවෘත කරන ලද වචනයක ප්රසාරණය වන ගොනුවක් වන අතර, හෝ n යන්න නියම නොකෙරේ නම් හෝ ගොනු විස්තරය 0 මත වේ. ගොනුව නොමැති නම්, එය සාදනු ලැබේ.

ඇලියස්

සරල විධානයක පළමු වචනය ලෙස එය භාවිතා කරන විට වචනයකට වචනයකට ආදේශ කරනු ලැබේ. ශෙලරය අන්වර්ථ සහ අනේයානුකුලව ආඥාපනත සමඟ සැකසිය හැකි අන්වර්ථ නාම ලැයිස්තුවක් පවත්වා ගෙන යයි ( SHELL BUILTIN COMMANDS බලන්න) බලන්න. එක් විධානයක පළමු වචනය, නොකිටින්නේ නම්, එය අන්වර්ථයක් තිබේ දැයි බැලීමට එය පරික්ෂා කර ඇත. එසේ නම්, එම වචනය අන්වර්ථයේ පෙළ වෙනුවට ප්රතිස්ථාපනය වේ. අන්වර්ථ නාමයෙන් සහ ආදේශන පෙළට වලංගු ශෙල් ඇතුලත් කිරීමේදී, ඉහතින් ලැයිස්තු ගත කර ඇති ධජ ප්රභේඛන ඇතුළු අන්වර්ථ නාමය අඩංගු විය නොහැකිය. ආදේශන පාඨයේ පළමු වචනය අන්වර්ථයන් සඳහා පරීක්ෂා කරනු ලැබුවද, නමුත් විස්තාරනය කරන ලද අන්වර්ථයක් සමාන වන වචනයක් දෙවන වරටත් පුළුල් නොවේ. මෙයින් අදහස් වන්නේ, උදාහරණයක් ලෙස, ls -F ලෙස හැඳින්විය හැකි බවය, සහ බාෂා වෙනුවට ප්රතිස්ථාපන පාඨය විස්ථාපනය කිරීමට උත්සාහ නොකරයි. අන්වර්ථ වටිනාකමේ අවසන් අක්ෂරය හිස්ව තැබුවහොත් අන්වර්ථය අනුගමනය කරන ඊළඟ විධානය වන වචනය අන්වර්ථ ව්යාප්තිය සඳහාද පරික්ෂා කර ඇත.

අන්වර්ථයන් උත්ශ්රේණි විධානය සමඟ ලැයිස්තුගත කොට, අවිධිමත් විධාන සහිතව ඉවත් කරනු ලැබේ.

ආදේශන පෙළ සඳහා තර්ක භාවිතා කිරීම සඳහා යාන්ත්රණයක් නැත. පරාමිතියන් අවශ්ය නම්, shell ක්රියාවලියක් භාවිතා කළ යුතුය (පහත දැක්වෙන FUNCTIONS බලන්න).

Shell_name shell එකේ සාප්පුව භාවිතා කර නොමැති වුවහොත් shell එකක් අන්තර්ක්රියාකාරි නොවන විට අන්වර්ථයන් පුළුල් නොවේ. ( SHELL BUILTIN COMMANDS යටතේ සාප්පුවේ විස්තරය බලන්න.)

අන්වර්ථයන් නිර්වචනය හා භාවිතය පිළිබඳ නීති සමහරක් අවුල් සහගත ය. Bash සෑම විටම සම්පූර්ණ රේඛාව අවම වශයෙන් එක් පේළියක කියවෙන්නේ එම රේඛාවේ ඇති විධානයන් ක්රියාත්මක කිරීමට පෙරය. විධානය කියවන විට, අන්වර්ථයන් ක්රියාත්මක වන විට එය නොලැබේ. එබැවින්, අළුත් පෙළේ ආචයනය කියවනු ලබන තෙක් වෙනත් විධානයක් තුල ඇති පේළියෙහි අන්වර්ථ නිර්වචනය ක්රියාත්මක නොවේ. එම රේඛාවේ අන්වර්ථ නිර්වචනය අනුගමනය කරන විධාන නව අන්වර්ථය විසින් බලපාන්නේ නැත. කර්තව්යයන් ක්රියාත්මක වන විට මෙම හැසිරීම ද ප්රශ්නයක් වේ. ශ්රිත නිර්වචනය කියවනු ලබන විට අන්වර්ථයන් ප්රසාරණය වේ, ශ්රිතය ක්රියාත්මක වන විට නොවේ, ශ්රිත නිර්වචනයක්ම සංයුක්ත විධානයකි. ප්රතිඵලය වශයෙන්, එම ශ්රිතය ක්රියාත්මක කිරීමෙන් පසුව, ශ්රිතයෙහි අර්ථ දක්වා ඇති අන්වර්ථයන් නොමැත. ආරක්ෂිත වීමට නම්, වෙනම රේඛාවක් මත අන්විට නිර්වචන යොදන්න , සංයුක්ත විධාන තුල අන්වර්ථය භාවිතා නොකරන්න.

සෑම ප්රයෝජනයක් සඳහාම, අන්වර්ථයන් ෂෙල් කාර්යයන් මගින් අධිස්ථාපනය වී ඇත.

කාර්යයන්

SHELL GRAMMAR යටතේ ඉහත විස්තර කරන ලද අර්ථ දැක්වුණු ශෙල් ශ්රිතයක්, පසුව ක්රියාත්මක කිරීම සඳහා විධානයන් මාලාවක් ගබඩා කරයි. කවුළුවක නම සරල විධාන නාමයක් ලෙස භාවිතා කරනු ලබන විට, එම ක්රියාකාරී නාමයට සම්බන්ධ වූ විධාන ලැයිස්තුව ක්රියාත්මක වේ. වත්මන් කවචයේ සන්දර්භය තුළ කාර්යයන් ක්රියාත්මක වේ; ඒවා අර්ථ දැක්වීම සඳහා නව ක්රියාවලියක් නිර්මාණය කෙරෙනු ඇත (මෙය shell කවුළුවක් ක්රියාත්මක කිරීම සමඟ සසඳන්න.) ශ්රිතයක් ක්රියාත්මක වන විට, කාර්යය සඳහා පරාමිතීන් එය ක්රියාත්මක කිරීමේදී ස්ථානීය පරාමිතීන් බවට පත්වේ. වෙනස් කිරීම පිළිබිඹු කිරීමට විශේෂ පරාමිති යාවත්කාලීන වේ. ස්ථානීය පරාමිති 0 වෙනසක් නැත. ශ්රිතය ක්රියාත්මක වන විට FUNCNAME විචල්යය ශ්රිතයේ නමට සකසා ඇත. ෂෙල් ක්රියාත්මක කිරීමේ පරිසරයේ අනෙකුත් සියළු අංගයන් ශ්රිතයක් හා එහි අමතන්නා අතර සමාන වන අතර DEBUG උගුල ( හැර පහත දැක්වෙන SHELL BUILTIN COMMANDS යටතේ ඇති උගුලේ විස්තරය බලන්න) එහි කර්තව්යය ටැම් ඇමුණුම ලබා දී නොමැති නම් එය උරුම නොවේ පහත සඳහන් විස්තරය විස්තර කරන්න.

කාර්යය සඳහා දේශීයව විචල්යයන් දේශීය ඉදිකිරිම් විධානය සමඟ ප්රකාශයට පත් කළ හැකිය. සාමාන්යයෙන් විචල්යයන් සහ ඒවායේ අගයන් ක්රියාකාරීත්වය සහ එහි ඇමතුම අතර බෙදා ගනී.

ශ්රිතයේ විධාන ආයාතනයක් ක්රියාත්මක වන්නේ නම් ශ්රිතය ඇමතුමෙන් පසුව ඊළඟ විධානය සමඟ ක්රියාත්මක වීම සිදු වේ. කාර්යය සම්පුර්ණ කළ විට, ස්ථානීය පරාමිතීන්හි අගයන් සහ විශේෂිත පරාමිතිය අගයන් ක්රියාකාරීත්වයට පෙර තිබූ අගයන් නැවත ස්ථාපිත කර ඇත.

ක්රියා නාමයන් සහ අර්ථදැක්වීම් ප්රකාශයට පත්කිරීමට හෝ වර්ගයේ ඉදි කිරීම් විධාන සඳහා -f විකල්පය සමඟ ලැයිස්තු ගත කළ හැක. ප්රකාශ කිරීම හෝ වර්ග කිරීම සඳහා -F විකල්පය ක්රියාකාරී නාමයන් ලැයිස්තු ගත කරනු ඇත. උපුටා ගැනීම් ස්වයංක්රීයව ඒවායේ නිර්යාත කරන ලද -f විකල්පය සමඟ ඒවා අර්ථ දක්වනු ලැබේ.

කර්තව්යයන් නැවත ගතික ලෙස දැක්විය හැක. කථිකාභක ඇමතුම් සංඛ්යාව මත සීමා නොමැත.

ආවර්තනික ඇගයීම

ශල්යකර්ම සමහර අවස්ථාවලදී ගණිත ආකෘතීන් ඇගයීමට ලක් කරනු ලැබේ (ඉදිකිරිම් ආඥාව සහ ගණිත විස්තාරය බලන්න) බලන්න. පිරිවැය සඳහා චෙක්පතක් නොමැතිව ස්ථාවර-පළල සංඛ්යාංකවල දී ඇගයීම සිදුකරනු ලැබේ. නමුත් 0 බෙදීම දෝෂයක් ලෙස සලකුණු කර ඇත. මෙහෙයුම්කරුවන් සහ ඒවායේ ප්රමුඛත්වය හා ආශ්රිතත්වය සී භාෂාව ලෙස සමාන වේ. මෙහෙයුම්කරුවන් පහත සඳහන් ලැයිස්තුව සමාන සමානත්වයේ ක්රියාකරුවන්ගේ මට්ටම්වලට බෙදේ. මට්ටම් ලැයිස්තුගත කර ඇත්තේ ප්රමුඛතාවය අඩු වීමෙනි.

id ++ id -

Variable post-incrementment සහ post-decrementment

++ id - id

විචලනය පෙර-වර්ධන හා පූර්ව-අඩුකිරීම

- +

ඒකීය අඩු හා ප්ලස්

! ~

තාර්කික හා බිටු නොසැලකිලිමත්කම

**

ඝාතණය කිරීම

* /%

ගුණ කිරීම, බෙදීම, ඉතිරි කිරීම

+ -

අමතරව, අඩු කිරීම

<< >>

වම් හා දකුණු අත්යාවශ්ය මාරුවීම්

<=> = <>

සැසඳීමකි

==! =

සමානාත්මතාවය හා අසමානතාවය

සහ

බුදුහාමුදල් AND

^

බුරුලක් නැති ව OR

|

බීටා හෝ

&&

තර්කාන්විත හා

||

තර්කානුකූල OR

? expr : expr

කොන්දේසිගත ඇගයීම

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

පැවරුමයි

expr1 , expr2

කොමාව

Shell විචල්යයන් ඔපෙරන්ඩයන් ලෙස ඉඩ දෙනු ලැබේ; පරාමිතිය ව්යාප්තිය යනු ප්රකාශනය ඇගයීමට ලක් කිරීමට පෙරය. ප්රකාශනයක දී, විචල්ය ප්රසාරණ syntax භාවිතා නොකෙරෙන නමකින් විචල්ය විචල්යයන් ද සඳහන් කළ හැක. කිසියම් විචල්යයක අගය ගණනය කරන විට ගණනය කිරීමක් ලෙස එය ගණනය කෙරේ. ශෙලල විචල්යයක් ප්රකාශනයක් තුළ භාවිතා කිරීමට එහි පූර්ණ ගුණාංගයක් නොලැබේ.

ප්රමුක 0 සහිත කොන්ට්ස්ට් සාමාන්යයෙන් ගණනය කරනු ලැබේ. 0x හෝ 0X ප්රධාන පෙළේ හෙඩෙක්ස්ටික් වේ. එසේ නැතහොත් සංඛ්යාංකය [ පාදනය # ] n ලෙස දැක්වේ. පාදය යනු සංඛ්යාංක සංඛ්යාව 2 සිට 64 දක්වා වන අතර එය අංක ගණනය කිරීමකි. පාදය # බැහැර කළහොත්, 10 පාදය භාවිතා වේ. 9 ට වඩා වැඩි සංඛ්යාවන් කුඩා අකුරු අකුරු, මහකුරු අකුරු, @, සහ _ විසින් නියෝජනය කරනු ලැබේ. පාදය 36 ට වඩා අඩු හෝ සමාන වේ නම් කුඩා හා මහකුරු අකුරු 10 සිට 35 දක්වා සංඛ්යා නියෝජනය කළ හැකිය.

ෙමෙහයුම්කරුවන් පූර්ව අනුපිළිෙවළ අනුව ඇගයීමට ලක් කරනු ලැෙබ්. පළමු වරට ලැයිස්තුගත කර ඇති උප-ප්රකාශයන් මුලින්ම ඇගයීමට ලක් කරනු ලැබේ.

සම පද හැගීම්

Conditional expression භාවිතා කරනුයේ [[ සංයුක්ත විධාන සහ පරීක්ෂණය සහ ගොනු ආවේක්ෂණ පරීක්ෂා කිරීම සඳහා ඉදි කළ විධාන සහ string සහ ගණිත කර්ම කිරීම් සිදු කිරීමෙනි. පහත දැක්වෙන අචිත හෝ ද්විපාක්ෂික ප්රාථමිකයන්ගෙන් ප්රකාශයන් සෑදී ඇත. පෙරලිංගිකයන්ගෙන් එක් ගොනු පරාමිතිය / dev / fd / n ස්වරූපයෙන් තිබේ නම්, ගොනු විස්තරය n පරීක්ෂා කරනු ලැබේ. පරාමිතීන්ගෙන් එක් පරාමිතියක පරාමිතිය වන්නේ / dev / stdin , / dev / stdout , හෝ / dev / stderr , පිළිවෙලින් 0, 1, හෝ 2 පිළිවෙලින් ලිපිගොනු පරීක්ෂා කර ඇත්නම්.

-ගොනුව

ගොනුව පවතී නම් සත්ය වේ.

-b ගොනුව

ගොනුව පවතී නම් සත්ය විවේචනාත්මක විශේෂ ගොනුවකි.

-c ගොනුව

ගොනුව පවතී නම් හා සත්යය විශේෂ ගොනුවකි.

-d ගොනුව

ගොනු පවතින අතර එය ඩිරෙක්ටරියක් වේ.

-ඊ ගොනුව

ගොනුව පවතී නම් සත්ය වේ.

-f ගොනුව

ගොනුව පවතින අතර එය සාමාන්ය ගොනුවක් වේ.

-g ගොනුව

ගොනු පවතින අතර සත්යාපනය-group-id වේ.

-h ගොනුව

ගොනු පවතින අතර එය සංකේතාත්මක ඈඳියක් වේ.

-k ගොනුව

ගොනුව පවතින අතර එය `` ඇලෙන සුළු '' බිටුවක් සකසා ඇත.

-p ගොනුව

ගොනු පවතින අතර එය නම් කරන ලද නලයක් (FIFO) වේ.

-r ගොනුව

ගොනුව පවතී නම් එය කියවිය හැකි ය.

-s ගොනුව

ගොනුව පවතී නම් එය ශුන්යයට වඩා විශාල වේ.

- t fd

ගොනු විස්තරය fd විවෘත කර ඇති අතර එය ටර්මිනාවක් වෙත යොමු කරයි නම්.

-u ගොනුව

ගොනුව පවතී නම් සහ එහි set-user-id bit සකස් කර ඇත.

-w ගොනුව

ගොනුව පවතින අතර එය ලිවිය හැකිය.

-x ගොනුව

ගොනුව පවතී නම් එය ක්රියාත්මක කළ හැකි ය.

-O ගොනුව

ගොනුව පවතී නම් සහ සත්ය පරිශීලක භාවිතා කරන්නාගේ අයිතිකරු සතුය.

-G ගොනුව

ගොනු පවතින අතර එය සතුව කාර්යක්ෂම කණ්ඩායම් හැඳුනුම්පත ඇත.

-L ගොනුව

ගොනු පවතින අතර එය සංකේතාත්මක ඈඳියක් වේ.

-S ගොනුව

ගොනු පවතින අතර එය සොකට් එකක් නම් සත්යයකි.

-N ගොනුවක්

ගොනු පවතින අතර එය අවසන් වරට කියවීමෙන් වෙනස් වී ඇත.

file1 - nt file2

File1 වඩා අලුත් නම් (සංශෝධන දිනය අනුව) file2 වඩා තිබේ නම් හෝ file1 exists if file2 එය නොවේ.

file1 - ot file2

File1 පරාමිති වලට වඩා පැරණි නම්, නැතහොත් file2 exists if file1 නොවේ.

file1 -ef file2

File1 සහ file2 නම් එම උපාංගය සහ inode අංකයන් වෙත යොමුවන්න.

-O optimumname

ශෙල් විකල්පය ගතිකය සක්රීය කර තිබේ නම් සත්ය වේ. පහළින් ඇති කට්ටලයට -o විකල්පය විස්තර කිරීමේ විකල්ප ලැයිස්තුව බලන්න.

- z string

ශ්රේණියේ දිග ශුන්ය නම් සත්ය වේ.

-ඇඩ්

පේළියකි

ශ්රේණියේ දිග ශුන්ය නොවේ නම් සත්යය.

string1 == string2

නූල් සමාන නම් ඇත්ත. = strict POSIX අනුකූලතාවය සඳහා == වෙනුවට භාවිතා කළ හැක.

string1 ! = string2

නූල් එක සමාන නොවේ නම්.

string1 < string2

වත්මන් පෙදෙස තුළ string2 ලේසිපිජාවට අනුව string1 පෙර නම් සැබෑ වේ.

string1 > string2

වත්මන් පෙදෙසෙහි string2 ලේසිපි්රමය අනුව string1 අනුක්රමික නම් වර්ථමාන වේ.

arg1 OP arg2

OP යනු -eq , -ne , -lt , -le , -gt , හෝ -ge වලින් එකක් වේ. මෙම අංක ගණිත ද්විමය ක්රියාකරු සත්ය වශයෙන්ම arg1 සමාන වේ නම්, පිළිවෙලින් argum2 ට සමාන හෝ ඊට වඩා අඩු හෝ සමාන නොවන , සමාන නොවේ . Arg1 සහ arg2 ධනාත්මක හෝ සෘණ අගයන් විය හැක.

සරළ කොමණ්ඩන් ව්යාප්තිය

සරල විධානයක් ක්රියාත්මක වන විට, වමේ සිට දකුණට පහත දැක්වෙන පුළුල් කිරීම්, පැවරුම් සහ හරවා යැවීම සිදු කරයි.

1.

විබෙදන්නා විචල්ය පැවරුම් ලෙස සලකුණු කරන ලද වචන (විධානයේ නමට පෙර) සහ ප්රතිවර්තනයන් පසුව පසුව සැකසිනි.

2.

විචල්ය පැවරුම් හෝ ප්රතිවර්තනයන් නොවූ වචන පුළුල් වේ. කිසියම් වචන ප්රසාරණය වීමෙන් පසුව, පළමු විධානය විධානයෙහි නම ලෙස සලකනු ලබන අතර ඉතිරි වචන තර්ක වේ.

3.

Redirection යටතේ ඉහතින් විස්තර කර ඇති පරිදි නැවත හරවා යැවීම සිදු කරනු ලැබේ.

4.

එක් විචල්ය පැවරුමේ පසුව පාඨය ටිල්ඩේ ව්යාප්තිය, පරාමිතන් ප්රසාරණය, විධාන පරාමිතිය, අංක ගණිත ව්යාප්තිය සහ විචල්යය වෙත පැවරීමට පෙර ටයිටින් ඉවත් කිරීම සිදු වේ.

කිසිඳු විධාන නාමයක් නොලැබුනහොත්, විචල්ය පැවරුම් වර්තමාන ශෙල් පරිසරයට බලපායි. එසේ නොමැති නම්, විචල්යයන් ක්රියාත්මක කරන ලද විධානයෙහි පරිසරයට එකතු කරනු ලබන අතර වර්තමාන ශෙල්සප්තියට බල නොපායි. යම් පැවරුමක් විසින් කියවන ලද විචල්යයකට වටිනාකමක් ලබා දීමට උත්සහ කරයි නම්, දෝශයක් හටගනී, සහ විධාන ශුන්ය නොවන නියුතයක් සහිතව ක්රියාත්මක වේ.

කිසිඳු විධාන නාමයක් නොලැබුනහොත්, හරවා යවනු ලැබේ, නමුත් වත්මන් ශෙල් පරිසරයට බලපාන්නේ නැත. Redirection දෝෂය නිසි ශුන්ය තත්වයකින් පිටවීමෙන් පිටවීම සිදු කරයි.

ප්රසාරණයෙන් පසුව ඉතිරිව තිබෙන විධාන නාමය නම් පහත දැක්වෙන ආකාරයට ක්රියාත්මක වේ. එසේ නොමැතිනම්, මෙම විධානය ඉවත්වේ. විස්තාරණය කිරීමේ එක් විධාන පරාමිතියක් ආදේශකයක් තිබුනේ නම්, විධානයෙහි පිටවීමේ තත්වය වන්නේ අවසන් විධාන ආදේශනයෙහි පිටවීමේ තත්වයයි. විධානයක් ආදේශන නොමැති නම්, විධානය ශුන්ය තත්වයක් සහිතව ක්රියාත්මක වේ.

කොමඩු ක්රියාත්මක කිරීම

විධානයක් වචනවලට භාජනය වූ පසු, එය සරල විධානයක් සහ තර්කනාත්මක විකල්ප ලැයිස්තුවක් ලබා ගන්නේ නම්, පහත දැක්වෙන ක්රියාමාර්ග ගනු ලැබේ.

විධාන නාමයට කිසිදු ස්ලයිසයක් නොමැති නම්, ශෙලයන් එය සොයා ගැනීමට උත්සාහ කරයි. එම නාමයෙන් shell ක්රියාවක් තිබේ නම්, FUNCTIONS හි ඉහත විස්තර කර ඇති පරිදි එම ශ්රිතය ආයාචනය කෙරේ. නමට ශ්රිතයක් ගැලපෙන්නේ නැත නම්, shell එකේ එය ලැයිස්තුගත කර ඇත. තරඟයක් සොයාගතහොත්, එය ඉදි කර ඇත.

නම ශෙල් ක්රියාකාරීත්වයක් හෝ ගොඩනැංවීමක් නොමැති අතර, කිසිදු ස්ලයිසයක් නොමැති නම්, bash විසින් එම නම මගින් ක්රියාත්මක කළ ගොනුව සහිත බහලුමක් සඳහා PATH හි එක් එක් මූලද්රව්යය සොයයි. Bash විසින් executable ගොනු වල සම්පූර්ණ පේළි මතක තබා ගැනීමට හැෂ් වගුවක් භාවිතා කරයි (පහත දැක්වෙන SHELL BUILTIN COMMANDS යටතේ හැෂ් බලන්න). PATH හි ඇති නාමාවලිවල පූර්ණ සෙවුම් සිදු වන්නේ හෑෂ් වගුව තුළ විධාන සොයාගත නොහැකි නම් පමණි. සෙවීම් අසාර්ථකයි නම්, shell එකක් දෝෂ සහිත පණිවිඩයක් මුද්රණය කර 127 න් පිටවීමක් ලබා දෙනු ලැබේ.

සෙවුම් සාර්ථක වූවා නම්, හෝ විධාන නාමයේ එක් කට්ටලයක් හෝ කිහිපයක් අඩංගු වේ නම්, shell මඟින් වෙනම ක්රියාත්මක කිරීමේ පරිසරයක් තුල නම් කරන ලද වැඩසටහන ක්රියාත්මක කරයි. Argument 0 දෙන ලද නමට ලබාදෙන අතර, ඉතිරිව ඇති පරාමිතියන් ලබාදුන් තර්කයන්ට ඇත.

මෙම මෙහෙයුම අසාර්ථකයි නම්, ගොනුව ක්රියාත්මක කළ හැකි ආකෘතියේ නොමැති අතර, ගොනුව ඩෙස්ක්ටොප් එකක් නොවේ නම්, එය shell කුවිතාන්සි සහිත ගොනුවක් වන අතර, එය අනුමත කරනු ලැබේ. උපකල්පනය එය ක්රියාත්මක කිරීමට උපකල්පනය කරයි. මෙම උපකල්පනය නැවත ආරම්භනය කර ඇති නිසා, එම ප්රයෝගය, තිරය හසුරුවීමට නව ශෙලය ආයාචනය කරන මෙන් මවුපියන් විසින් සිහිපත් කරන ලද විධාන ස්ථාන ( SHELL BUILTIN COMMANDS යටතේ හෑෂ් ) දරුවා රඳවා තබා ගනී.

වැඩසටහන ආරම්භ වන්නේ නම් #! පළමු වැඩසටහනේ ඉතිරි කොටස වැඩසටහන සඳහා පරිවර්තකය නියම කරයි. මෙම කවුළුව මෙම ක්රියාත්මක කළ ආකෘතිය හැසිරවිය නොහැකි මෙහෙයුම් පද්ධති මත විශේෂිත භාෂණ පරිවර්තකය ක්රියාත්මක කරයි. භාෂණ පරිවර්ථකයාට ඇති පරාමිතීන්, වැඩසටහනේ පළමු පේළියේ පරිවර්ථක නාමය අනුගමනය කරන තනි වෛකල්පිත පරාමිතියක්ගෙන් සමන්විත වන අතර පසුව, වැඩසටහනේ නමෙන් පසුව, විධානයන් තර්ක අනුපිළිවෙලට අනුකූල වේ.

කොමඩු ක්රියාත්මක කිරීම පරිසරය

මෙම කවුළුව ක්රියාත්මක කිරීමේ පරිසරයක් ඇත , පහත සඳහන් වන්නේ:

*

exec builtin වෙත ලබාදී ඇති ප්රතිවර්තනයන් මඟින් විචල්යය මත ශෙලලයක් විසින් උරුම කරගත් විවෘත ලිපිගොනු

*

cd , pushd , or popd විසින් සකසන ලද වත්මන් ක්රියාකාරී ඩිරෙක්ටරිය හෝ ආයාචනය මත ෂෙල් විසින් උරුම කර දෙනු ලැබේ

*

ගොනුවක් සෑදීමට හෝ උරුම කරගත් ෂෙල්ස්ගේ මාපියා විසින් සකසන ලද ගොනු නිර්මානය කිරීමේ මාස්ක්

*

උගුලක් විසින් සකසන ලද උගුල්

*

විචල්ය පැවරුම් මඟින් සැකසූ shell පරාමිතියන් හෝ පරිසරයේ ඇති කවචයේ දෙමව්පියන් සිටුවීමට හෝ උරුම කර ඇති ඒවා වේ

*

shell ක්රියාවලීන්හිදී ක්රියාත්මක වන විට හෝ ශෛලියේ මාපියගේ උරුමකරු විසින් උරුම කරගත් වේ

*

අභිප්රේරණය මඟින් සක්රීය කිරීමේ විකල්පයන් (පෙරනිමියෙන් හෝ විධාන රේඛා තර්ක සමග) හෝ සැකසීම මගින්

*

වෙළඳසැල් විසින් සක්රීය කර ඇත

*

අන්වර්ථ නාමලේඛන දක්වා ඇත

*

පසුබිම් රැකියා ඇතුලු විවිධ ක්රියාවලි හැඳුනුම් පත්, $$ අගය සහ $ PPID අගය

ඉදිකළ හෝ ශල්යකර්මයක් හැරෙන්නට සරල විධානයක් ක්රියාත්මක කළ විට, එය පහත දැක්වෙන ආකාරයෙන් සමන්විත වෙනම ක්රියාත්මක කිරීමේ පරිසරයක අමතනු ලැබේ. අනෙකක් සඳහන් නොකළහොත් අගයන් ෂෙල් වලින් උරුම වේ.

*

shell එකේ විවෘත ගොනු, විධානයන්ට යොමු කිරීම් මඟින් නිශ්චිතව දක්වා ඇති ඕනෑම වෙනස් කිරීම් සහ එකතු කිරීම්

*

වර්තමාන වැඩ කරන බහලුම

*

ගොනු මැවීම ප්රකාරය ආවරණ

*

අපනයන සඳහා ලකුණු කරන ලද විචල්ය විචල්යයන්, පරිසරය තුලදී අපනයනය කරන ලද විචල්යයන් සමඟ ආදේශ කරනු ලැබේ

*

ෂෙල් විසින් අල්ලාගන්නා ලද උගුල් ෂෙල් ගේ දෙමාපියන්ගෙන් උරුම කරගත් අගයන් නැවත ස්ථාපිත කිරීම සහ කවුළුවෙන් නොසලකා හැරෙන උගුල් මඟහරිනු ඇත

මෙම වෙනම පරිසරය තුල ආයාචනය කළ ආඥාව shell shell ක්රියාත්මක කිරීම සඳහා බලපානු නොලැබේ.

විධාන ආදේශන සහ අසමමිතික විධාන වලදී shell අග්රයේ අනුපිටපත් පරිසරයක් තුලට ආයාචනය කරනු ලැබේ. ෂෙල් අල්ලා ගන්නා උගුල් ඒවායේ මාපියාගෙන් ආයාචනය කර ඇති අගයන් වෙත ප්රදානය කරයි. නල මාර්ගයේ කොටසක් ලෙස උපයෝගී කරගන්නා ලද විධාන ආම්පන්න උපකල්පිත පරිසරයකදී ද ක්රියාත්මක වේ. පහත් කොටසට සාදනු ලබන වෙනස්කම් shell හි ක්රියාත්මක වන පරිසරයට බලපාන්නේ නැත.

විධානයක් අනුගමනය කරන්නේ නම් & සහ කාර්යය කළමනාකරණය ක්රියාකාරී නොවේ නම්, විධානය සඳහා පෙරනිමි සම්මත ආදානය හිස් ගොනුව / dev / null වේ. එසේ නොමැති නම්, ආයාචිත ආඥාපනත මඟින් වෙනස් කරන ලද ඇමුණුම් කවුළුවෙහි ගොනු විස්තර කිරීම් අනුප්රාප්තිකය.

ද බලන්න

Bash Reference අත්පොත , බ්රයන් ෆොක්ස් සහ චේට් රාමි

Gnu Readline පුස්තකාලය , බ්රයන් ෆොක්ස් සහ චේට් රාමි

Gnu ඉතිහාසය පුස්තකාලය , බ්රයන් ෆොක්ස් සහ චේට් රාමි

ජංගම මෙහෙයුම් පද්ධති අතුරුමුහුණත (POSIX) කොටස 2: ෂෙල් සහ යුටිලිටීස් , IEEE

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

emacs (1), vi (1)

(3)