Bash - Linux കമാൻഡ് - Unix കമാൻഡ്

NAME

bash - ഗ്നു ബോൺ - വീണ്ടും ഷെൽ

സിനോപ്സിസ്

ബാഷ് [options] [file]

വിവരണം

സ്റ്റാൻഡേർഡ് ഇൻപുട്ടിന്റിൽ നിന്നോ അല്ലെങ്കിൽ ഒരു ഫയലിൽ നിന്നോ വായിക്കുന്ന കമാൻഡുകൾ പ്രവർത്തിപ്പിക്കുന്ന ഒരു കംപ്രസസ് കമാൻഡ് ഭാഷ ഇന്റർപ്രെട്ടർ ആണ് ബാഷ് . കോർണും സി ഷെല്ലുകളും ( ksh , csh ) ഉപയോഗിച്ചു് ഉപയോഗിയ്ക്കുന്ന ബാഷ് ഇപ്പണിയുന്നു .

ഐഇഇഇ പോസിക്സ് ഷെൽ, ടൂൾസ് സ്പെസിഫിക്കേഷന്റെ (ഐഇഇഇഇ വർക്കിംഗ് ഗ്രൂപ്പ് 1003.2) കൃത്യമായ നടപ്പാക്കാനാണ് ബാഷ് ഉദ്ദേശിക്കുന്നത്.

ഓപ്ഷനുകൾ

സെറ്റ് ബിൽറ്റ് കമാൻഡ് വിവരണത്തിൽ രേഖപ്പെടുത്തിയ ഏക-സ്വഭാവം ഷെൽ ഐച്ഛികങ്ങൾക്കുപുറമേ, ബാഷ് അത് ലഭ്യമാകുമ്പോൾ താഴെ പറയുന്ന ഓപ്ഷനുകളെ വ്യാഖ്യനിക്കുന്നു:

-c സ്ട്രിംഗ്

-c ഐച്ഛികം ലഭ്യമാണെങ്കിൽ, സ്ട്രിങിൽ നിന്നും കമാൻഡുകൾ വായിക്കപ്പെടുന്നു. സ്ട്രിംഗിനു ശേഷം ആർഗ്യുമെന്റുകളുണ്ടെങ്കിൽ, അവർ നിലവിലെ പരാമീറ്ററുകളെ നിയമിക്കുകയും, $ 0 മുതൽ ആരംഭിക്കുകയും ചെയ്യുന്നു.

-i

-i ഉപാധി ലഭ്യമാണെങ്കിൽ, ഷെൽ ഇന്ററാക്ടീവ് ആണ് .

-l

ഒരു ലോഗിൻ ഷെൽ ആയി അത് ഉദ്ഘാടനം ചെയ്തതുപോലെ ബാഷ് പ്രവർത്തിക്കുക (താഴെയുള്ള INVOCATION കാണുക).

-ആർ

-r ഐച്ഛികം ലഭ്യമാണെങ്കിൽ, ഷെൽ നിയന്ത്രിതമായിരിക്കുന്നു (താഴെ പറഞ്ഞിരിക്കുന്ന നിയന്ത്രണത്തിലുള്ള ഷെൽ കാണുക).

-s

-s ഐച്ഛികം ലഭ്യമാണെങ്കിൽ, അല്ലെങ്കിൽ ഐച്ഛിക പ്രോക്സിമിന് ശേഷം ആർഗ്യുമെന്റുകൾ ഇല്ലെങ്കിൽ, സ്റ്റാൻഡേർഡ് ഇൻപുട്ടിൽ നിന്നും കമാൻഡുകൾ വായിക്കപ്പെടുന്നു. ഒരു ഇന്ററാക്ടീവ് ഷെൽ ലഭ്യമാക്കുന്പോൾ positional പരാമീറ്ററുകൾ സജ്ജമാക്കുന്നതിന് ഈ ഉപാധി അനുവദിക്കുന്നു.

-D

$ തൊട്ടുമുമ്പുള്ള എല്ലാ ഇരട്ട ഉദ്ധരണികളും ഒരു പട്ടിക സാധാരണ ouput ൽ പ്രിന്റ് ചെയ്യുന്നു. നിലവിലെ ഭാഷ C അല്ലെങ്കിൽ POSIX അല്ലെങ്കി, ഭാഷാ പരിഭാഷയ്ക്ക് വിധേയമാകുന്ന സ്ട്രിങ്ങുകൾ ഇവയാണ്. ഇത് -n ഓപ്ഷൻ സൂചിപ്പിക്കുന്നു; ഒരു കമാൻഡും നടപ്പിലാക്കില്ല.

[- +] ഓ [ shopt_option ]

ഷോട്ട് ബിൽഡിൻ സ്വീകരിച്ച ഷെൽ ഓപ്ഷനുകളിൽ ഒന്നാണ് shopt_option (താഴെ ഷെൽ ബിൽറ്റ്ലിൻ കമാൻഡുകൾ കാണുക). Shopt_option ഉണ്ടെങ്കിൽ, -O ആ ഐച്ഛികത്തിന്റെ മൂല്യം സജ്ജീകരിക്കുന്നു; + അത് മനസിലാക്കി. Shopt_option ലഭ്യമാക്കുന്നില്ലെങ്കിൽ, ഷോട്ട് സ്വീകരിച്ച ഷെൽ ഓപ്ഷനുകളുടെ പേരുകളും മൂല്യങ്ങളും സ്റ്റാൻഡേർഡ് ഔട്ട്പുട്ടിൽ പ്രിന്റ് ചെയ്യുന്നു. Invocation ഓപ്ഷൻ + O ആണെങ്കിൽ, ഇൻപുട്ടായി വീണ്ടും ഉപയോഗിക്കാവുന്ന ഒരു ഫോർമാറ്റിലാണ് ഔട്ട്പുട്ട് പ്രദർശിപ്പിക്കുന്നത്.

-

A - ഓപ്ഷനുകളുടെ അവസാനം സിഗ്നലുകൾ നൽകി കൂടുതൽ ഓപ്ഷൻ പ്രോസസ് പ്രവർത്തനരഹിതമാക്കുന്നു. അതിനുശേഷം എന്തെങ്കിലും വാദങ്ങൾ - ഫയൽനാമങ്ങൾ, ആർഗ്യുമെന്റുകൾ എന്നിവയായി പരിഗണിക്കും. ഒരു വാദം - അത് തുല്യമാണ് - .

ബാഷ് പല കോർഡിനേറ്റർ ഓപ്ഷനുകളെ വ്യാഖ്യനിക്കുന്നു. ഒറ്റ-പ്രതീക ഓപ്ഷനുകൾ തിരിച്ചറിയുന്നതിന് മുമ്പ് ഈ ഓപ്ഷനുകൾ കമാൻഡ് ലൈനിൽ ദൃശ്യമാകും.

--dump-po-strings

-D -ന് തുല്യമാണ് , എന്നാൽ ഔട്ട്പുട്ട് ഗ്നു gettext po (പോർട്ടബിൾ വസ്തു) ഫയൽ ഫോർമാറ്റിലാണുള്ളത്.

- dump-strings

-D -ന് സമം.

--സഹായിക്കൂ

സ്റ്റാൻഡേർഡ് ഔട്ട്പുട്ടിൽ ഒരു ഉപയോഗ സന്ദേശം പ്രദർശിപ്പിച്ച് വിജയകരമായി പുറത്തുകടക്കുക.

--init-file ഫയൽ

--rcfile ഫയൽ

ഷെൽ ഇൻററാക്റ്റീവ് ആണെങ്കിൽ സ്റ്റാൻഡേർഡ് വ്യക്തിഗത ഇനിഷ്യലൈസേഷൻ ഫയലിനു പകരം ~ / .bashrc കമാൻഡുകൾ പ്രവർത്തിപ്പിക്കുക (താഴെ കാണുന്ന INVOCATION കാണുക).

--ലോഗിൻ

-l ന് തുല്യമായ

- നൊസ്റ്റാറ്റിംഗ്

ഷെൽ ഇന്ററാക്ടീവ് ആയിരിക്കുമ്പോൾ കമാൻഡ് ലൈനുകൾ വായിക്കുന്നതിനായി ഗ്നു വായന ലൈൻ ലൈബ്രറി ഉപയോഗിക്കരുത്.

--noprofile

സിസ്റ്റം-വൈഡ് സ്റ്റാർട്ടപ്പ് ഫയൽ / etc / profile അല്ലെങ്കിൽ ഏതെങ്കിലും പേഴ്സണൽ ഇനിഷ്യലൈസേഷൻ ഫയലുകൾ , / / ​​bash_profile , ~ / .bash_login , അല്ലെങ്കിൽ ~ / .profile എന്നിവയിലൊന്ന് വായിക്കരുത് . സ്വതവേ, ബാഷ് ഈ ഫയലുകൾ ഒരു ലോഗിന് ഷെൽ ആയി ഉപയോഗിക്കുന്പോൾ ലഭ്യമാകുമ്പോൾ (താഴെ പറയുന്നത് INVOCATION കാണുക).

--norc

ഷെൽ ഇന്ററാക്ടീവ് ആണെങ്കിൽ വ്യക്തിഗത ഇനിഷ്യലൈസേഷൻ ഫയൽ വായിക്കുവാനും പ്രവർത്തിപ്പിക്കാതിരിക്കുകയും ചെയ്യുക. ~ / .bashrc ഷെൽ ഷോൾ ആയി ഉദ്ധരിക്കുകയാണെങ്കിൽ, ഈ ഉപാധി സ്വതവേ ലഭ്യമാകുന്നു.

--posix

സാധാരണ ( പോസിക്സ് മോഡ് ) പൊരുത്തപ്പെടുന്നതിന് POSIX 1003.2 സ്റ്റാൻഡേർഡിൽ നിന്നും സ്ഥിര ഓപ്പറേഷൻ വ്യത്യാസപ്പെടുന്ന ബാഷ് സ്വഭാവം മാറ്റുക.

- നിയന്ത്രണം

ഷെൽ നിയന്ത്രിക്കപ്പെടുന്നു (പരിമിതമായ ഷെൽ താഴെ കാണുക).

--rpm- ആവശ്യപ്പെടുന്നു

ഷെൽ സ്ക്രിപ്റ്റിൽ പ്രവർത്തിപ്പിക്കേണ്ട ഫയലുകളുടെ ലിസ്റ്റ് ലഭ്യമാക്കുക. ഇത് സൂചിപ്പിക്കുന്നത് '-i', കംപൈൽ സമയ പിശകുകൾ പരിശോധിക്കുന്നതിനുള്ള അതേ പരിമിതികൾക്ക് വിധേയമാണ്; ബാക്ക്ട്ടിക്ക്, [[പരിശോധന]], evuls എന്നിവ പാഴ്സുചെയ്യാത്തതിനാൽ ചില ആശ്രയങ്ങൾ നഷ്ടപ്പെടാം. --verbose -v ന് തുല്യമാണ് .

- പതിപ്പ്

സ്റ്റാൻഡേർഡ് ഔട്ട്പുട്ടിൽ ഈ ബാഷ് ഇന്റെർഷനായി വേർഷൻ വിവരങ്ങൾ കാണിക്കുകയും വിജയകരമായി പുറത്തുകടക്കുകയും ചെയ്യുക.

അവഗണിക്കലുകൾ

ഓപ്ഷൻ പ്രൊസസ്സിംഗിനു ശേഷവും ആർഗ്യുമെന്റുകൾ ഉണ്ടെങ്കിൽ, -c അല്ലെങ്കിൽ -s ഐച്ഛികം നൽകപ്പെട്ടില്ലെങ്കിൽ, ആദ്യത്തെ ആർഗ്യുമെന്റ് ഷെൽ കമാൻഡുകൾ അടങ്ങുന്ന ഫയലിന്റെ പേരായി കണക്കാക്കുന്നു. ഈ ശൈലിയിൽ ബാഷ് ആവശ്യപ്പെടുന്നെങ്കിൽ, ഫയലിന്റെ പേരു് $ 0 ആണ് സജ്ജീകരിച്ചിരിക്കുന്നത്, കൂടാതെ സ്ഥാന സംവിധാനങ്ങൾ ബാക്കിയുള്ള ആർഗ്യുമെന്റുകളിലേക്ക് സജ്ജമാക്കും. ബാഷ് ഈ ഫയലിൽ നിന്നുള്ള കമാൻഡുകൾ വായിക്കുകയും നിർത്തുകയും ചെയ്യുന്നു, തുടർന്ന് പുറത്തുപോകുന്നു. സ്ക്രിപ്റ്റിൽ നടപ്പിലാക്കിയ അവസാനത്തെ കമാൻഡ് എക്സിറ്റ് സ്റ്റാറ്റാണ് Bash ന്റെ എക്സിറ്റ് സ്റ്റാറ്റസ്. കമാൻഡുകൾ എക്സിക്യൂട്ട് ചെയ്യുന്നില്ലെങ്കിൽ, exit സ്റ്റാറ്റസ് 0 ആണ്. നിലവിലുള്ള ഡയറക്ടറിയിൽ ഫയൽ തുറക്കാൻ ആദ്യം ഒരു ശ്രമം നടത്തി, ഫയൽ കണ്ടില്ലെങ്കിൽ, ഷെൽ സ്ക്രിപ്റ്റിനായി PATH- ൽ ഡയറക്ടറികൾ തിരയുന്നു.

INVOCATION

ഒരു ലോഗിന് ഷെല് ആണ് ആദ്യത്തെ ആര്ഗ്യുമെന്റ് പൂജ്യം a - , അല്ലെങ്കില് --login ഐച്ഛികം ഉപയോഗിച്ചു് ആരംഭിയ്ക്കുന്ന ഒരാള് .

ഒരു ഇൻററാക്ടീവ് ഷെൽ ആണ് നോൺ-ഓപ്ഷൻ ആർഗ്യുമെന്റുകൾ ഇല്ലാതെ ആരംഭിച്ചു് -c ഉപാധി ഇല്ലാതെ, സ്റ്റാൻഡേർഡ് ഇൻപുട്ട്, ഔട്ട്പുട്ട് എന്നിവ ടെർമിനലുകളുമായി ( isatty (3) ഉപയോഗിച്ച് കണക്ട് ചെയ്തിരിയ്ക്കുന്നു ) അല്ലെങ്കിൽ -i ഐച്ഛികം ഉപയോഗിച്ചു് ആരംഭിയ്ക്കുന്നു. PS1 സജ്ജമാക്കി, $ - ഉൾപ്പെടുന്നു ബാഷ് ഇന്ററാക്ടീവ് ആണെങ്കിൽ, ഒരു ഷെൽ സ്ക്രിപ്റ്റ് അല്ലെങ്കിൽ സ്റ്റാർട്ട്അപ്പ് ഫയൽ ഈ സംസ്ഥാനം പരീക്ഷിക്കാൻ അനുവദിക്കുന്നു.

സ്റ്റാർട്ട്അപ് ഫയലുകൾ എങ്ങനെ ബാഷ് പ്രവർത്തിക്കുന്നു എന്ന് താഴെ പറയുന്ന ഖണ്ഡികകളിൽ കാണാം. ഏതെങ്കിലും ഫയലുകൾ നിലവിലുണ്ടെങ്കിലും വായിക്കാൻ കഴിയില്ലെങ്കിൽ, ബാഷ് ഒരു പിശക് റിപ്പോർട്ട് ചെയ്യുന്നു. EXPANSION വിഭാഗത്തിലെ ടിൽഡെ വിപുലീകരണത്തിൻ കീഴിൽ താഴെ വിവരിച്ച പ്രകാരം ടിൽഡുകൾ ഫയൽ പേരുകളിൽ വികസിപ്പിച്ചു.

ഒരു ഇൻററാക്ടീവ് ലോഗിൻ ഷെല്ലായി ബാഷ് ഉപയോഗിക്കുമ്പോൾ, അല്ലെങ്കിൽ --login ഐച്ഛികം ഉപയോഗിയ്ക്കാത്ത നോൺ-ഇന്ററാക്ടീവ് ഷെല്ലായി, ആ ഫയൽ നിലവിലുണ്ടെങ്കിൽ ഫയൽ / etc / profile- ൽ നിന്നും ആദ്യം കമാൻഡുകൾ വായിയ്ക്കുന്നു , നടപ്പിലാക്കുന്നു. ആ ഫയൽ വായിച്ചതിനു ശേഷം ~ /. Bash_profile , ~ /. Bash_login , ~ / .profile എന്നിവയിൽ നോക്കിയാൽ , ലഭ്യമായതും വായന ചെയ്യാവുന്നതുമായ ഒരു കമാൻഡുകൾ വായിക്കുകയും പ്രവർത്തിക്കുകയും ചെയ്യുന്നു. ഈ രീതിയെ തടയുന്നതിനായി ഷെൽ ആരംഭിക്കുമ്പോൾ --noprofile ഐച്ഛികം ഉപയോഗിയ്ക്കാം.

ഒരു ലോഗിന് ഷെല് എക്സിറ്റ് ചെയ്യുമ്പോള്, അതുണ്ടെങ്കില് ~ / .bash_logout എന്ന ഫയലില് നിന്നും കമാന്ഡുകള് ബാഷ് വായിക്കുകയും പ്രവര്ത്തിപ്പിക്കുകയും ചെയ്യുന്നു.

ഒരു ലോഗിൻ ഷെൽ അല്ലല്ലാത്ത ഒരു ഇന്ററാക്ടീവ് ഷെൽ ഉപയോഗിക്കുമ്പോൾ, ഫയലിനുണ്ടെങ്കിൽ ~ / .bashrc -ൽ നിന്നും കമാൻഡ്സ് ബാഷ് വായിക്കുകയും പ്രവർത്തിപ്പിക്കുകയും ചെയ്യുന്നു. ഇതു് --norc ഐച്ഛികം ഉപയോഗിച്ചു് തടസ്സപ്പെട്ടേക്കാം. ഫയലിൽ നിന്നും ~ / .bashrc എന്നതിനു പകരമുള്ള കമാൻഡുകൾ വായിക്കുന്നതിനും എക്സിക്യൂട്ട് ചെയ്യുന്നതിനും --rcfile ഫയൽ ഐച്ഛികം ബാഷ് പ്രയോഗിയ്ക്കുന്നു.

ഒരു ഷെൽ സ്ക്രിപ്റ്റ് പ്രവർത്തിപ്പിക്കാൻ ബാച്ചിൽ നോൺ-ഇന്ററാക്ടീവ് ആയി തുടങ്ങുമ്പോൾ, ഉദാഹരണത്തിന്, അത് പരിസ്ഥിതിയിൽ BASH_ENV വേരിയബിളിനായി തിരയുന്നു , അവിടെ അത് ദൃശ്യമാകുമ്പോൾ അതിന്റെ മൂല്യം വിപുലീകരിക്കുകയും വിപുലീകരിച്ച മൂല്യം ഒരു ഫയലിന്റെ പേരായി റീഡുചെയ്യാനും നടപ്പിലാക്കാനും ഉപയോഗിക്കുന്നു . താഴെ പറയുന്ന കമാൻഡ് എക്സിക്യൂട്ട് ചെയ്താൽ ബാഷ് പ്രവർത്തിക്കുന്നു:

[-0 "$ BASH_ENV"] ഉണ്ടെങ്കിൽ; പിന്നെ. "$ BASH_ENV"; fi

പക്ഷേ ഫയൽ നാമം തിരയാൻ പാഥ് വേരിയബിളിന്റെ മൂല്യം ഉപയോഗിക്കില്ല.

പേരു് ഉപയോഗിച്ച് ബഷ് ഉപയോഗിച്ചു് വന്നാൽ, അതു് ശാസ്തിന്റെ ചരിത്രപരമായ പതിപ്പുകളുടെ തുടക്കത്തിലെ സ്വഭാവം സാധ്യമാണു്, അതുപോലെ തന്നെ POSIX സ്റ്റാൻഡേർഡിനു് അനുസൃതമായി പ്രവർത്തിക്കുവാൻ ശ്രമിയ്ക്കുന്നു. ഒരു ഇൻററാക്റ്റീവ് ലോഗൻ ഷെൽ ആയി, അല്ലെങ്കിൽ --login ഐച്ഛികം ഉപയോഗിയ്ക്കാത്ത നോൺ-ഇന്ററാക്ടീവ് ഷെൽ ആയിരിയ്ക്കുമ്പോൾ , ആദ്യം ആജ്ഞയിൽ / etc / profile- ൽ നിന്നും കമാൻഡുകൾ വായിക്കുന്നതിനും എക്സിക്യൂട്ട് ചെയ്യുന്നതിനും ശ്രമിയ്ക്കുന്നു. ഈ രീതിയെ തടയുവാൻ --noprofile ഓപ്ഷൻ ഉപയോഗിയ്ക്കണം. Name sh ഒരു ഇന്ററാക്ടീവ് ഷെല്ലായി ലഭ്യമാക്കുമ്പോൾ, വേരിയബിൾ എൻവിയ്ക്കു് വേണ്ടി ബാഷ് തെരയുന്നതു്, നിർവ്വചിച്ചിട്ടുണ്ടെങ്കിൽ അതിന്റെ മൂല്ല്യം വികസിപ്പിക്കുന്നു, കൂടാതെ എക്സ്പാഡിക് മൂല്ല്യം ഒരു ഫയലിന്റെ പേരു് വായിയ്ക്കുന്നതിനും എക്സിക്യൂട്ട് ചെയ്യുന്നതിനും ഉപയോഗിയ്ക്കുന്നു. മറ്റെല്ലാ ആരംഭ ഫയലുകളിൽ നിന്നും കമാൻഡുകൾ വായിക്കുന്നതിനും എക്സിക്യൂട്ട് ചെയ്യുന്നതിനും ശ്രമിയ്ക്കാത്തതിനാൽ ഷെൽ ഉപയോഗിച്ചു് ഷെൽ പ്രവർത്തിയ്ക്കുന്നതിനാൽ, --rcfile ഉപാധിക്ക് യാതൊരു പ്രഭാവവുമില്ല. മറ്റേതെങ്കിലും സ്റ്റാർട്ട്അപ്പ് ഫയലുകൾ വായിക്കുന്നതിനു് പേരു് നൽകിയിട്ടില്ലാത്ത ഒരു ഇന്ററാക്ടീവ് ഷെൽ ശ്രമിയ്ക്കുന്നില്ല. ഷോൾ ആയിരിയ്ക്കുമ്പോൾ , ബാക്കപ്പ് പോസിക്സ് മോഡിലേക്ക് പ്രവേശിക്കുമ്പോൾ, ആദ്യം വായിക്കുന്ന ഫയലുകൾ വായിക്കുന്നു.

പോസിക്സ് മോഡിൽ ബാഷ് ആരംഭിക്കുമ്പോൾ, --posix കമാൻഡ് ലൈൻ ഐച്ഛികം പോലെ, അതു ആരംഭ ഫയലുകൾക്കുള്ള POSIX സ്റ്റാൻഡേർഡ് പിന്തുടരുന്നു. ഈ മോഡിൽ, ഇന്ററാക്ടീവ് ഷെൽസ് ENV വേരിയബിൾ വികസിപ്പിക്കുകയും കമാൻഡുകൾ വിപുലീകരിച്ച മൂല്ല്യത്തിന്റെ പേരു് ഫയലിൽ നിന്നും വായിക്കുകയും നടപ്പിലാക്കുകയും ചെയ്യുന്നു. മറ്റ് ആരംഭ ഫയലുകൾ ഒന്നും വായിക്കുന്നില്ല.

സാധാരണയായി rshd ആയി റിമോട്ട് ഷെൽ ഡെമണിനു് പ്റവറ്ത്തിപ്പിക്കണമോ എന്ന് നിർണ്ണയിക്കുവാൻ ബാഷ് ശ്രമിക്കുന്നു. ബാഷ് നിർവ്വചിക്കുന്നതു് rshd ഉപയോഗിച്ചു് പ്രവർത്തിക്കുന്നുണ്ടെങ്കിൽ, ആ ഫയൽ നിലവിലുണ്ടെങ്കിൽ, ലഭ്യമാകുമ്പോൾ ~ / .bashrc -ൽ നിന്നും കമാൻഡുകൾ വായിക്കുകയും നടപ്പിലാക്കുകയും ചെയ്യുന്നു. ഷാ എന്ന നിലയിലാണെങ്കിൽ ഇത് ചെയ്യുകയില്ല . ഈ രീതിയെ തടസ്സപ്പെടുത്താൻ --norc ഐച്ഛികം ഉപയോഗിയ്ക്കാവുന്നതാണു്. മറ്റൊരു ഫയൽ ലഭ്യമാക്കുന്നതിനായി --rcfile ഐച്ഛികം ഉപയോഗിയ്ക്കാം, പക്ഷേ rshd ആ ഉപാധികൾക്കൊപ്പം സാധാരണയായി ഷെൽ ആക്കിരിയ്ക്കാനോ അല്ലെങ്കിൽ അവ വ്യക്തമാക്കുവാൻ അനുവദിയ്ക്കുകയോ ചെയ്യുന്നതല്ല.

യഥാർത്ഥ യൂസർ (ഗ്രൂപ്പ്) ഐഡിക്ക് തുല്യമല്ലാത്ത ഫലപ്രദമായ ഉപയോക്താവ് (ഗ്രൂപ്പ്) ഐഡിയിൽ ഷെൽ ആരംഭിച്ചാൽ, -p ഓപ്ഷൻ നൽകപ്പെട്ടിട്ടില്ല, തുടക്കത്തിലെ ഫയലുകൾ വായിക്കുന്നില്ല, ഷെൽ പ്രവർത്തനങ്ങൾ പരിസ്ഥിതിയിൽ നിന്നും പാരമ്പര്യത്തിൽ നിന്നും വേരിയബിൾ, അത് എൻവയോൺമെൻറിൽ ദൃശ്യമായാൽ, അവഗണിക്കപ്പെടും, ഫലപ്രദമായ ഉപയോക്തൃ ഐഡി യഥാർത്ഥ യൂസർ ഐഡിയായി സജ്ജമാക്കുകയും ചെയ്യും. Invocation വഴി -p ഓപ്ഷൻ നൽകിയിട്ടുണ്ടെങ്കിൽ, തുടക്കത്തിലെ സ്വഭാവം ഒരുപോലെയാണ്, എന്നാൽ ഫലപ്രദമായ ഉപയോക്തൃ ഐഡി പുനസജ്ജീകരിച്ചിട്ടില്ല.

നിർവചനങ്ങൾ

ഈ പ്രമാണത്തിന്റെ ശേഷിക്കുന്ന കാലയളവിലാണ് ഇനിപ്പറയുന്ന നിർവചനങ്ങൾ ഉപയോഗിക്കുന്നത്.

ശൂന്യമാണ്

ഒരു സ്പെയ്സ് അല്ലെങ്കിൽ ടാബ്.

വാക്ക്

ഷെൽ ഒരു യൂണിറ്റായി കണക്കാക്കപ്പെടുന്ന പ്രതീകങ്ങളുടെ ഒരു അനുക്രമം. ഒരു ടോക്കൺ എന്നും അറിയപ്പെടുന്നു.

പേര്

ആൽഫാന്യൂമെറിക് പ്രതീകങ്ങളേയും അണ്ടർസ്കോറുകളേയും ഉൾക്കൊള്ളുന്ന ഒരു പദം , അക്ഷരീയ അക്ഷരമോ അടിവരയോ ഉപയോഗിച്ച് ആരംഭിക്കുന്നു. ഒരു ഐഡന്റിഫയർ എന്ന് തന്നെ പറയുന്നു .

മെറ്റാചാർറ്റർ

വേർതിരിക്കാത്തപ്പോൾ, പദങ്ങളെ വേർതിരിക്കുന്ന ഒരു പ്രതീകം. ഇനിപ്പറയുന്നവയിൽ ഒന്ന്:

| &; () <> സ്പേസ് ടാബ്

നിയന്ത്രണ ഓപ്പറേറ്റർ

ഒരു നിയന്ത്രണം പ്രവർത്തിപ്പിക്കുന്ന ടോക്കൺ . ഇത് ഇനിപ്പറയുന്ന ചിഹ്നങ്ങളിൽ ഒന്നാണ്:

|| & &&; ;;; () |

റിസർവ്വ് ചെയ്ത വാക്കുകൾ

നിയന്ത്രിത പദങ്ങൾ ഷെല്ലിന് പ്രത്യേക അർഥമുള്ള വാക്കുകളാണ്. Unquoted എന്നതും ഒരു ലളിതമായ ആജ്ഞയുടെ ആദ്യ പദം (ചുവടെയുള്ള ഷെൽ GRAMMAR കാണുക) അല്ലെങ്കിൽ ഒരു വ്യക്തിയുടേയോ മൂന്നാം കമാൻഡിന്റെയോ നിർദ്ദേശമാക്കുമ്പോൾ ഇനിപ്പറയുന്ന സംഗ്രഹങ്ങൾ തിരിച്ചറിഞ്ഞ് തിരിച്ചാണ് :

! ഇസഡ് fi സ്റ്റെയ്സിന് വേണ്ടി മറ്റൊന്നും ചെയ്തില്ലെങ്കിൽ, തിരഞ്ഞെടുക്കപ്പെട്ട സമയം മുതൽ {time]

ഷെൽ ഗ്രാംമാർ

ലളിതമായ ആജ്ഞകൾ

ലളിതമായ ഒരു കമാൻഡ് എന്നത് ഓപ്ഷണൽ വേരിയബിൾ അസൈൻമെൻസുകളുടെ ഒരു സീക്വൻസാണ്, തുടർന്ന് പതിവില്ലാത്ത വാക്കുകളും റിഡയറേജുകളും അവസാനിപ്പിച്ച് ഒരു നിയന്ത്രണ ഓപ്പറേറ്റർ നിർത്തിവയ്ക്കുന്നു. ആദ്യത്തെ വാക്ക് എക്സിക്യൂട്ട് ചെയ്യുന്ന കമാൻഡ് വ്യക്തമാക്കുന്നു, കൂടാതെ argument zero ആയി നൽകപ്പെടുകയും ചെയ്യുന്നു. ബാക്കിയുള്ള പദങ്ങൾ നിർവചിച്ച ആജ്ഞയിലേക്ക് ആർഗ്യുമെന്റായി നൽകപ്പെടുന്നു.

ഒരു ലളിതമായ ആജ്ഞയുടെ റിട്ടേൺ മൂല്യം, സിഗ്നൽ n ഉപയോഗിച്ച് നിർത്തലാക്കിയാൽ, അതിന്റെ എക്സിറ്റ് നില അല്ലെങ്കിൽ 128+ n ആണ്.

പൈപ്പ് ലൈനുകൾ

ഒരു പൈപ്പ്ലൈൻ എന്നത് പ്രതീകത്തിൽ വേർതിരിച്ച ഒന്നോ അതിലധികമോ കമാൻഡുകളുടെ ഒരു ശ്രേണി ആണ് . ഒരു പൈപ്പ്ലൈൻ ഫോർമാറ്റ്:

[ സമയം [ -p ]] [! ] command | കമാൻഡ് 2 ...]

കമാന്ഡിനത്തിന്റെ സ്റ്റാൻഡേർഡ് ഇൻപുട്ട് ഒരു പൈപ്പിലൂടെ കമാൻഡ് 2 സ്റ്റാൻഡേർഡ് ഇൻപുട്ടിലേക്ക് കണക്ട് ചെയ്തിരിയ്ക്കുന്നു. ഈ കണക്ഷൻ കമാൻഡിൽ നൽകിയിരിക്കുന്ന റിഡയറിക്കുകൾക്ക് മുൻപ് നടത്തുന്നു (താഴെ REDIRECTION കാണുക).

റിസർവ് ചെയ്ത വാക്ക് ഒരു പൈപ്പ്ലൈൻ മുമ്പേ, പൈപ്പ്ലൈൻ എക്സിറ്റ് സ്റ്റാറ്റസ് അവസാന കമാൻഡിന്റെ എക്സിറ്റ് നിലയുടെ ലോജിക്കൽ NOT ആണ്. അല്ലെങ്കിൽ, പൈപ്പ്ലൈൻ നിലയാണ് അവസാന കമാൻഡിന്റെ എക്സിറ്റ് നില. ഷെൽ മൂല്യത്തിലേക്ക് മടങ്ങുന്നതിനു മുൻപ് പൈപ്പ്ലൈനിലെ എല്ലാ നിർദ്ദേശങ്ങൾക്കുമായി കാത്തിരിയ്ക്കുന്നു.

ടൈപ്പ് റിസർവ് ചെയ്ത വാക്ക് ഒരു പൈപ്പ് മുമ്പേ കഴിഞ്ഞാൽ, പൈപ്പ്ലൈൻ അവസാനിക്കുമ്പോൾ, എക്സിക്യൂഷൻ ചെയ്ത ഉപയോഗവും, ഉപഭോക്താവും, സിസ്റ്റത്തിന്റെ സമയവും റിപ്പോർട്ട് ചെയ്യപ്പെടുന്നു. POSIX നിർദ്ദേശിക്കുന്ന ഔട്ട്പുട്ട് ഫോർമാറ്റ് -p ഐച്ഛികം മാറ്റുന്നു. ടൈമിങ് വിവരങ്ങൾ എങ്ങനെ പ്രദർശിപ്പിക്കണമെന്നത് വ്യക്തമാക്കുന്ന ഒരു ഫോർമാറ്റ് സ്ട്രിംഗിലേക്ക് TIMEFORMAT വേരിയബിൾ ക്രമീകരിക്കാം; ഷെൽ വേരിയബിനു കീഴിൽ TIMEFORMAT എന്നതിന്റെ വിവരണം കാണുക.

പൈപ്പ്ലൈനിലുള്ള ഓരോ ആജ്ഞയും പ്രത്യേക പ്രക്രിയയായി പ്രവർത്തിക്കുന്നു (അതായത് ഒരു സബ്ഹിൽ).

ലിസ്റ്റുകൾ

ഒരു ലിസ്റ്റ് ഒന്നോ അതിലധികമോ പൈപ്പ്ലൈനുകളുടെ ഒരോ ശ്രേണികളിലുമാണ് ഒരു ലിസ്റ്റ് . , & , && , അല്ലെങ്കിൽ || , ഒപ്പം ഓപ്ഷണലായി ഒന്ന് നിർത്തിവെച്ചു ; , & , അല്ലെങ്കിൽ .

ഈ പട്ടികയിലെ ഓപ്പറേറ്ററുകളിൽ && | കൂടാതെ അതിനുശേഷം തുല്യ പ്രാധാന്യം ഉണ്ട് . കൂടാതെ &, തുല്യ പ്രാധാന്യം ഉണ്ട്.

ഡീലിമിറ്റ് കമാൻഡുകൾക്കുള്ള സെമി കൊളോൻ എന്നതിന് പകരം ഒന്നോ അതിൽ കൂടുതലോ പുതിയ വരികൾ കാണാവുന്നതാണ്.

കൺട്രോൾ ഓപ്പറേറ്റർ ഒരു കമാൻഡ് അവസാനിപ്പിച്ചാൽ, ഷെൽ ഒരു സബ്സല്ലിലുള്ള പശ്ചാത്തലത്തിൽ കമാൻഡ് എക്സിക്യൂട്ട് ചെയ്യുന്നു. കമാൻഡ് പൂർത്തിയാക്കാൻ ഷെൽ കാത്തിരിക്കുന്നില്ല, തിരികെ വരുന്ന സ്റ്റാറ്റസ് 0. ഒരു വേർതിരിച്ച കമാൻഡുകൾ ; തുടർച്ചയായി എക്സിക്യൂട്ട് ചെയ്യുന്നു; ഓരോ ഷെല്ലിനും ഷെൽ അവസാനിപ്പിക്കാൻ കാത്തിരിക്കുകയാണ് ഷെൽ. അവസാനത്തെ കമാൻഡ് എക്സിറ്റ് സ്റ്റാറ്റസ് ആണ് റിട്ടേൺ സ്റ്റാറ്റസ്.

നിയന്ത്രണ ഓപ്പറേറ്റർമാർ && കൂടാതെ || സൂചിപ്പിക്കുകയും പട്ടികപ്പെടുത്തുകയും അല്ലെങ്കിൽ ലിസ്റ്റുകൾ നൽകുകയും ചെയ്യുക. എ ഫോം ഫോം ഉണ്ട്

കമാൻഡ് 1 && കമാൻഡ് 2

കമാൻഡ് 2 എക്സിറ്റ് നില പൂജ്യം നൽകുന്നുവെങ്കിൽ കമാൻഡ് 2 എക്സിക്യൂട്ട് ചെയ്യുന്നു.

ഒരു OR പട്ടികക്ക് ഫോം ഉണ്ട്

കമാന്ഡ് 1 || കമാൻഡ് 2

കമാൻഡ് 2 ഒരു നോൺ-നോൺ എക്സിറ്റ് സ്റ്റാറ്റസ് തിരികെ നൽകുന്നുവെങ്കിൽ കമാൻഡ് 2 എക്സിക്യൂട്ട് ചെയ്യുന്നു. ലിസ്റ്റിലെ എക്സിറ്റ് ചെയ്യുക, അവസാനത്തെ കമാൻഡ് എക്സിറ്റ് സ്റ്റാറ്റസ് എന്നിവയാണ്.

കോമ്പൌണ്ടഡ് കമാൻഡുകൾ

ഒരു സംയുക്ത കമാൻഡ് താഴെപറയുന്നു:

( പട്ടിക )

ലിസ്റ്റ് സബ്സല്ലത്തിൽ നടപ്പിലാക്കുന്നു. ഷെല്ലിന്റെ പരിതസ്ഥിതിയെ ബാധിക്കുന്ന വേരിയബിൾ നിയമനങ്ങളും ബിൽഡിൻ കമാൻഡുകളും കമാൻഡ് പൂർത്തിയാക്കിയ ശേഷം ഫലത്തിൽ തന്നെ തുടരില്ല. റിട്ടേൺ സ്റ്റാറ്റസ് ലിസ്റ്റിന്റെ എക്സിറ്റ് നിലയാണ്.

{ list ; }

നിലവിലുള്ള ഷെൽ എൻവയണ്മെന്റിൽ ലളിതമായി നടപ്പിലാക്കുന്നു. ലിസ്റ്റ് ഒരു പുതിയ വരിയോ അർദ്ധവിരാമയോ ഉപയോഗിച്ച് അവസാനിപ്പിക്കണം. ഇതിനെ ഒരു ഗ്രൂപ്പ് കമാൻഡ് എന്ന് വിളിക്കുന്നു . റിട്ടേൺ സ്റ്റാറ്റസ് ലിസ്റ്റിന്റെ എക്സിറ്റ് നിലയാണ്. മെറ്റാച്ചാക്ടറുകളിൽ നിന്ന് വ്യത്യസ്തമായി ( ഒപ്പം ) , { , } സംവരണം ചെയ്തിട്ടുള്ള വാക്കുകൾ എന്നിവയും ഒരു റിസർവ് ചെയ്ത പദത്തെ തിരിച്ചറിയാൻ അനുവദിക്കുന്നയിടത്ത് ഉണ്ടാകണം. അവ ഒരു വാക്കു് തകരാറല്ല കാരണം അവ വൈറ്റ്സ്പെയ്സ് വഴി പട്ടികയിൽ നിന്നും വേർതിരിയ്ക്കേണ്ടതാണ്.

(( എക്സ്പ്രഷൻ ))

ARITHMETIC മൂല്യനിർണയത്തിൻ കീഴിൽ ചുവടെ വിവരിച്ചിട്ടുള്ള നിയമങ്ങൾക്കനുസൃതമായി എക്സ്പ്രഷൻ വിലയിരുത്തുക . പദപ്രയോഗത്തിന്റെ മൂല്യം പൂജ്യമല്ലെങ്കിൽ, മടക്കം സ്റ്റാൻഡേർഡ് 0 ആണ്; അല്ലെങ്കിൽ റിട്ടേൺ സ്റ്റാറ്റസ് 1. " എക്സ്പ്രഷൻ " എന്നതിന് തുല്യമാണ്.

[[ എക്സ്പ്രഷൻ ]]

വ്യവസ്ഥാപിത എക്സ്പ്രഷൻ എക്സ്പ്രഷനിയുടെ മൂല്യനിർണ്ണയം അനുസരിച്ച് 0 അല്ലെങ്കിൽ 1 എന്ന നില മടക്കി നൽകുക . ആശയവിനിമയത്തിന് കീഴിൽ അവതരിപ്പിച്ചിരിക്കുന്ന പ്രാഥമിക ഘടകങ്ങളാണ് കോൺടിഷണൽ എക്സ്പ്രെഷനുകൾ . [[ പിന്നെ ]] തമ്മിലുള്ള വാക്കുകളിൽ പദ വിഭ്രാന്തിയും പാതാത വിപുലീകരണവും നടത്തുകയില്ല; ടിൽഡ വികസനം, പരാമീറ്റർ, വേരിയബിൾ വിപുലീകരണം, ഗണിത വിപുലീകരണം, കമാൻഡ് സബ്ജക്റ്റിന്, പ്രോസസ് സബ്ജക്റ്റ്, ഉദ്ധരണികൾ എന്നിവ നീക്കം ചെയ്യുന്നു.

== പിന്നെ ! = ഓപ്പറേറ്റർമാർ ഉപയോഗിക്കുമ്പോൾ, ഓപ്പറേറ്റർ വലതുവശത്തുള്ള സ്ട്രിംഗ് പാറ്റേൺ പൊരുത്തപ്പെടുന്നതിന് ചുവടെ വിശദീകരിച്ചിട്ടുള്ള നിയമങ്ങളനുസരിച്ച് ഒരു പാറ്റേൺ ആയി കണക്കാക്കപ്പെടുന്നു. സ്ട്രിംഗ് പൊരുത്തപ്പെടുന്നത് അല്ലെങ്കിൽ പാറ്റേൺ പൊരുത്തപ്പെടുന്നില്ലെങ്കിൽ 1, അല്ലെങ്കിൽ മറ്റൊരുവിധത്തിൽ 0 എന്നതാണ് റിട്ടേൺ മൂല്യം. പാറ്റേണിന്റെ ഏതെങ്കിലും ഭാഗം അതിനെ ഒരു സ്ട്രിംഗുമായി പൊരുത്തപ്പെടുത്താൻ നിർബന്ധിതമായി ഉദ്ധരിക്കാം.

മുൻഗണനയുടെ ക്രമം അനുസരിച്ച് താഴെപ്പറയുന്ന ഓപ്പറേറ്ററുകൾ ഉപയോഗിച്ച് എക്സ്പ്രഷനുകൾ കൂട്ടിച്ചേർക്കാം:

( പദപ്രയോഗം )

എക്സ്പ്രഷനുകളുടെ മൂല്യം നൽകുന്നു. ഓപ്പറേറ്ററുകളുടെ സാധാരണ മുൻഗണനയെ അസാധുവാക്കാൻ ഇത് ഉപയോഗിച്ചേക്കാം.

! എക്സ്പ്രഷൻ

എക്സ്പ്രഷൻ തെറ്റാണെങ്കിൽ ശരി.

expression1 && expression2

രണ്ട് expression1 ഉം expression2 ഉം ശരിയാണെങ്കിൽ ശരി.

expression1 || expression2 ഒന്നുകിൽ expression1 അല്ലെങ്കിൽ expression2 സത്യമാണ്.

&& ഉം എക്സ്പീരിയൻസ് 1 ന്റെ മൂല്യം മുഴുവൻ നിബന്ധനവിധേയമായ പദപ്രയോഗത്തിന്റെ തിരിച്ചടവ് നിർണ്ണയിക്കാൻ പര്യാപ്തമാണെങ്കിൽ ഓപ്പറേറ്റർമാർ എക്സ്പ്രഷൻ 2 പരിശോധിക്കുന്നില്ല.

ഒരു വാക്കും വിട്ടുകളയരുതു. പട്ടിക ചെയ്യാൻ ; ചെയ്തു

താഴെ പറയുന്ന പദങ്ങളുടെ പട്ടിക വിപുലീകരിച്ചിരിക്കുന്നു, ഇനങ്ങൾ ഒരു പട്ടിക നിർമ്മിക്കുന്നു. ഈ പട്ടികയിലെ ഓരോ ഘടകത്തിലേയും വേരിയബിൾ നാമം ക്രമീകരിച്ചു, ഓരോ തവണയും ലിസ്റ്റ് എക്സിക്യൂട്ട് ചെയ്യുന്നു. പദത്തിൽ ഒഴിവാക്കിയിട്ടുണ്ടെങ്കിൽ, ഓരോ സ്ഥായിയായ പരാമീറ്ററിലും ഒന്നിൽ കമാൻഡ് എക്സിക്യൂട്ട് ചെയ്യപ്പെടും (മുകളിൽ PARAMETERS കാണുക). അവസാനത്തെ കമാൻഡ് എക്സിറ്റ് സ്റ്റാറ്റസ് ആണ് റിട്ടേൺ സ്റ്റാറ്റസ്. ഒരു ഒഴിഞ്ഞ പട്ടികയിൽ ഫലങ്ങളിൽ തുടർന്നു കൊണ്ടിരിക്കുന്ന ഇനങ്ങളുടെ വികാസമില്ലെങ്കിൽ, ഒരു കമാൻഡും എക്സിക്യൂട്ട് ചെയ്യുന്നില്ല, റിട്ടേൺ നില 0 ആണ്.

( expr1 ; expr2 ; expr3 )); പട്ടിക ചെയ്യാൻ ; ചെയ്തു

ആദ്യം, അരിത്മെറ്റിക് ഇവാലമേഷനു കീഴിൽ താഴെ വിവരിച്ചിരിക്കുന്ന നിയമങ്ങളനുസരിച്ച് അരിത്മെറ്റിക് എക്സ്പ്രഷൻ expr1 പരിശോധിക്കുന്നു . പൂജ്യം വിലയിരുത്തുന്നതുവരെ ഈ ഗണിത എക്സ്പ്രഷൻ expr2 പിന്നീട് ആവർത്തിച്ച് വിലയിരുത്തുന്നു. ഓരോ സമയത്തും പൂജ്യം അല്ലാത്ത മൂല്യത്തിലേക്ക് expr2 മൂല്യനിർണ്ണയം ചെയ്യുന്നു, ലിസ്റ്റ് എക്സിക്യൂട്ട് ചെയ്യുന്നു, കൂടാതെ അരിത്മെറ്റിക് എക്സ്പ്രഷൻ expr3 മൂല്യനിർണ്ണയം ചെയ്യപ്പെടുന്നു. ഏതെങ്കിലും എക്സ്പ്രഷൻ ഒഴിവാക്കിയിട്ടുണ്ടെങ്കിൽ, അത് 1 എന്ന് വിലയിരുത്തുന്നതുപോലെ പ്രവർത്തിക്കുന്നു. തിരികെ നൽകുന്ന മൂല്യം അവസാനത്തെ കമാൻഡിലെ എക്സിറ്റ് സ്റ്റാറ്റസ് നിർവ്വചിച്ചിരിക്കുന്നു അല്ലെങ്കിൽ ഏതെങ്കിലും ഏതെങ്കിലും എക്സ്പ്രെഷനുകൾ അസാധുവാണെങ്കിൽ തെറ്റാണ്.

പേര് [ പദത്തിൽ ] തിരഞ്ഞെടുക്കുക ; പട്ടിക ചെയ്യാൻ ; ചെയ്തു

താഴെ പറയുന്ന പദങ്ങളുടെ പട്ടിക വിപുലീകരിച്ചിരിക്കുന്നു, ഇനങ്ങൾ ഒരു പട്ടിക നിർമ്മിക്കുന്നു. വിപുലീകരിച്ച വാക്കുകൾ സെറ്റ് സ്റ്റാൻഡേർഡ് പിശകുകളിൽ അച്ചടിച്ചു, ഓരോന്നിനുമുമ്പുള്ള ഓരോ അക്കങ്ങളും. പദത്തിൽ ഒഴിവാക്കിയിട്ടുണ്ടെങ്കിൽ, സ്ഥാനമാറ്റ ഘടകങ്ങൾ പ്രിന്റ് ചെയ്യുന്നു (താഴെ PARAMETERS കാണുക). അപ്പോൾ PS3 പ്രോംപ്റ്റ് പ്രദർശിപ്പിച്ച് സ്റ്റാൻഡേർഡ് ഇൻപുട്ടിൽ നിന്ന് വായിക്കുന്ന ഒരു ലൈൻ. വരിയിൽ കാണിച്ചിരിക്കുന്ന പദങ്ങളിൽ ഒന്നിന് ഒരു നമ്പർ ഉണ്ടെങ്കിൽ, ആ വാക്കിന്റെ മൂല്യം ആ പദത്തിലേക്ക് സജ്ജമാക്കും. വരി ശൂന്യമാണെങ്കിൽ, വാക്കുകളും നിർദ്ദേശങ്ങളും വീണ്ടും കാണിക്കുന്നു. EOF വായിച്ചാൽ, കമാൻഡ് പൂർത്തിയാകും. മറ്റേതെങ്കിലും മൂല്യം വായിച്ചാൽ പൂജ്യം പൂരിപ്പിക്കാൻ കാരണമാകുന്നു. വരി റീചാർ ചെയ്യുമ്പോൾ REPLY ൽ രേഖപ്പെടുത്തുന്നു . ഒരു ബ്രേക്ക് കമാൻഡ് എക്സിക്യൂട്ട് ചെയ്യുന്നതുവരെ ഓരോ തിരഞ്ഞെടുക്കലിനും ശേഷം ലിസ്റ്റ് എക്സിക്യൂട്ട് ചെയ്യുന്നു. തെരഞ്ഞെടുക്കുന്നതിന്റെ എക്സിറ്റ് സ്റ്റാറ്റസ് എക്സിറ്റ് സ്റ്റാറ്റസ് ലിസ്റ്റിലുപയോഗിച്ച അവസാനത്തെ കമാൻഡ് അല്ലെങ്കിൽ പൂരിപ്പിക്കാത്ത ഒരു കമാണ്ടുകളും ഇല്ലെങ്കിൽ പൂജ്യമാണ്.

[[(] പാറ്റേൺ രീതിയിൽ |

ഒരു കേസ് കമാൻഡ് ആദ്യം പദം വികസിപ്പിക്കുന്നു, കൂടാതെ ഓരോ പാറ്റേണിലും ഇത് പൊരുത്തപ്പെടുത്താൻ ശ്രമിക്കുന്നു, കൂടാതെ പാത്ത്നാമ വിപുലീകരണത്തിനായുള്ള സമാന പൊരുത്തപ്പെടുന്ന നിയമങ്ങൾ ഉപയോഗിച്ച് ഇത് ഉപയോഗിക്കുക (ചുവടെയുള്ള പാതയുടെ വിപുലീകരണം കാണുക). ഒരു പൊരുത്തം കണ്ടെത്തുമ്പോൾ, അനുബന്ധ ലിസ്റ്റ് എക്സിക്യൂട്ട് ചെയ്യുന്നു. ആദ്യ മത്സരം കഴിഞ്ഞ്, തുടർന്നുള്ള മത്സരങ്ങളെ പരിശ്രമിച്ചില്ല. പാറ്റേൺ പൊരുത്തമില്ലെങ്കിൽ പുറത്തുകടന്ന നില പൂജ്യമാണ്. അല്ലെങ്കിൽ, പട്ടികയിൽ അവസാനത്തെ കമാൻഡ് എക്സിറ്റ് സ്റ്റാറ്റസ് ആണ്.

പട്ടിക എങ്കിൽ ; പട്ടികയിൽ; [ എലിഫ് ലിസ്റ്റ് ; പട്ടികയിൽ ; ] ... [ വേറെ ലിസ്റ്റ് ; ] fi

ലിസ്റ്റ് എക്സിക്യൂട്ട് ചെയ്താൽ. ഇതിന്റെ എക്സിറ്റ് നില പൂജ്യമാണെങ്കിൽ, അപ്പോൾ ലിസ്റ്റ് എക്സിക്യൂട്ട് ചെയ്യുന്നു. അല്ലെങ്കിൽ ഓരോ എലിഫ് ലിസ്റ്റും ഓരോ തവണയും എക്സിറ്റ് ചെയ്യപ്പെടുന്നു, കൂടാതെ അതിന്റെ എക്സിറ്റ് നില പൂജ്യമാണെങ്കിൽ, അതിന് അനുസൃതമായ പട്ടിക നിർവ്വഹിക്കുകയും കമാൻഡ് പൂർത്തിയാകുകയും ചെയ്യുന്നു. അല്ലെങ്കിൽ, ഇല്ലെങ്കിൽ, മറ്റൊരു ലിസ്റ്റ് നടപ്പിലാക്കും. എക്സിറ്റ് സ്റ്റാറ്റസ് എന്റൈറ്റിൽ സ്റ്റാറ്റസ് എക്സിറ്റ്ഡേറ്റ് ചെയ്ത അവസാന കമാൻഡ്, അല്ലെങ്കിൽ പൂജ്യമോ ഒരു വ്യവസ്ഥയും ശരിയായി പരിശോധിക്കാത്ത പക്ഷം.

പട്ടികയിൽ ; പട്ടിക ചെയ്യാൻ ; ചെയ്തു

ലിസ്റ്റ് വരെ ; പട്ടിക ചെയ്യാൻ ; ചെയ്തു

പട്ടികയിലെ അവസാനത്തെ കമാൻഡ് പൂജ്യത്തിന്റെ എക്സിറ്റ് നിലയെ നൽകുന്നിടത്തോളം കാലം കമാൻഡ് തുടർച്ചയായി പ്രവൃത്തി പട്ടിക നിർവ്വഹിക്കുന്നു. ടെസ്റ്റ് നിശബ്ദമാണെങ്കിലും, while കമാൻഡിന് ഒരേപോലെയാണ് കമാൻഡ്; പട്ടികയിലെ അവസാനത്തെ കമാൻഡ് പൂജ്യം അല്ലാത്ത എക്സിറ്റ് സ്റ്റാറ്റസ് നൽകുന്നിടത്തോളം കാലം ഡൂപ്പ് ലിസ്റ്റ് എക്സിക്യൂട്ട് ചെയ്യുന്നു. എക്സിറ്റ് സ്റ്റാറ്റസും കൂടാതെ കമാൻഡുകൾ വരെയുമാണ് അവസാനത്തെ ലിസ്റ്റ് കമാൻഡ് എക്സിറ്റ് സ്റ്റാറ്റസ് പ്രവർത്തിപ്പിക്കുന്നത് , അല്ലെങ്കിൽ പൂട്ട് ഒന്നുമില്ലെങ്കിൽ പൂജ്യം.

[ ഫംഗ്ഷൻ ] പേര് () { ലിസ്റ്റ് ; }

പേര് പേരുള്ള ഫങ്ഷൻ നിർവ്വചിക്കുന്നു. ഫങ്ഷന്റെ ശരീരം {നും} നും ഇടയിലുള്ള കമാൻഡുകളുടെ പട്ടികയാണ് . ഒരു ലളിതമായ ആജ്ഞയുടെ പേരായി പേരു് നൽകിയിരിക്കുമ്പോൾ ഈ ലിസ്റ്റ് എക്സിക്യൂട്ട് ചെയ്യുന്നു. ഒരു ഫങ്ഷന്റെ എക്സിറ്റ് സ്റ്റാറ്റസ് എന്നത് body- ൽ അവസാന കമാൻഡ് എക്സിറ്റ് സ്റ്റാറ്റസ് ആണ്. (താഴെയുള്ള FUNCTIONS കാണുക.)

COMMENTS

നോൺ-ഇൻററാക്ടീവ് ഷെൽ അല്ലെങ്കിൽ ഒരു ഇന്ററാക്ടീവ് ഷെല്ലിൽ, ഇൻററാക്ടീവ്_കോംമെന്റ് ഓപ്ഷനുകൾ സ്റ്റാറ്റ് ബിൽഡിനു് പ്രവർത്തന സജ്ജമാക്കിയിരിയ്ക്കുന്നു (താഴെ ഷെൽ ബിൽഡിൻ കമാൻറുകൾ കാണുക), ആ വരിയിൽ ആ വാക്കും അവശേഷിക്കുന്ന എല്ലാ അക്ഷരങ്ങളും അവഗണിക്കേണ്ട # കാരണങ്ങൾ കൊണ്ടാണ് ആരംഭിക്കുന്നത്. പ്രവർത്തന സജ്ജമാക്കിയ ഇൻററാക്റ്റീവ്_ comments ഓപ്ഷൻ കൂടാതെ ഒരു ഇന്ററാക്ടീവ് ഷെൽ അഭിപ്രായങ്ങൾ അനുവദിക്കുന്നില്ല. സംവേദനാത്മക ഷെല്ലുകളിലാണു് ഇന്ററാക്ടീവ്_comments ഉപാധി സ്വതവേ ഉള്ളതു്.

QUOTING

ചില പ്രതീകങ്ങളോ വാക്കുകളുടെയോ പ്രത്യേക അർത്ഥം ഷെല്ലിലേക്ക് നീക്കം ചെയ്യാൻ ഉദ്ധരിക്കുക . സ്പെഷ്യൽ ക്യാരക്ടറുകൾക്ക് പ്രത്യേകം ചികിത്സ ഒഴിവാക്കാനും, റിസർവ് ചെയ്ത വാക്കുകൾ തിരിച്ചറിയുന്നതിൽ നിന്നും തടയുകയും, പാരാമീറ്റർ വിപുലീകരണത്തെ തടയാനും ഉപയോഗിക്കാം.

DEFINITIONS എന്നതിന് മുകളിൽ പട്ടികപ്പെടുത്തിയിരിക്കുന്ന മെറ്റാച്ചാർട്ടർമാർ ഓരോ ഷെല്ലിനും പ്രത്യേക അർഥമുണ്ടായിരിക്കും, അത് സ്വയം പ്രതിനിധാനം ചെയ്യുകയാണെങ്കിൽ അത് ഉദ്ധരിക്കപ്പെടണം.

കമാൻഡ് ചരിത്രം വിപുലീകരണ സൗകര്യങ്ങൾ ഉപയോഗിക്കുമ്പോൾ, സാധാരണയായി ചരിത്രത്തിന്റെ വ്യാപന സ്വഭാവം ! ചരിത്രം വിപുലീകരണത്തെ തടയാൻ ഉദ്ധരിക്കുക.

മൂന്ന് ഉദ്ധരണികൾ മെക്കാനിസം ഉണ്ട്: എസ്കേപ്പ് പ്രതീകം , സിംഗിൾ ഉദ്ധരണികൾ, ഇരട്ട ഉദ്ധരണികൾ.

നോൺ-ഉദ്ധരിച്ച ബക്സ് ലാഷ് ( \ ) എസ്കേപ്പ് പ്രതീകമാണ് . എന്നതിനുപുറമേ, അടുത്ത അക്ഷരത്തിന്റെ അക്ഷരീയ മൂല്യം സംരക്ഷിക്കുന്നു. \ ജോടി പ്രത്യക്ഷപ്പെടുകയും backslash എന്നത് തന്നെ ഉദ്ധരിച്ചില്ലെങ്കിൽ \ ഒരു വരി തുടർച്ചയായി കണക്കാക്കുകയും ചെയ്യുന്നു (അതായത്, ഇൻപുട്ട് സ്ട്രീമിൽ നിന്ന് അത് നീക്കംചെയ്യുകയും ഫലത്തിൽ അവഗണിക്കപ്പെടുകയും ചെയ്യും).

ഒരൊറ്റ ഉദ്ധരണികളിൽ പ്രതീകങ്ങളെ അടയ്ക്കുന്നതിലൂടെ ഉദ്ധരണികൾക്കുള്ളിലെ ഓരോ അക്ഷരത്തിന്റെയും അക്ഷരത്തെറ്റിനെ സംരക്ഷിക്കുന്നു. സിംഗിൾ ഉദ്ധരണികൾക്കുമുമ്പിൽ ഒരു ബാഗിൽ നിന്നുപോലും ഒരു സിംഗിൾ ഉദ്ധാരണം ഉണ്ടാകാറില്ല.

ഇരട്ട ഉദ്ധരണികളിലുള്ള പ്രതീകങ്ങൾ അടയ്ക്കുന്നതിലൂടെ ഉദ്ധരണികൾക്കുള്ളിൽ എല്ലാ പ്രതീകങ്ങളുടേയും അക്ഷര മൂല്യത്തെ സംരക്ഷിക്കുന്നു, അവ ഒഴിവാക്കിക്കൊണ്ട് $ , ` , കൂടാതെ \ . ഇരട്ട ഉദ്ധരണികളിൽ അക്ഷരങ്ങൾ $ , എന്നതിന് പ്രത്യേക അർഥം നിലനിർത്തുന്നു. $ , ` , " , \ , അല്ലെങ്കിൽ ഒരു ഇരട്ട ഉദ്ധരണികൾക്കുള്ളിൽ ഒരു ബാക്കപ്പ് ഉപയോഗിച്ച് മുൻപിലത്തെ സൂചനയിൽ ഉദ്ധരിക്കുമ്പോൾ മാത്രമാണ് പിൻവലിക്കലിന്റെ പ്രത്യേക അർഥം നിലനിർത്തുന്നത്.

ഇരട്ട ഉദ്ധരണികൾ ചെയ്യുമ്പോൾ സവിശേഷ പാരാമീറ്ററുകൾ * , എന്നിവയ്ക്ക് പ്രത്യേക അർഥമുണ്ട് ( PARAMETERS താഴെ കാണുക).

ഫോം സ്ട്രിംഗ് ഫോം പ്രത്യേകമായി പരിഗണിക്കുന്നു. ആ സ്ട്രിങിലേക്ക് ഈ വാക്ക് വികസിക്കുന്നു, ആൻസി സി സ്റ്റാൻഡേർഡ് വ്യക്തമാക്കിയതുപോലെ ബക്സ് ലാഷ്-എസ്റ്റാക്ക് ചെയ്ത പ്രതീകങ്ങൾ മാറ്റി പകരം വയ്ക്കുക. ബാക്ക്സ്ളാഷ് എസ്കേപ്പ് ശ്രേണികൾ ഉണ്ടെങ്കിൽ, ഡീകോഡ് ചെയ്തിരിയ്ക്കുന്നു:

\ a

മുന്നറിയിപ്പ് (മണി)

\ b

ബാക്ക്സ്പെയ്സ്

\ e

ഒരു രക്ഷപ്പെടൽ പ്രതീകം

\ f

ഫോം ഫീഡ്

\ n

പുതിയ വര

\ r

കറേജ് റിട്ടേൺ

\ t

തിരശ്ചീന ടാബ്

\ v

ലംബ ടാബിൽ

\\

ബാക്ക്സ്ലാഷ്

\ '

ഒരൊറ്റ ഉദ്ധരണി

\ n എൻ

എട്ട് ബിറ്റ് പ്രതീകം ആരുടെ മൂല്യം ഒക്ടൽ മൂല്യം nnn ആണ് (ഒന്ന് മുതൽ മൂന്നു വരെ അക്കങ്ങൾ)

\ x HH

എട്ട് ബിറ്റ് പ്രതീകം ആരുടെ വിലയാണ് ഹെക്സാഡെസിമൽ മൂല്യം HH (ഒന്നോ രണ്ടോ ഹെക്സ് ഡിജിറ്റുകൾ)

\ c x

ഒരു നിയന്ത്രണം- x പ്രതീകം

ഡോളർ ചിഹ്നം ഉണ്ടായിരുന്നില്ലെന്നപോലെ വിപുലീകരിച്ച ഫലം സിംഗിൾ ഉദ്ധരിച്ചതാണ്.

ഒരു ഡോളർ ചിഹ്നം ( $ ) മുൻപ് ഡബിൾ ക്രോട്ട് ചെയ്ത സ്ട്രിംഗ് നിലവിലെ ഭാഷയ്ക്ക് അനുസരിച്ച് സ്ട്രിംഗ് വിവർത്തനം ചെയ്യുവാൻ ഇടയാക്കും. നിലവിലെ ഭാഷ C അല്ലെങ്കിൽ POSIX ആണെങ്കിൽ, ഡോളർ ചിഹ്നം അവഗണിക്കപ്പെടുന്നു. സ്ട്രിംഗ് വിവർത്തനം ചെയ്യുകയും മാറ്റി പകരം വക്കുകയും ചെയ്താൽ, പകരം മാറ്റം ഇരട്ടിയാകും.

പാരാമീറ്ററുകൾ

മൂല്യങ്ങൾ സംഭരിക്കുന്ന ഒരു എന്റിറ്റാണ് ഒരു പാരാമീറ്റർ . പ്രത്യേക പരാമീറ്ററുകൾക്ക് ചുവടെ ലിസ്റ്റുചെയ്തിരിക്കുന്ന ഒരു പേര് , ഒരു നമ്പർ, അല്ലെങ്കിൽ പ്രത്യേക പ്രതീകങ്ങളിൽ ഒന്ന്. ഷെല്ലിന്റെ ആവശ്യങ്ങൾക്കായി, ഒരു പേരുകൊണ്ട് സൂചിപ്പിച്ചിരിക്കുന്ന ഒരു പരാമീറ്ററാണ് ഒരു വേരിയബിൾ . ഒരു വേരിയബിളിന് ഒരു മൂല്യവും പൂജ്യം അല്ലെങ്കിൽ കൂടുതൽ ആട്രിബ്യൂട്ടുകളും ഉണ്ട് . പ്രസ്താവനയുടെ നിർദ്ദിഷ്ട കമാൻഡ് ഉപയോഗിച്ച് ആട്രിബ്യൂട്ടുകൾ നൽകിയിരിക്കുന്നു (താഴെ ഷെൽ ബിൽറ്റ്മാൻ കമാൻഡിനെക്കുറിച്ച് പ്രഖ്യാപിക്കുക കാണുക).

ഒരു മൂല്യം അസൈൻ ചെയ്തെങ്കിൽ ഒരു പാരാമീറ്റർ സജ്ജമാക്കിയിരിക്കുന്നു. ശൂന്യ സ്ട്രിംഗ് ഒരു സാധുവായ മൂല്യമാണ്. ഒരു വേരിയബിൾ സജ്ജമാക്കിയാൽ, അത് സജ്ജമാക്കാത്ത ബിൽറ്റ് കമാൻഡ് ഉപയോഗിച്ചുമാത്രമേ ഇത് സജ്ജമാക്കാതാകൂ (താഴെ ഷെൽ ബിൽറ്റ്ലൈൻ കമാൻഡുകൾ കാണുക).

ഒരു വേരിയബിള് ഫോമിന്റെ ഒരു പ്രസ്താവന പ്രകാരം അര്ഹതപ്പെടാം

പേര് = [ മൂല്യം ]

മൂല്യം നൽകിയില്ലെങ്കിൽ, വേരിയബിൾ നൾ സ്ട്രിംഗ് ആക്കിയിരിക്കുന്നു. എല്ലാ മൂല്യങ്ങളും ടിൽഡ വികസനം, പാരാമീറ്റർ, വേരിയബിൾ വിപുലീകരണം, കമാൻഡ് സബ്ജക്ട്, ഗണിത വിപുലീകരണം, ഉദ്ധരണികൾ നീക്കംചെയ്യൽ എന്നിവയ്ക്ക് വിധേയമാണ് (താഴെ EXPANSION കാണുക). വേരിയബിളിന് അതിന്റെ സമ്പൂർണ്ണ ആട്രിബ്യൂട്ട് സെറ്റ് ഉണ്ടെങ്കിൽ, $ ((...)) വിപുലീകരണം ഉപയോഗിക്കപ്പെട്ടിട്ടില്ലെങ്കിൽ പോലും മൂല്യം അംബാത്റ്റിക്ക് വിപുലീകരണത്തിന് വിധേയമാണ് (താഴെ അരിത്മെറ്റിക് എക്സ്പാൻഷൻ കാണുക). സ്പെഷ്യൽ പാരാമീറ്ററുകൾക്ക് ചുവടെ വിശദമാക്കിയിട്ടുള്ളതുപോലെ "$ @" ഒഴികെയുള്ള പദ വിഭജനം നടപ്പിലാക്കിയിട്ടില്ല. പാത്ത്പേജ് വിപുലീകരണം നടപ്പാക്കപ്പെടുന്നില്ല. പ്രഖ്യാപനം , തരങ്ങൾ , കയറ്റുമതി , വായന മാത്രം , തദ്ദേശീയ ബിൽഡിൻ കമാൻഡുകൾ എന്നിവയ്ക്കുള്ള ആർഗ്യുമെന്റുകളായി അസൈൻമെന്റ് പ്രസ്താവനകൾ പ്രത്യക്ഷപ്പെടാം.

പോസിഷണൽ പാരാമീറ്ററുകൾ

സിംഗിൾ അക്കത്തെക്കൂടാതെ, ഒന്നോ അതിലധികമോ അക്കങ്ങൾ സൂചിപ്പിയ്ക്കുന്ന ഒരു പരാമീറ്ററാണു് positional parameter . പോസിറ്റീവ് പരാമീറ്ററുകൾ ഷെൽ ഉപയോഗിച്ചു് വരുമ്പോൾ ഷെല്ലിന്റെ ആർഗ്യുമെന്റുകളിൽ നിന്നും നൽകിയിരിയ്ക്കുന്നു. അസൈൻമെന്റ് പ്രസ്താവനകളോടൊപ്പം പോസിഷണൽ പാരാമീറ്ററുകൾ നിയുക്തമാകില്ല. ഷെൽ ഫംഗ്ഷൻ എക്സിക്യൂട്ട് ചെയ്യുമ്പോൾ, positional parameters താല്ക്കാലികമായി മാറ്റിയിരിക്കുന്നു (താഴെ കൊടുത്തിരിക്കുന്ന FUNCTIONS കാണുക).

ഒരു അക്കത്തേക്കാൾ കൂടുതൽ കൂട്ടിച്ചേർത്ത് ഒരു സ്ഥാനാർത്ഥി പാരാമീറ്റർ വികസിപ്പിക്കപ്പെടുമ്പോൾ, അത് ബ്രെയ്സുകളിൽ ചേർക്കണം (താഴെ EXPANSION കാണുക).

പ്രത്യേക പരിമിതികൾ

ഷെൽ പ്രത്യേകം പല പരിപാടികളും കൈകാര്യം ചെയ്യുന്നു. ഈ പരാമീറ്ററുകൾ റഫർ ചെയ്യപ്പെടണം; അവയ്ക്ക് നിയമനം അനുവദനീയമല്ല.

*

ഒന്നില് നിന്ന് ആരംഭിക്കുന്ന positional പാരാമീറ്ററുകളിലേക്ക് വികസിപ്പിക്കുന്നു. ഇരട്ട ഉദ്ധരണികൾക്കുള്ളിൽ വികസനം സംഭവിക്കുമ്പോൾ, ഐഎഫ്എസ് സ്പെഷ്യൽ വേരിയബിളിന്റെ ആദ്യ പ്രതീകത്തിൽ വേർതിരിക്കുന്ന ഓരോ പരാമീറ്ററിന്റെയും മൂല്യം ഒരു ഒറ്റ വാക്കിലേക്ക് വ്യാപിക്കുന്നു. അതായത്, " $ 1 " എന്നത് " $ 1 സി $ 2 സി ... " എന്നതിന് സമാനമാണ്. ഇവിടെ, c IF വേരിയബിളിന്റെ വിലയുടെ ആദ്യ പ്രതീകം c ആണ്. IFS സജ്ജമാക്കാത്തെങ്കിൽ, പരാമീറ്ററുകൾ സ്പെയിസുകളാൽ വേര്പെടുത്തിയിരിക്കുന്നു. IFS പൂജ്യം ആണെങ്കിൽ, പരാമീറ്ററുകൾ ഇടപെടലില്ലാതെ ഇടപെട്ടിരിക്കുന്നു.

@

ഒന്നില് നിന്ന് ആരംഭിക്കുന്ന positional പാരാമീറ്ററുകളിലേക്ക് വികസിപ്പിക്കുന്നു. ഇരട്ട ഉദ്ധരണികൾക്കുള്ളിൽ ഈ വികസനം സംഭവിക്കുമ്പോൾ, ഓരോ പാരാമീറ്ററും ഒരു പ്രത്യേക വാക്കിലേക്ക് വ്യാപിക്കുന്നു. അതായത്, " $ 1 " " $ 1 " " $ 2 " എന്നതിനു തുല്യമാണ് ... സ്ഥാനസൂചിക അനുപാതങ്ങൾ ഇല്ലാതിരിക്കുമ്പോൾ, " $ @ " കൂടാതെ $ @ വികസിതവും ഒന്നുമില്ല (അതായത്, അവയെ നീക്കംചെയ്യുന്നു).

#

ദശാംശത്തിലും സ്ഥാനസൂചി പരാമീറ്ററുകളുടെ എണ്ണത്തെ വിപുലീകരിക്കുക.

?

അടുത്തിടെ നടപ്പിലാക്കിയ മുൻവശം പൈപ്പ്ലൈൻ നിലയിലേയ്ക്ക് വികസിപ്പിക്കുന്നു.

-

ആക്റ്റിവേഷൻ, നിർദ്ദിഷ്ട ബിൽഡിൻ കമാൻറ് അല്ലെങ്കിൽ ഷെൽ തന്നെ സജ്ജമാക്കിയ ( -i ഓപ്ഷൻ പോലുള്ളവ) എന്നിവ അനുസരിച്ചുള്ള നിലവിലെ ഐച്ഛിക ഫ്ലാഗുകളിലേക്ക് വികസിപ്പിക്കുന്നു.

$

ഷെല്ലിന്റെ പ്രോസസ് ഐഡിയിലേയ്ക്ക് വികസിപ്പിക്കുന്നു. ഒരു ഉപഘടകത്തിൽ, ഇപ്പോഴത്തെ ഷെല്ലിന്റെ പ്രോസസ് ഐഡിയിൽ ഇത് വ്യാപിക്കുന്നു, സബ്ഷില്ലല്ല.

!

ഏറ്റവും സമീപകാലത്ത് പ്രവർത്തിച്ചിരുന്ന പശ്ചാത്തലത്തിന്റെ (അസിൻക്രണസ്) കമാൻഡ് പ്രോസസ്സ് ഐഡിയിലേയ്ക്ക് വിപുലീകരിക്കുന്നു.

0

ഷെൽ അല്ലെങ്കിൽ ഷെൽ സ്ക്രിപ്റ്റിന്റെ പേര് വികസിപ്പിക്കുന്നു. ഇത് ഷെൽ ആരംഭത്തിൽ സജ്ജീകരിച്ചിരിക്കുന്നു. കമാന്ഡുകളുടെ ഒരു ഫയലില് ബാഷ് അഭ്യണ്ണയിച്ചാല് ആ ഫയലിന്റെ പേരിന് $ 0 സെറ്റ് ചെയ്തിരിക്കുന്നു. -c ഐച്ഛികം ഉപയോഗിച്ചു് ബാഷ് ആരംഭിക്കുകയാണെങ്കിൽ, സ്ട്രിങ് നിലവിലുണ്ടെങ്കിൽ, നടപ്പിലാക്കപ്പെടുന്നതിനു് ശേഷം ആദ്യത്തെ ആർഗ്യുമെന്റിനായി $ 0 സജ്ജമാക്കുന്നു. അല്ലെങ്കിൽ, ആർഗ്യുമെൻറ് പൂജ്യം പോലെ, ബാഷ് ഉപയോഗിക്കുന്നതിന് ഉപയോഗിച്ച ഫയൽ നാമത്തിലേക്ക് ഇത് സജ്ജീകരിച്ചിരിക്കുന്നു.

_

ഷെൽ സ്റ്റാർട്ടപ്പിൽ, ഷെൽ അല്ലെങ്കിൽ ഷെൽ ലിപിയുടെ പൂർണ്ണമായ ഫയൽ നാമം ആർഗ്യുമെൻറ് ലിസ്റ്റിൽ പാസ്സായതു പോലെ നടപ്പിലാക്കുന്നു. അതിനുശേഷം, മുമ്പത്തെ ആജ്ഞയിലേയ്ക്കുള്ള അവസാന ആർഗ്യുമെന്റ് വിപുലീകരിച്ച ശേഷം വികസിപ്പിക്കുന്നു. എക്സിക്യൂട്ട് ചെയ്തിരിക്കുന്ന ഓരോ ആജ്ഞയുടെയും പൂർണ്ണ ഫയൽ നാമം ആ കമാൻഡിലേക്ക് കയറ്റി അയച്ചിട്ടുണ്ട്. മെയിൽ പരിശോധിക്കുന്ന സമയത്ത്, ഈ പരാമീറ്റർ നിലവിൽ പരിശോധിക്കുന്ന മെയിൽ ഫയലിന്റെ പേര് സൂക്ഷിക്കുന്നു.

ഷെൽ വേരിയബിളുകൾ

ഷെല്ലാണ് താഴെ പറയുന്ന വേരിയബിളുകൾ സജ്ജീകരിക്കുന്നത്:

ബാഷ്

ഈ സന്ദർഭത്തിലുള്ള ബാഷ് ഉപയോഗിക്കുന്നതിന് ഉപയോഗിച്ച മുഴുവൻ ഫയൽ നാമത്തിലേക്കും വികസിപ്പിക്കുന്നു.

BASH_VERSINFO

ബാഷ് ഇന്റെർനെറ്റിൽ ഈ വിവരങ്ങൾ വേറിട്ട ഒരു വായന മാത്രം ഉൾക്കൊള്ളുന്ന വായന മാത്രം നിര. ശ്രേണിയിലെ അംഗങ്ങൾക്ക് നൽകിയിരിക്കുന്ന മൂല്യങ്ങൾ ചുവടെ ചേർക്കുന്നു:

BASH_VERSINFO [ 0]

പ്രധാന പതിപ്പ് നമ്പർ ( റിലീസ് ).

BASH_VERSINFO [ 1]

ചെറിയ പതിപ്പ് നമ്പർ ( പതിപ്പ് ).

BASH_VERSINFO [ 2]

പാച്ച് നില.

BASH_VERSINFO [ 3]

ബിൽഡ് പതിപ്പ്.

BASH_VERSINFO [ 4]

റിലീസ് സ്റ്റാറ്റസ് (ഉദാ: ബീറ്റാ 1 ).

BASH_VERSINFO [ 5]

MACHTYPE എന്നതിന്റെ മൂല്യം.

BASH_VERSION

ഈ സന്ദർഭത്തിലുള്ള ബാഷ് ന്റെ പതിപ്പ് വിവരിക്കുന്ന ഒരു സ്ട്രിംഗിലേക്ക് വിപുലീകരിക്കുന്നു.

COMP_CWORD

COMP_LINE

നിലവിലുള്ള കമാൻറ് ലൈൻ. ഈ വേരിയബിള് ഷെല് ഫംഗ്ഷനുകളിലും പ്രോഗ്രാം പ്രോഗ്രാക്ക് പൂര്ത്തിയാക്കാവുന്ന സൌകര്യങ്ങളിലൂടെയും ബാഹ്യ കമാന്ഡുകള്ക്ക് മാത്രമേ ലഭ്യമാകുകയുള്ളൂ (താഴെ പ്രോഗ്രാമബിള് പൂര്ത്തിയാക്കല് ​​കാണുക).

COMP_POINT

COMP_WORDS

നിലവിലെ കമാൻഡ് ലൈനിൽ വ്യക്തിഗത പദങ്ങൾ ഉൾക്കൊള്ളുന്ന ഒരു അറേ വേരിയബിൾ (താഴെ അറകൾ കാണുക). പ്രോഗ്രാമിങ് പൂർത്തിയാക്കാനുള്ള സംവിധാനങ്ങൾ ഉപയോഗിച്ചേക്കാവുന്ന ഷെൽ ഫംഗ്ഷനുകളിൽ മാത്രമേ ഈ വേരിയബിൾ ലഭ്യമാകൂ (താഴെ പ്രോഗ്രാമബിൾ പൂർത്തീകരണം കാണുക).

DIRSTACK

ഡയറക്ടറി സ്റ്റാക്കിന്റെ നിലവിലെ ഉള്ളടക്കങ്ങൾ അടങ്ങിയിരിക്കുന്ന ഒരു അറേ വേരിയബിൾ (താഴെ അറകൾ കാണുക). ഡിസ്റ്റുകൾ ബിൽഡിംഗ് വഴി പ്രദർശിപ്പിക്കുന്ന ക്രമത്തിൽ സ്റ്റാക്കുകളിൽ ദൃശ്യമാകുന്നു. ഈ അറേ വേരിയബിളിന്റെ അംഗങ്ങളിലേക്ക് അസൈൻ ചെയ്യുന്നത് സ്റ്റാക്കിൽ ഇതിനകം ഉള്ള ഡയറക്ടറികൾ മാറ്റാൻ ഉപയോഗിച്ചേക്കാം, പക്ഷേ ഡയറക്ടറി കൂട്ടിച്ചേർക്കാനും നീക്കം ചെയ്യാനും pushd , popd ബിൽഡുകൾ ഉപയോഗിക്കണം. ഈ വേരിയബിളിന് അസൈൻമെന്റ് നിലവിലെ ഡയറക്ടറി മാറ്റില്ല. DIRSTACK സജ്ജമാക്കാത്ത നിലയിലാണെങ്കിൽ, അതിന്റെ പ്രത്യേക സ്വത്തുകൾ അത് പിന്നീട് പുനഃസജ്ജീകരിച്ചിട്ടുണ്ടെങ്കിലും നഷ്ടപ്പെടും.

EUID

നിലവിലെ ഉപയോക്താവിനുള്ള ഫലപ്രദമായ ഉപയോക്തൃ ഐഡിയിലേക്കു് വികസിപ്പിക്കുകയും, ഷെൽ സ്റ്റാർട്ടപ്പിൽ ആരംഭിക്കുകയും ചെയ്യുന്നു. ഈ ചരം വായനമാത്രമാണ്.

FUNCNAME

നിലവിൽ നടപ്പിലാക്കുന്ന ഏതെങ്കിലും ഷെൽ ഫംഗ്ഷന്റെ പേര്. ഒരു ഷെൽ ഫംഗ്ഷൻ എക്സിക്യൂട്ട് ചെയ്യുമ്പോൾ മാത്രമേ ഈ വേരിയബിൾ നിലനിൽക്കൂ. FUNCNAME ലേക്കുള്ള അസൈൻമെന്റുകൾക്ക് യാതൊരു സ്വാധീനവും ഒരു പിശക് നിലയും മടക്കി നൽകുന്നു. FUNCNAME സജ്ജമാക്കാത്ത നിലയിലാണെങ്കിൽ, അതിന്റെ പ്രത്യേക സ്വത്തുകൾ അത് പിന്നീട് പുനഃസജ്ജീകരിച്ചിട്ടുണ്ടെങ്കിലും നഷ്ടപ്പെടും.

GROUPS

നിലവിലുള്ള ഉപയോക്താവ് അംഗമായ ഗ്രൂപ്പുകളുടെ പട്ടിക ഉൾക്കൊള്ളുന്ന ഒരു അറേ വേരിയബിള്. GROUPS- ലേക്കുള്ള അസൈൻമെന്റുകൾക്ക് യാതൊരു സ്വാധീനവും ഒരു പിശക് നിലയും മടക്കി നൽകുന്നു. GROUPS സജ്ജീകരിക്കാത്ത നിലയിലാണെങ്കിൽ, അത് പിന്നീട് പുനഃസജ്ജീകരിച്ചിട്ടുണ്ടെങ്കിൽ, അതിന്റെ പ്രത്യേക പ്രോപ്പർട്ടികൾ നഷ്ടപ്പെടും.

HISTCMD

നിലവിലുള്ള കമാൻഡിന്റെ ചരിത്ര ലിസ്റ്റിലെ ചരിത്ര നമ്പർ അല്ലെങ്കിൽ സൂചിക. HISTCMD സജ്ജീകരിക്കാത്ത നിലയിലാണെങ്കിൽ, അതിന്റെ പ്രത്യേക സ്വത്തുകൾ അത് പിന്നീട് പുനഃസജ്ജീകരിച്ചിട്ടുണ്ടെങ്കിലും നഷ്ടപ്പെടും.

HOSTNAME

നിലവിലുള്ള ഹോസ്റ്റിന്റെ പേരുമായി സ്വമേധയാ സജ്ജീകരിക്കുക.

HOSTTYPE

ഏത് തരം ബാഷ് പ്രവർത്തിപ്പിക്കുന്നുവെന്ന് സിസ്റ്റത്തിന്റെ തരം വിശദീകരിക്കുന്ന ഒരു സ്ട്രിങിലേക്ക് സ്വപ്രേരിതമായി ക്രമീകരിക്കുക. സ്വതവേ സിസ്റ്റം-അനുസരിച്ചുള്ളതാണു്.

LINENO

ഈ പരാമീറ്റർ റഫറൻസായ ഓരോ തവണയും, ഒരു സ്ക്രിപ്റ്റിലെയോ ഫംഗ്ഷനോ ഉള്ളിലെ നിലവിലെ പരമ്പര വരി നമ്പർ (1-ൽ തുടങ്ങുക) പ്രതിനിധീകരിക്കുന്ന ഒരു ദശാംശ സംഖ്യ ഷെൽ നൽകുന്നു. ഒരു സ്ക്രിപ്റ്റ് അല്ലെങ്കിൽ ഫംഗ്ഷനിൽ അല്ലെങ്കിലോ, മാറ്റി പകരം വയ്ക്കുന്ന മൂല്യം അർഥവത്തായതായിരിക്കില്ല. LINENO സജ്ജമാക്കാത്ത നിലയിലാണെങ്കിൽ, അതിന്റെ പ്രത്യേക സ്വത്തുകൾ അത് പിന്നീട് പുനഃസജ്ജീകരിച്ചിട്ടുണ്ടെങ്കിൽ നഷ്ടപ്പെടും.

മാച്ച്ടിപ്പ്

ഏത് തരത്തിലുള്ള ബാഷ് വച്ചാണ് സിസ്റ്റം ഗ്റൂപ്പിനെ സാധാരണ ഗ്നു സിപിയു-കമ്പനി സിസ്റ്റം ഫോർമാറ്റിൽ വിശദീകരിക്കുന്നത് എന്ന് വ്യക്തമാക്കുന്ന ഒരു സ്ട്രിങിലേക്ക് സ്വയമേവ സജ്ജമാക്കുക. സ്വതവേ സിസ്റ്റം-അനുസരിച്ചുള്ളതാണു്.

OLDPWD

Cd കമാൻഡ് ഉപയോഗിച്ച് സജ്ജമാക്കിയ മുൻ ഡയറക്ടറി.

OPTARG

Getopts നിർമ്മിക്കപ്പെട്ട കമാൻഡ് പ്രോസസ് ചെയ്ത അവസാന ഓപ്ഷൻ ആർഗ്യുമെന്റുകളുടെ മൂല്യം (താഴെ ഷെൽ ബിൽറ്റ്ലിൻ കമാൻഡുകൾ കാണുക).

OPTIND

Getopts നിർമ്മിച്ച കമാൻഡ് ഉപയോഗിച്ച് അടുത്ത ആർഗ്യുമെന്റ് സൂചകം പ്രോസസ് ചെയ്യണം (താഴെ ഷെൽ ബിൽറ്റ്ലിൻ കമാൻഡുകൾ കാണുക).

OSTYPE

Bash എക്സിക്യൂട്ട് ചെയ്ത ഓപ്പറേറ്റിങ് സിസ്റ്റത്തെ വിശദീകരിക്കുന്ന ഒരു സ്ട്രിങിലേക്ക് സ്വപ്രേരിതമായി സെറ്റ് ചെയ്യുക. സ്വതവേ സിസ്റ്റം-അനുസരിച്ചുള്ളതാണു്.

PIPESTATUS

ഏറ്റവും അടുത്തിടെയുള്ള എക്സിറ്റ് ഫോർ -ഗ്രൌണ്ട് പൈപ്പ് പ്രക്രിയയിൽ നിന്നും എക്സിറ്റ് സ്റ്റാറ്റസ് മൂല്ല്യങ്ങളുടെ ഒരു പട്ടിക ഉൾപ്പെടുന്ന ഒരു അറേ വേരിയബിൾ (താഴെയുള്ള അറകൾ കാണുക).

PPID

ഷെൽ പേരന്റെ പ്രോസസ് ഐഡി. ഈ ചരം വായനമാത്രമാണ്.

പിഡബ്ല്യുഡി

Cd കമാൻഡ് ആയി സജ്ജമാക്കിയ നിലവിലെ ഡയറക്ടറി.

RANDOM

ഈ പരാമീറ്റർ റഫർ ചെയ്ത ഓരോ സമയത്തും 0 മുതൽ 32767 വരെയുള്ള റാൻഡം ഇൻസിജർ ജനറേറ്റുചെയ്യുന്നു. റാണ്ടാമിന് ഒരു മൂല്യം നൽകിക്കൊണ്ട് റാൻഡം നമ്പറുകളുടെ ക്രമം ആരംഭിക്കുന്നു. RANDOM സജ്ജമാക്കാത്ത നിലയിലാണെങ്കിൽ, അതിന്റെ പ്രത്യേക സ്വത്തുകൾ അത് പിന്നീട് പുനർക്രമീകരിക്കപ്പെടുമെങ്കിലും നഷ്ടപ്പെടും.

മറുപടി

ആർഗ്യുമെന്റുകളൊന്നും ലഭ്യമല്ലാത്തപ്പോൾ വായിക്കുക ബിൽഡിൻ കമാൻഡ് വായിക്കുന്ന ഇൻപുട്ട് വരിയിലേക്ക് സജ്ജമാക്കുക.

SECONDS

ഓരോ തവണയും ഈ പരാമീറ്റർ റഫറൻസുചെയ്യുന്നു, ഷെൽ ഇൻവോക്കേഷൻ മുതൽ നിമിഷങ്ങൾക്കുള്ള എണ്ണം നൽകും. ഒരു മൂല്യം SECONDS ആയി നൽകിയിട്ടുണ്ടെങ്കിൽ, തുടർന്നുള്ള റഫറൻസുകൾക്ക് ശേഷം നൽകപ്പെടുന്ന മൂല്യം അസൈൻമെന്റ് മുതൽ നൽകിയിരിക്കുന്ന മൂല്യവും ചേർന്നുള്ള സെക്കന്റുകളുടെ എണ്ണം ആണ്. SECONDS സജ്ജീകരിക്കാത്ത നിലയിലാണെങ്കിൽ, അതിന്റെ പ്രത്യേക സ്വത്തുകൾ അത് പിന്നീട് പുനഃസജ്ജീകരിച്ചിട്ടുണ്ടെങ്കിലും നഷ്ടപ്പെടും.

ഷോളപ്പോസ്

പ്രാപ്തമാക്കിയ ഷെൽ ഓപ്ഷനുകളുടെ ഒരു കോളൻ വേർതിരിച്ച ലിസ്റ്റ്. ലിസ്റ്റിലെ ഓരോ വും സെറ്റ് ബിൽഡിൻ കമാൻഡിലേക്കുള്ള -o ഓപ്ഷനായി ഒരു സാധുവായ ആർഗ്യുമെൻറ് ആണ് (താഴെ ഷെൽ ബിൽറ്റ്ലിൻ കമാൻഡുകൾ കാണുക). ഷെൽപ്പോറ്റുകൾ കാണിക്കുന്ന ഓപ്ഷനുകൾ സെറ്റ് -ഓ റിപ്പോർട്ട് ചെയ്തവയാണ് . ബാഷ് ആരംഭിക്കുമ്പോൾ ഈ വേരിയബിളിന്റെ പരിധിയിലാണെങ്കിൽ , ലിസ്റ്റിലെ ഓരോ ഷെല്ലും ഏതു് തുടക്കത്തിൽ തന്നെ ഫയലുകൾ ലഭ്യമാക്കും. ഈ ചരം വായന-മാത്രമാണ്.

SHLVL

ഓരോ തവണയും ഓരോ തവണയും ബാഷ് ഓഫ് ചെയ്യുക.

UID

നിലവിലുള്ള ഉപയോക്താവിനുള്ള യൂസേർഡ് ഐഡിയിലേക്കു് വികസിപ്പിക്കുകയും, ഷെൽ സ്റ്റാർട്ടപ്പിൽ ആരംഭിക്കുകയും ചെയ്യുന്നു. ഈ ചരം വായനമാത്രമാണ്.

ഷെല്ലാണ് താഴെ പറയുന്ന വേരിയബിളുകൾ ഉപയോഗിക്കുന്നത്. ചില സാഹചര്യങ്ങളിൽ, ബാഷ് ഒരു സ്ഥിര മൂല്യത്തെ ഒരു വേരിയബിളിന് നൽകുന്നു; ഈ കേസുകൾ താഴെ രേഖപ്പെടുത്തിയിരിക്കുന്നു.

BASH_ENV

ഷെൽ സ്ക്രിപ്റ്റ് ബാഷ് പ്രവർത്തിക്കുമ്പോഴാണു് ഈ പരാമീറ്റർ സജ്ജമാക്കിയിരിയ്ക്കുന്നതെങ്കിൽ ഷെൽ ആരംഭിയ്ക്കുന്നതിനുള്ള കമാൻഡുകൾ അടങ്ങുന്ന ഒരു ഫയൽനാമം ആയി വ്യാഖ്യാനിക്കപ്പെടുന്നു, ഇതു് ~ / .bashrc -ൽ ആകുന്നു . ഒരു ഫയൽ നാമമായി വ്യാഖ്യാനിക്കുന്നതിനു മുമ്പ്, BASH_ENV ന്റെ മൂല്യം പാരാമീറ്റർ വിപുലീകരണത്തിനും, കമാൻഡ് സബ്ജക്റ്റിനും, ഗണിത വിപുലീകരണത്തിനും വിധേയമാണ്. ഫലമുള്ള ഫയൽ നാമം തിരയാൻ പാത്തുപയോഗിക്കുന്നതല്ല.

CDPATH

Cd കമാന്ഡിനുളള തെരച്ചിലിനുള്ള പാഥ്. ഇത് cd കമാൻഡ് ഉപയോഗിച്ച് നിർദ്ദേശിക്കുന്ന ഡെസിഗേറ്റ് ഡയറക്റ്ററി കൾക്കായി ഷെൽ അന്വേഷിക്കുന്ന കോണുകളുടെ വേർതിരിച്ചുള്ള ഡയറക്ടറികളാണ്. ഒരു സാമ്പിൾ മൂല്യം ".::: Usr".

COLUMNS

തെരഞ്ഞെടുത്ത ലിസ്റ്റുകൾ അച്ചടിക്കുമ്പോൾ ടെർമിനൽ വീതി നിർണ്ണയിക്കുന്നതിന് തെരഞ്ഞെടുത്ത ബിൽറ്റ് കമാന്ഡ് ഉപയോഗിച്ചു്. ഒരു SIGWINCH ന്റെ സ്വീകരണത്തിൽ സ്വയമേ ക്രമീകരിക്കുക.

COMPREPLY

പ്രോഗ്രാമിക്ക് പൂർത്തീകരണം സാധ്യമാക്കുന്ന ഷെൽ ഫങ്ഷൻ ഉപയോഗിച്ച് നിർമ്മിക്കപ്പെടുന്ന നിർവ്വചനങ്ങൾ ഏത് ബാഷ് അവയിൽ നിന്നും ലഭ്യമാകുന്നു എന്നതിൻറെ ഒരു നിര ചരം (താഴെ പ്രോഗ്രാമബിൾ പൂർത്തീകരണം കാണുക).

FCEDIT

Fc നിർമ്മനാ കമാൻഡിനുള്ള സഹജമായ എഡിറ്റർ.

FIGNORE

ഫയലിന്റെ പേര് പൂർത്തിയാക്കുമ്പോൾ ഉപസംഹാരങ്ങളുടെ ഒരു കോളൻ വേർതിരിച്ച ലിസ്റ്റ് (താഴെ READLINE കാണുക). ഫ്യൂണറിലുള്ള എൻട്രികളിൽ ഒന്നിന് യോജിക്കുന്ന ഒരു ഫയൽനാമം പൊരുത്തമുള്ള ഫയലിന്റെ പേരുകളിൽ നിന്നും ഒഴിവാക്കിയിരിക്കുന്നു. ഒരു സാമ്പിൾ മൂല്യം ".o: ~".

GLOBIGNORE

പാട്ട് പേരുകളുടെ വിന്യാസം അവഗണിക്കുന്ന പാറ്റേണുകളുടെ ഒരു കൂട്ടം നിർവ്വചിച്ച പാറ്റേണുകളുടെ ഒരു കോളൻ-വേർതിരിച്ച ലിസ്റ്റ് അവഗണിക്കപ്പെടുന്നു. ഒരു പാത്ത്പേജ് എക്സ്പാൻഷൻ പാറ്റേണിൽ പൊരുത്തപ്പെടുന്ന ഫയൽനാമം GLOBIGNORE ലെ പാറ്റേണുകളിലൊന്നുമായി പൊരുത്തപ്പെടുന്നുണ്ടെങ്കിൽ, അത് പൊരുത്തങ്ങളുടെ പട്ടികയിൽ നിന്നും നീക്കുന്നു .

HISTCONTROL

Ignorespace- ന്റെ മൂല്യം സജ്ജമാക്കുകയാണെങ്കിൽ, ഒരു സ്പെയ്സ് പ്രതീകം ഉപയോഗിച്ച് ആരംഭിക്കുന്ന വരികൾ ചരിത്ര ലിസ്റ്റിൽ ചേർത്തിട്ടില്ല . അവഗണിച്ചവുകളുടെ മൂല്യത്തിലേക്ക് സജ്ജമാക്കുകയാണെങ്കിൽ, അവസാനചരിത്രം ലൈൻ പൊരുത്തപ്പെടുന്ന ലൈനുകൾ നൽകിയിട്ടില്ല. അവഗണനയുടെ ഒരു മൂല്യം രണ്ട് ഓപ്ഷനുകൾ ചേർക്കുന്നു. സജ്ജീകരിക്കാത്ത നിലയിലാണെങ്കിലോ അല്ലെങ്കിൽ മുകളിൽ പറഞ്ഞതിലേക്കോ മറ്റേതെങ്കിലും മൂല്യത്തിലോ ക്രമീകരിച്ചിട്ടുണ്ടെങ്കിൽ, പാഴ്സനാൽ വായിക്കുന്ന എല്ലാ വരികളും ചരിത്ര ചരിത്രത്തിൽ സംരക്ഷിക്കപ്പെടും, ഇത് HISTIGNORE മൂല്യത്തിന് വിധേയമായിരിക്കും. ഈ വേരിയബിളിന്റെ പ്രവർത്തനം HISTIGNORE അസാധുവാണ് . ഒന്നിലധികം വരി സംയുക്ത കമാൻഡ്സിന്റെ രണ്ടാം തുടർന്നുള്ള വരികൾ പരിശോധിക്കപ്പെടുന്നില്ല, കൂടാതെ ഹിസ്റ്റോ കോൺട്രാളിന്റെ മൂല്യം പരിഗണിക്കാതെ ചരിത്രത്തിലേക്ക് ചേർക്കപ്പെടുകയും ചെയ്യുന്നു.

HISTFILE

കമാണ്ട് ഹിസ്റ്ററി സംരക്ഷിച്ച ഫയലിന്റെ പേര് (താഴെ ചരിത്രം കാണുക). സ്വതവേയുള്ള മൂല്യം ~ / .bash_history . സജ്ജമാക്കാതെ വിട്ടാൽ, ഒരു ഇന്ററാക്ടീവ് ഷെൽ അവസാനിക്കുന്പോൾ കമാൻഡ് ചരിത്രം സേവ് ചെയ്യുന്നതല്ല.

HISTFILESIZE

ചരിത്ര ഫയലിൽ അടങ്ങിയിരിക്കുന്ന വരികളുടെ പരമാവധി എണ്ണം. ഈ വേരിയബിള് ഒരു മൂല്യമായി നിശ്ചയിക്കപ്പെടുമ്പോള്, ആവശ്യമെങ്കില്, ഫയലിന്റെ ഫയല് ചുരുക്കണം, അതില് കൂടുതല് എണ്ണം വരികളല്ല. സ്വതവേയുള്ള മൂല്ല്യമാണു് 500. ഒരു ഇന്ററാക്ടീവ് ഷെൽ പുറത്തു് പോകുമ്പോൾ, എഴുതുമ്പോൾ ഈ ഫയലിന്റെ ചരിത്ര ഫയലും ചുരുക്കിയിരിക്കുന്നു.

HISTIGNORE

ചരിത്ര ലിസ്റ്റിൽ ഏതെല്ലാം കമാൻഡ് ലൈനുകൾ സംരക്ഷിക്കണമെന്ന് തീരുമാനിക്കാൻ ഉപയോഗിച്ച പാറ്റേണുകളുടെ ഒരു കോളൻ വേർതിരിച്ച ലിസ്റ്റ്. വരിയുടെ തുടക്കത്തിൽ ഓരോ പാറ്റേണും ലിങ്കുചെയ്ത് പൂർണ്ണമായ വരി പൊരുത്തപ്പെടണം (പൂർണ്ണമായും ' * ' കൂട്ടിച്ചേർത്തിട്ടില്ല). HISTCONTROL വ്യക്തമാക്കിയ പരിശോധനകൾ പ്രയോഗിച്ച ശേഷം ഓരോ പാറ്റേൺ ലൈനിലാണ് പരിശോധിക്കുന്നത്. സാധാരണ ഷെൽ ഫോർമാറ്റ് പൊരുത്തപ്പെടുത്തുന്നതിനുപുറമേ, മുമ്പത്തെ ചരിത്ര രേഖയുമായി ` & 'പൊരുത്തപ്പെടുന്നു. ` & 'എന്നിവ ഒരു ബാക്ക്സ്ളാഷ് ഉപയോഗിച്ച് രക്ഷപ്പെട്ടേക്കാം; ഒരു പൊരുത്തം തേടുന്നതിനു മുമ്പ് ബാക്ക്സ്ളാഷ് നീക്കംചെയ്തിരിക്കുന്നു. ഒരു മൾട്ടി-ലൈൻ സംയുക്ത കമാൻഡ് നടത്തുന്ന രണ്ടാമത്തെ, പിന്നീടുള്ള വരികൾ പരിശോധിക്കപ്പെടാറില്ല, കൂടാതെ ഹിസ്റ്റീനറിയുടെ മൂല്യം പരിഗണിക്കാതെ ചരിത്രത്തിൽ ചേർക്കപ്പെടുകയും ചെയ്യുന്നു.

HISTSIZE

കമാൻഡ് ഹിസ്റ്ററിയിൽ ഓർക്കുവാനുള്ള കമാൻഡുകളുടെ എണ്ണം (താഴെ ചരിത്രം കാണുക). സ്ഥിര മൂല്യം 500 ആണ്.

ഹോം

നിലവിലുള്ള ഉപയോക്താവിന്റെ ഹോം ഡയറക്ടറി; cd ബിൻഡിൻ കമാന്ഡിനുളള സ്വതവേയുള്ള ആർഗ്യുമെന്റ്. ടിൽഡ വിപുലീകരണം നടത്തുമ്പോൾ ഈ വേരിയന്റിലെ മൂല്യം ഉപയോഗിക്കുന്നു.

HOSTFILE

ഷെൽ ഹോസ്റ്റ് നെയിം പൂർത്തിയാക്കണമെങ്കിൽ വായിക്കേണ്ട അതേ ഫോർമാറ്റിൽ ഒരു ഫയലിന്റെ പേര് / etc / hosts ആയി ഉൾക്കൊള്ളുന്നു. ഷെൽ പ്റവറ്ത്തിക്കുമ്പോൾ, ഹോസ്റ്റ്നെയിം പൂറ്ണ്ണങ്ങളുടെ പട്ടിക മാറിയേക്കാം; മൂല്യം മാറ്റിയാൽ അടുത്ത തവണ ഹോസ്റ്റ്നാമം പൂർത്തീകരണം ശ്രമിച്ചു്, ബാഷ് പുതിയ ഫയലിലെ ഉള്ളടക്കങ്ങൾ നിലവിലുള്ള പട്ടികയിലേക്കു് ചേർക്കുന്നു. HOSTFILE സജ്ജമാക്കിയിട്ടുണ്ടു്, പക്ഷേ മൂല്യമില്ല, ഹോസ്റ്റ്നെയിം പൂർത്തികരണങ്ങളുടെ പട്ടിക ലഭ്യമാക്കുന്നതിനായി / etc / hosts ഹോസ്റ്റ് ചെയ്യുന്നതിനുള്ള ബാഷ് ശ്രമങ്ങൾ. HOSTFILE സജ്ജമാക്കാത്തപ്പോൾ, ഹോസ്റ്റ്നാമം പട്ടിക മായ്ച്ചു.

ഐഎഫ്എസ്

ആന്തരിക ഫീൽഡ് സെപ്പറേറ്റർ എന്നത് വിപുലത്തിനു ശേഷം വേർപെടുത്തി, വേർതിരിച്ചെടുക്കാൻ പറ്റുന്ന പദങ്ങൾ ഉപയോഗിച്ച് പദങ്ങൾ വിഭജിക്കാനായി ഉപയോഗിക്കുന്നു. സ്വതവേയുള്ള മൂല്യം `` ''.

IGNOREEOF

ഒരു ഇൻപുട്ടായി ഒരു EOF പ്രതീകത്തിന്റെ സ്വീകരണമുണ്ടെങ്കിൽ ഒരു ഇന്ററാക്ടീവ് ഷെല്ലിന്റെ പ്രവർത്തനം നിയന്ത്രിക്കുന്നു. സെറ്റ് ചെയ്താൽ, മൂല്യം തുടർച്ചയായി EOF അക്ഷരങ്ങളുടെ എണ്ണം, അതു ബാഷ് എക്സിറ്റിനു മുൻപ് ഒരു ഇൻപുട്ട് ലൈനിൽ ആദ്യ അക്ഷരങ്ങൾ ടൈപ്പ് ചെയ്യണം. വേരിയബിൾ നിലവിലില്ലെങ്കിലും ഒരു സംഖ്യാ മൂല്യം ഇല്ല, അല്ലെങ്കിൽ അതിന് മൂല്യം ഇല്ലെങ്കിൽ, സ്വതവേയുള്ള മൂല്യം 10 ​​ആണ്. അത് നിലവിലില്ലെങ്കിൽ, EOF എന്നത് ഷെല്ലിലേക്ക് ഇൻപുട്ടിന്റെ അവസാനത്തെ സൂചിപ്പിക്കുന്നു.

INPUTRC

വായന ആരംഭിക്കുന്ന ഫയലിനായുള്ള ഫയലിന്റെ പേര് ~ / .inputrc- യുടെ സ്ഥിരസ്ഥിതിയെ മറികടക്കുന്നു (താഴെ READLINE കാണുക).

LANG

LC_ ൽ ആരംഭിക്കുന്ന ഒരു വേരിയബിളുമായി പ്രത്യേകം തിരഞ്ഞെടുക്കാത്ത ഏതെങ്കിലും വിഭാഗത്തിനായുള്ള ഭാഷകളുടെ വർഗ്ഗീകരണം നിർണ്ണയിക്കാൻ ഉപയോഗിച്ചു.

LC_ALL

ഈ വ്യത്യാസം LANG ൻറെ മൂല്യവും ഒരു LC_ വേരിയബിളിനെ ഒരു പ്രദേശത്തിന്റെ വിഭാഗത്തെ സൂചിപ്പിക്കുന്നു.

LC_COLLATE

പാഥ് വിപുലീകരണത്തിന്റെ ഫലങ്ങൾ അടുക്കുവാനുള്ള ഉപയോഗത്തിലാണു ഈ വേരിയബിൾ നിശ്ചയിക്കുന്നത്, ശ്രേണിയുടെ വ്യാഖ്യാനങ്ങളും, തുല്യതയുള്ള ക്ലാസുകളും, പാത്ത് വിന്യാസത്തിലും പാറ്റേൺ പൊരുത്തപ്പെടുത്തുന്നതിലും കൊളാഷിംഗ് സീക്വൻസുകളുടെ സ്വഭാവവും നിർണ്ണയിക്കുന്നു.

LC_CTYPE

ഈ വേരിയബിൾ പ്രതീകങ്ങളുടെ വ്യാഖ്യാനവും, പാത്ത്നാമ വികസനവും പാറ്റേൺ ചേരുവാനുള്ള സ്വഭാവ സവിശേഷതകളുടെ സ്വഭാവവും നിർണ്ണയിക്കുന്നു.

LC_MESSAGES

ഇരട്ട-ഉദ്ധരിച്ച സ്ട്രിംഗുകൾ ഒരു $ തൊട്ടുമുമ്പ് വിവർത്തനം ചെയ്യാൻ ഉപയോഗിക്കുന്ന ഭാഷയെ ഈ വേരിയബിൾ നിർണ്ണയിക്കുന്നു.

LC_NUMERIC

ഈ ഫോർമാറ്റ് നമ്പർ ഫോർമാറ്റിംഗിനായി ഉപയോഗിക്കുന്ന ഭാഷാ വിഭാഗത്തെ നിർണ്ണയിക്കുന്നു.

ലൈനുകൾ

തെരഞ്ഞെടുക്കുന്നതിനുള്ള തെരഞ്ഞെടുപ്പു് പട്ടിക തെരഞ്ഞെടുക്കുന്നതിനുള്ള കോളത്തിന്റെ വ്യാപ്തി നിർണ്ണയിയ്ക്കുന്നതിനുള്ള ബിൽഡ് കമാൻഡ് ഉപയോഗിച്ചു് ഉപയോഗിയ്ക്കുന്നു. ഒരു SIGWINCH ന്റെ സ്വീകരണത്തിൽ സ്വയമേ ക്രമീകരിക്കുക.

മെയിൽ

ഈ പരാമീറ്റർ ഒരു ഫയൽ നാമം ആയി സജ്ജീകരിച്ചിട്ടുണ്ടെങ്കിൽ, MAILPATH വേരിയബിൾ സജ്ജമാക്കിയിട്ടില്ലെങ്കിൽ, നിർദിഷ്ട ഫയലിലെ മെയിൽ വരവിനെ പറ്റി ഉപയോക്താവിനെ അറിയിക്കുന്നു.

MAILCHECK

മെയിൽ എത്ര തവണ (സെക്കൻഡുകളിൽ) ബാഷ് പരിശോധനകൾ നിർദ്ദേശിക്കുന്നു. സ്വതവേ 60 സെക്കന്റാണ്. മെയിലിനായി പരിശോധിക്കാൻ സമയമാകുമ്പോൾ, പ്രാഥമിക നിർദ്ദേശം കാണിക്കുന്നതിനു മുൻപ് ഷെൽ അങ്ങനെ ചെയ്യുന്നു. ഈ വേരിയബിനെ സജ്ജമാക്കാതിരിക്കുകയോ പൂജ്യത്തേക്കാൾ വലുതോ അല്ലാത്തതോ ആയ ഒരു സംഖ്യയായി സജ്ജമാക്കുകയാണെങ്കിൽ, ഷെൽ മെയിൽ പരിശോധിക്കുന്നത് അപ്രാപ്തമാക്കുന്നു.

മെയിൽപാത്ത്

മെയിലിനായി പരിശോധിക്കാൻ കോൾ-വേർതിരിച്ച ഫയൽ നാമങ്ങളുടെ ലിസ്റ്റ്. ഒരു പ്രത്യേക ഫയലിൽ മെയിൽ എത്തുമ്പോൾ സന്ദേശം അച്ചടിക്കാൻ സന്ദേശം `` എന്ന സന്ദേശത്തിൽ നിന്ന് ഫയൽ നാമം വേർതിരിച്ചറിയാം. സന്ദേശത്തിന്റെ ടെക്സ്റ്റിൽ ഉപയോഗിക്കുമ്പോൾ, നിലവിലെ മെയിൽ ഫയലിന്റെ പേര് $ _ വികസിപ്പിക്കുന്നു. ഉദാഹരണം:

MAILPATH = '/ var / mail / bfox? "നിങ്ങള്ക്ക് മെയില് ഉണ്ട്": ~ / ഷെല്-മെയില്? "$ _ മെയില് ഉണ്ട്!"'

ഈ വേരിയബിളിനു് ബാഷ് ഡിഫോൾട്ട് മൂല്ല്യം ഉപയോഗിയ്ക്കുന്നു, പക്ഷേ ഉപയോഗിയ്ക്കുന്ന ഉപയോക്താവിന്റെ മെയിൽ ഫയലുകളുടെ സ്ഥാനം സിസ്റ്റം അനുസരിച്ചാണ് (ഉദാ: / var / mail / $ USER ).

OPTERR

മൂല്യം 1 ആയി സജ്ജമാക്കിയാൽ, getups നിർമ്മിച്ച കമാൻഡ് ഉപയോഗിച്ച് ബാഷ് കാണിക്കുന്ന പിശക് സന്ദേശങ്ങൾ കാണിക്കുന്നു (താഴെ ഷെൽ ബിൽഡിൻ കമാൻഡുകൾ കാണുക). ഓരോ തവണ ഷെൽ ഉപയോഗിക്കുമ്പോഴോ ഷെൽ സ്ക്രിപ്റ്റ് എക്സിക്യൂട്ട് ചെയ്തോ ഓരോ തവണയും OPTERR ആരംഭിക്കുന്നു.

PATH

കമാൻഡുകൾക്കായുള്ള തിരയൽ പാത്ത്. ഷെൽ കമാന്ഡുകള്ക്കായി ഷെല് തെരയുന്ന ഡയറക്ടറികളുടെ കോളന്-വേര്ഡ് ആയ ഒരു ലിസ്റ്റ് ആണ് (താഴെ പറയുന്ന COMMAND EXECUTION കാണുക). സ്വതവേയുള്ള പാഥിന് സിസ്റ്റം അനുസരിച്ചാകുന്നു, ബാഷ് ഇൻസ്റ്റോൾ ചെയ്യുന്ന അഡ്മിനിസ്ട്രേറ്റർ സജ്ജീകരിയ്ക്കുന്നു. ഒരു സാധാരണ മൂല്യം `` / usr / gnu / bin: / usr / local / bin: / usr / ucb: / bin: / usr / bin: ''.

POSIXLY_CORRECT

ബാഷ് ലഭ്യമാകുമ്പോൾ ഈ വേരിയബിള് പരിതസ്ഥിതിയിലാണെങ്കില്, --posix invocation ഓപ്ഷന് നല്കിയ പോലെ, ഓപ്പണ്അപ്പ് ഫയലുകള് വായിക്കുന്നതിനു് മുമ്പു് പോലിക്സ് മോഡിലേക്ക് ഷെല് പ്രവേശിക്കുന്നു. ഷെൽ പ്രവർത്തിക്കുന്പോൾ ഇത് സജ്ജമായാൽ , set -o പോസിക്സ് നിർവ്വചിച്ചിരിക്കുന്നത് പോലെ ബാഷ് പോസിക്സ് മോഡ് സജ്ജമാക്കുന്നു .

PROMPT_COMMAND

സജ്ജമാക്കിയാൽ, ഓരോ പ്രാഥമിക ആവശ്യവും മുൻകൂട്ടി നൽകുന്നതിനു മുൻപായി ഒരു ആജ്ഞായി മൂല്യം നിർവ്വഹിക്കപ്പെടും.

PS1

ഈ പാരാമീറ്ററിന്റെ മൂല്യം വികസിപ്പിച്ചു (ചുവടെ PROMPTING കാണുക) കൂടാതെ പ്രാഥമിക പ്രോംപ്റ്റ് സ്ട്രിംഗായി ഉപയോഗിക്കും. സ്ഥിര മൂല്യം `` \ s- \ v \ $ '' ആണ്.

PS2

ഈ പരാമീറ്റത്തിന്റെ മൂല്യം PS1 പോലെ വികസിപ്പിക്കുകയും സെക്കണ്ടറി പ്രോംപ്റ്റ് സ്ട്രിംഗായി ഉപയോഗിക്കുകയും ചെയ്യുന്നു. സ്വതവേയുള്ളത് `` > '' ആണ്.

PS3

ഈ പരാമീറ്ററിന്റെ മൂല്ല്യം തിരഞ്ഞെടുക്കുന്നതിനുള്ള നിർദ്ദേശമായി ഉപയോഗിക്കുന്നു (മുകളിൽ ഷെൽ GRAMMAR കാണുക).

PS4

ഈ പരാമീറ്ററിന്റെ മൂല്യം PS1 പോലെ വർദ്ധിപ്പിക്കും, കൂടാതെ ഒരു ഓർഡർ ട്രെയിസ് സമയത്ത് ഓരോ കമാൻഡ് ബാഷ് ഡിസ്പ്ലേകൾക്കും മുമ്പേ മൂല്യം അച്ചടിക്കും. ഒന്നിലധികം നാണയചിത്രങ്ങൾ സൂചിപ്പിക്കുന്നതിന് PS4 ന്റെ ആദ്യ പ്രതീകം ഒന്നിലധികം തവണ ആവർത്തിക്കുന്നു. സ്ഥിരസ്ഥിതി `` + '' ആണ്.

TIMEFORMAT

പൈപ്പ്ലൈനുകളുടെ സമയവിവരങ്ങൾ മുൻകൂട്ടി നിശ്ചയിച്ചിരിക്കുന്ന സമയത്തെ എങ്ങനെ പ്രദർശിപ്പിക്കണം എന്ന് വ്യക്തമാക്കുന്ന ഒരു ഫോർമാറ്റ് സ്ട്രിംഗായി ഈ പരാമീറ്ററിന്റെ മൂല്യം ഉപയോഗിക്കുന്നു. % പ്രതീകം എസ്കേപ്പ് ക്രമം പരിചയപ്പെടുത്തുന്നു, അത് സമയ മൂല്യത്തിലോ മറ്റ് വിവരങ്ങളിലോ വികസിപ്പിക്കുന്നു. എസ്കേപ്പ് ശ്രേണികളും അവയുടെ അർത്ഥങ്ങളും ചുവടെ ചേർക്കുന്നു. ബ്രേസുകൾ ഓപ്ഷണൽ ഭാഗങ്ങളെ സൂചിപ്പിക്കുന്നു.

%%

ഒരു അക്ഷരീയ % .

% [ p ] [l] ആർ

കഴിഞ്ഞ കാലത്തിനിടയിലെ സമയം.

% [ p ] [l] യു

ഉപയോക്തൃ മോഡിൽ ചെലവഴിച്ച സിപിയു സെക്കന്റുകളുടെ എണ്ണം.

% [ p ] [l] എസ്

സിസ്റ്റം മോഡിൽ ചെലവഴിച്ച സിപിയു സെക്കന്റുകളുടെ എണ്ണം.

% പി

സിപിയു ശതമാനം, (% U +% S) /% R ആയി കണക്കാക്കിയിരിക്കുന്നു.

ഒരു കൃത്യമായ p , ദശാംശ ബിന്ദുവിനു ശേഷമുള്ള fractional അക്കങ്ങളുടെ സംഖ്യ വ്യക്തമാക്കുന്ന അക്കമാണ്. 0 ന്റെ ഒരു മൂല്ല്യത്തിന് ഡെസിമൽ പോയിന്റ് അല്ലെങ്കിൽ ഫിൽട്ടർ ഉൽപ്പെടുത്താവുന്നതാണ്. ഡെസിമൽ പോയിന്റ് വ്യക്തമാക്കിയതിന് ശേഷം ഏറ്റവും കൂടുതൽ സ്ഥലങ്ങളിൽ; p യ്ക്ക് 3-ൽ കൂടുതലുള്ള മൂല്ല്യങ്ങൾ 3 ആയി മാറിയിരിക്കുന്നു. p ആനുപാതിക സൂചിപ്പിച്ചില്ലെങ്കിൽ, മൂല്യം 3 ഉപയോഗിക്കുന്നു.

ഓപ്ഷണൽ l ഫോമുകൾ MM m SS ന്റെ മിനുട്ടുകൾ ഉൾപ്പെടെയുള്ള ദീർഘമായ ഫോർമാറ്റ് വ്യക്തമാക്കുന്നു. FF സെ. P യുടെ മൂല്യം ഭിന്നസംഖ്യയമോ ഇല്ലയോ എന്ന് തീരുമാനിക്കുന്നു.

ഈ വേരിയബിൾ സജ്ജമാക്കിയില്ലെങ്കിൽ, ബാഷ് എന്നത് മൂല്യം $ '\ nreal \ t% 3lR \ nuser \ t% 3lU \ nys% 3lS' എന്ന രീതിയിൽ പ്രവർത്തിക്കുന്നു . മൂല്യം പൂജ്യം ആണെങ്കിൽ, ടൈമിങ് വിവരങ്ങൾ ഒന്നും പ്രദർശിപ്പിക്കില്ല. ഫോർമാറ്റ് സ്ട്രിംഗ് പ്രദർശിപ്പിക്കുമ്പോൾ ഒരു ട്രൈലിംഗ് ന്യൂലൈൻ ചേർക്കുന്നു.

TMOUT

പൂജ്യത്തേക്കാൾ വലുതായ ഒരു മൂല്ല്യത്തിലാണെങ്കിൽ, TMTM , ബിൽഡ് വായിക്കുന്നതിനു് സ്വതവേയുള്ള സമയപരിധിയ്ക്കുള്ളതായി കണക്കാക്കുന്നു. ടെർമിനലിൽ നിന്നും ഇൻപുട്ട് വരുന്ന സമയത്ത് TMOUT സെക്കൻഡുകൾക്കു ശേഷം ഇൻപുട്ട് ലഭിക്കുന്നില്ലെങ്കിൽ, "കമാൻഡ്" അവസാനിക്കുന്നു. ഒരു ഇന്ററാക്ടീവ് ഷെൽ ൽ, പ്രൈമറി പ്രോംപ്റ്റിനു ശേഷം ഇൻപുട്ടിനായി കാത്തിരുന്ന നിമിഷങ്ങളുടെ എണ്ണം ആയി കണക്കാക്കുന്നു. ഇൻപുട്ട് ലഭിക്കുന്നില്ലെങ്കിൽ, ഈ നിമിഷങ്ങളുടെ കാത്തിരിപ്പിന് ശേഷം ബാഷ് അവസാനിക്കുന്നു.

യാന്ത്രിക_പ്രതികരണം

ഉപയോക്താവിനും ജോബ് നിയന്ത്രണവുമായും ഷെൽ എങ്ങനെ ഇടപെടുന്നു എന്ന് ഈ വേരിയബിൾ നിയന്ത്രിക്കുന്നു. ഈ വേരിയബിൾ സജ്ജമാക്കിയാൽ, നിലവിലുള്ള ഒരു നിർത്തിവയ്ക്കൽ ജോലി പുനരാരംഭിക്കുന്നതിന് ഒരു വാക്ക് ലളിതമായ കമാൻഡുകൾ കണക്കാക്കുന്നു. വ്യക്ത മായത്മില്ല; ടൈപ്പ് ചെയ്ത സ്ട്രിങിനോടൊപ്പം ഒന്നിൽ കൂടുതൽ ജോലിയുണ്ടെങ്കിൽ, ഏറ്റവും അടുത്തതായി തിരഞ്ഞെടുത്തിരിക്കുന്ന ജോലി തിരഞ്ഞെടുക്കപ്പെടുന്നു. ഒരു നിർത്തിവച്ച ജോലിയുടെ പേര് , ഈ സന്ദർഭത്തിൽ, ആരംഭിക്കാൻ ഉപയോഗിക്കുന്ന കമാൻഡ് ലൈൻ ആണ്. കൃത്യമായ മൂല്യത്തിലേക്ക് സെറ്റ് ചെയ്താൽ സ്ട്രിംഗ് വിതരണം നിർത്തിയതായിരിക്കണം. സബ്സ്ട്രിംഗ് ആയി സജ്ജമാക്കിയെങ്കിൽ, നിർത്തിയിരിക്കുന്ന ജോലിയുടെ പേരിന്റെ ഒരു ഉപഖണ്ഡവുമായി പൊരുത്തപ്പെടുത്താനുള്ള സ്ട്രിംഗ് ആവശ്യങ്ങൾ ആവശ്യമുണ്ട്. % എന്നതിന് സാമ്യമുള്ള പ്രവർത്തനം സാറ്റലൈറ്റ് മൂല്യം നൽകുന്നുണ്ടോ ? തൊഴിൽ ഐഡന്റിഫയർ (താഴെയുള്ള JOB CONTROL കാണുക). മറ്റേതെങ്കിലും മൂല്യത്തിലാണെങ്കിൽ, നൽകിയ സ്ട്രിങ്ങ് നിർത്തിയിരിക്കുന്ന ജോലിയുടെ നാമത്തിന്റെ ഒരു പ്രിഫിക്സ് ആയിരിക്കണം; % job identifier ന് സമാനമായ പ്രവർത്തനവും ഇത് നൽകുന്നു.

ഹിസ്റ്റാറുകൾ

ചരിത്രം വിപുലീകരണവും ടോക്കണൈസേഷനും നിയന്ത്രിക്കുന്ന രണ്ടോ മൂന്നോ പ്രതീകങ്ങളോ (ചരിത്രപരമായി EXPANSION ചുവടെ കാണുക). ചരിത്രത്തിലെ വിപുലീകരണ സ്വഭാവമാണ് ആദ്യത്തെ കഥാപാത്രം, ചരിത്രപരമായ വിപുലീകരണത്തിന്റെ തുടക്കത്തിന്റെ സൂചന, സാധാരണയായി ` ! '. രണ്ടാമത്തെ ക്യാരക്ടർ ദ്രുതഗതിയിലുള്ള സബ്ജക്റ്റിന്റെ പ്രതീകമാണ്. ഇത് മുമ്പത്തെ കമാൻഡിൽ വീണ്ടും പ്രവർത്തിപ്പിക്കാൻ ചുരുക്കമായി ഉപയോഗിക്കുന്നു, കൂടാതെ കമാൻഡിലെ മറ്റൊന്നിന് ഒരു സ്ട്രിംഗ് ആവർത്തിക്കുന്നു. സ്വതന്ത്രം ` ^ 'ആണ്. ഓപ്ഷണൽ മൂന്നാം പ്രതീകമാണ് പ്രതീകത്തിന്റെ ആദ്യ പ്രതീകമായി കണ്ടെത്തുമ്പോൾ വരിയുടെ ബാക്കി ഭാഗം ഒരു അഭിപ്രായം ആണെന്ന് സൂചിപ്പിക്കുന്നു, സാധാരണയായി ` # '. ചരിത്രപരമായ വ്യവഹാര സ്വഭാവം, വരിയിലെ ബാക്കി വാക്കുകളെ മറികടക്കാൻ കാരണമാകുന്നു. ഷെൽ പാസ്സ്വേർഡ് ഒരു ബാക്കി ഭാഗം മറ്റുള്ളവരുമായി ഇടപെടുവാൻ നിർബന്ധമില്ല.

ശ്രേണികൾ

ബാഷ് വൺ ടൈൻഷണൽ അറേ ചരങ്ങൾ നൽകുന്നു. ഒരു വേരിയബിളായി ഏതെങ്കിലും വേരിയബിളിനായി ഉപയോഗിക്കാം; ബിൽഡ് ഡിക്ലയർ വ്യക്തമായി ഒരു അറേ പ്രഖ്യാപിക്കുന്നു. ഒരു ശ്രേണിയുടെ വലുപ്പത്തിൽ പരമാവധി പരിധി ഇല്ല, അംഗങ്ങളെ സൂചിപ്പിക്കുന്നതോ അല്ലെങ്കിൽ നിയമാനുസൃതമായി നൽകുന്നതോ ആയ എന്തെങ്കിലും ആവശ്യമില്ല. അറേകൾ പൂർണ്ണസംഖ്യ ഉപയോഗിച്ച് ഇന്ഡക്സ് ചെയ്തിരിക്കുന്നു, അവ പൂജ്യം അടിസ്ഥാനമാക്കിയവയാണ്.

സിന്റാക്സ് നാമം [ സബ്സ്ക്രിപ്ഷൻ ] = മൂല്യം ഉപയോഗിയ്ക്കുന്നതിനു് എന്തെങ്കിലും വേരിയബിൾ നൽകിയിട്ടുണ്ടെങ്കിൽ ഒരു അറേ ഉണ്ടാക്കപ്പെടുന്നു. ഈ സംഖ്യയെ ഒരു അരിത്മെറ്റിക് എക്സ്പ്രെഷൻ ആയി കണക്കാക്കുന്നു, അത് പൂജ്യത്തെക്കാൾ കൂടുതലോ തുല്യമോ ആയി കണക്കാക്കണം. ഒരു അറേ വ്യക്തമായി പ്രഖ്യാപിക്കുന്നതിന്, പ്രഖ്യാപിക്കുക -ഒ നാമം ഉപയോഗിക്കുക (താഴെ ഷെൽ ബിൽറ്റ്ലി കമാൻഡിംഗ്സ് കാണുക). പ്രഖ്യാപിക്കുക-ഒരു പേര് [ സബ്സ്ക്രിപ്റ്റ് ] സ്വീകരിച്ചിരിക്കുന്നു; സബ്സ്ക്രിപ്റ്റ് അവഗണിച്ചു. ഡിക്ലയർ, വായന മാത്രം അടിസ്ഥാനമാക്കിയുള്ള ഒരു അറേ വേരിയബിളിനായി ആട്രിബ്യൂട്ടുകൾ നൽകാം. ഓരോ ആട്രിബ്യൂട്ടും ഒരു അറേയിലെ എല്ലാ അംഗങ്ങൾക്കും ബാധകമാണ്.

ഓരോ വരിയും ഫോണ്ട് [ സബ്സ്ക്രിപ്റ്റ് ] = സ്ട്രിംഗ് ആയിരിക്കുന്ന ഫോമിന്റെ പേര് = ( മൂല്യം 1 ... മൂല്യം n ) എന്ന സംയുക്ത നിയമനങ്ങൾ ഉപയോഗിക്കുന്നതിന് ക്രമീകരിച്ചിരിക്കുന്നു. സ്ട്രിംഗ് മാത്രം ആവശ്യമാണ്. ഓപ്ഷണൽ ബ്രാക്കറ്റുകളും സബ്സ്ക്രിപ്പ്റ്റുകളും വിതരണം ചെയ്തിട്ടുണ്ടെങ്കിൽ, ആ ഇൻഡെക്സ് അനുവദിച്ചിരിക്കുന്നു; അല്ലെങ്കിൽ നിർദ്ദിഷ്ട മൂലകത്തിന്റെ സൂചകം സ്റ്റേറ്റ്മെന്റ് ഒന്നിലധികം നൽകിയിട്ടുള്ള അവസാന സൂചികയാണ്. ഇന്ഡക്സിംഗ് പൂജ്യത്തില് ആരംഭിക്കുന്നു. ബിൽഡിൻ ഡിക്ലയർ ഈ സിന്റാക്സ് സ്വീകരിച്ചു. മുകളിൽ നൽകിയിരിക്കുന്ന വരിസംഖ്യ = = value സിന്റാക്സ് ഉപയോഗിക്കുന്നതിന് വ്യക്തിപരമായ ശ്രേണി ഘടകങ്ങൾ നിയുക്തമാക്കിയേക്കാം.

അരികൾ നശിപ്പിക്കുന്നതിന് ബിൽറ്റ് ഉപയോഗിക്കാതിരിക്കുക. സജ്ജമാക്കാത്ത പേര് [ സബ്സ്ക്രിപ്റ്റ് ] സൂചിക സബ്സ്ക്രിപ്റ്റിന് നിര ഘടകത്തെ നശിപ്പിക്കുന്നു. പേര് സജ്ജമാക്കാതെ , പേര് ഒരു ശ്രേണി അല്ലെങ്കിൽ പേര് സജ്ജമാക്കാത്ത [ സബ്സ്ക്രിപ്റ്റ് ], സബ്സ്ക്രിപ്റ്റ് * അല്ലെങ്കിൽ @ എവിടെയാണ്, മുഴുവൻ ശ്രേണിയും നീക്കം ചെയ്യുന്നു.

ഡിക്ലയർ, ലോക്കൽ , റീഡൺലി ബിൽഡിനുകൾ എന്നിവ ഓരോന്നും ഒരു അറേയെ സൂചിപ്പിക്കുന്നതിന് ഒരു -a ഓപ്ഷൻ സ്വീകരിക്കുന്നു. സ്റ്റാൻഡേർഡ് ഇൻപുട്ടിനിൽ നിന്നും അറേയിലേക്ക് റീഡ് ചെയ്ത പദങ്ങളുടെ ലിസ്റ്റ് നൽകാനുള്ള ഒരു ഓപ്ഷൻ ബിൽഡിൻ വായിക്കുക. അസൈൻമെൻറുകളായി പുനർനിർമ്മിക്കാൻ അനുവദിക്കുന്ന വിധത്തിൽ സജ്ജീകരണവും ബിൽഡിനും നിര മൂല്യങ്ങൾ പ്രദർശിപ്പിക്കുക.

EXPANSION

വാക്കുകളായി വിഭജിക്കപ്പെട്ടതിനെത്തുടർന്ന് കമാൻഡ് ലൈനിൽ വിപുലീകരണം നടത്തുന്നു. ഏഴ് തരം വിപുലീകരണങ്ങളുണ്ട്: ബ്രേസ് എക്സ്പാൻഷൻ , ടിൽഡ് എക്സ്പാൻഷൻ , പാരാമീറ്റർ, വേരിയബിൾ എക്സ്പാൻഷൻ , കമാൻഡ് സബ്ജക്ട് , ഗണിത വിപുലീകരണം , വേർഡ് വിഭജനം , പാതയുടെ വിപുലീകരണം എന്നിവ .

വിപുലീകരണങ്ങളുടെ ക്രമം: ബ്രേസ് എക്സ്പാൻഷൻ, ടിൽഡ് എക്സ്പാൻഷൻ, പാരാമീറ്റർ, വേരിയബിൾ, ഗണിത വിപുലീകരണം, കമാൻഡ് പ്രെഫൻഷൻ (ഇടത്-ടു-വലത് ഫാഷനിൽ ചെയ്തത്), വേർഡ് വിഭജനം, പാത്ത്നാമ വിപുലീകരണം എന്നിവയാണ്.

ഇത് പിന്തുണയ്ക്കുന്ന സംവിധാനങ്ങളിൽ കൂടുതൽ വിപുലീകരണം ലഭ്യമാണ്: പ്രോസസ് സബ്സിഡിയേഷൻ .

ബ്രേസ് എക്സ്പാൻഷൻ

അനിയന്ത്രിതമായ സ്ട്രിംഗുകൾ ജനറേറ്റ് ചെയ്യുന്ന ഒരു സംവിധാനം ആണ് കുപ്പിവെള്ള വ്യാപനം . ഈ സംവിധാനം pathname വിപുലീകരണത്തിനു സമാനമാണ്, പക്ഷേ ഫയൽനാമങ്ങൾ ഉണ്ടാകേണ്ടതില്ല. ബ്രേസ് വിപുലീകരിക്കാൻ പാറ്റേണുകൾ ഒരു ഓപ്ഷണൽ പ്രിമബിൾ രൂപത്തിൽ വരികയും, തുടർന്ന് ഒരു ജോടി ബ്രേസുകൾ തമ്മിലുള്ള കോമ കൊണ്ട് വേർതിരിച്ച സ്ട്രിംഗുകൾ, തുടർന്ന് ഒരു ഓപ്ഷണൽ പോസ്റ്റ്സ്ക്രിപ്റ്റ് എന്നിവ ലഭിക്കും . ബ്രേസുകൾക്കുള്ളിൽ ഉള്ള ഓരോ സ്ട്രിംഗിനും മുൻഗണന പ്രിഫിക്സ് ചെയ്യുകയും, തുടർന്ന് ഓരോ സ്ട്രിംഗിലേക്കും പോസ്റ്റ്സ്പ്റ്റ് ചേർക്കപ്പെടുകയും ഇടതുനിന്ന് വലത്തേയ്ക്ക് വികസിപ്പിക്കുകയും ചെയ്യും.

ബ്രെയ്സ് വിപുലീകരണങ്ങൾ ശരിയാക്കിയിരിക്കാം. ഓരോ വിപുലീകരിച്ച സ്ട്രിംഗിന്റെയും ഫലം അടുക്കില്ല; ഇടത്ത് നിന്നും വലത്തേയ്ക്ക് സൂക്ഷിച്ചു വച്ചിരിക്കുന്നു. ഉദാഹരണമായി, a { d, c, b } e 'ae ace abe' ആയി വികസിക്കുന്നു.

മറ്റേതൊരു വിപുലീകരണത്തിനു മുമ്പും ബ്രേസ് വിപുലീകരണം നടപ്പാക്കപ്പെടുന്നു, കൂടാതെ മറ്റ് എക്സ്പാൻഷനുകളിൽ പ്രത്യേകമായുള്ള പ്രതീകങ്ങൾ സംരക്ഷിക്കപ്പെടുന്നു. ഇത് കർശനമായി പാഠമാണ്. വിപുലീകരണത്തിന്റെ പശ്ചാത്തലത്തിലോ അല്ലെങ്കിൽ ബ്രേസ്സ് തമ്മിലുള്ള വാചകത്തിലോ എന്തെങ്കിലും ഭാഗിക വ്യാഖ്യാനത്തെ ബാഷ് പ്രയോഗിക്കുന്നില്ല.

സ്ട്രിംഗുകളുടെ പൊതുവായ പ്രിഫിക്സ് ഉൽപാദിപ്പിക്കാൻ മുകളിലുള്ള ഉദാഹരണത്തിൽ ഈ നിർമ്മിതി സാധാരണയായി ഷോർട്ട് ഹാൻഡ് ആയി ഉപയോഗിക്കുന്നു:

mkdir / usr / local / src / bash / {പഴയ, പുതിയ, അകലം, പിഴവുകൾ}

അഥവാ

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

ബ്രേസ് വിപുലീകരണം sh . ന്റെ ചരിത്രപരമായ പതിപ്പുകളുമായി ചെറിയ പൊരുത്തക്കേട് പരിചയപ്പെടുത്തുന്നു. ഷേകൾ ഒരു വാക്കിന്റെ ഭാഗമായി പ്രത്യക്ഷപ്പെടുമ്പോൾ പ്രത്യേകമായി ബ്രേക്കുകൾ തുറക്കുന്നതോ അടയ്ക്കുന്നതോ കൈകാര്യം ചെയ്യുന്നില്ല, അവയെ ഔട്ട്പുട്ടിൽ സംരക്ഷിക്കുന്നു. ബാഷ് വികാസത്തിന്റെ അനന്തരഫലമായി ബാഷ് പദങ്ങളെ വേട്ടയാടുന്നു. ഉദാഹരണമായി, ഷോർട്ട് എന്റർ ചെയ്ത ഒരു വാക്കു {1,2} ഔട്ട്പുട്ടിൽ ഒരേപോലെ കാണുന്നു. ബാഷ് വഴി എക്സ്പാൻഷൻ ചെയ്തതിനുശേഷം file1 ഫയൽ 2 ആയി ഔട്ട്പുട്ടിന്റെ അതേ പദം. ഷുവിനു് കർശനമായ പൊരുത്തക്കേട് ആവശ്യമാണെങ്കിൽ, + B ഓപ്ഷൻ ഉപയോഗിച്ച് ബാഷ് ആരംഭിക്കുക അല്ലെങ്കിൽ സെൽ കമാൻഡിലേക്കുള്ള + B ഉപാധി ഉപയോഗിച്ചു് ബ്രേസ് എക്സ്പാൻഷൻ ഡിസേബിൾ ചെയ്യുക (താഴെ ഷെൽ ബിൽറ്റ്ലിൻ കമാൻഡുകൾ കാണുക).

ടിൽഡ് എക്സ്പാൻഷൻ

ഒരു വാക്കുവരവ് ടൈറ്റിൽ ക്യാരക്റ്ററിൽ (` ~ ') ആരംഭിക്കുമ്പോൾ, ആദ്യത്തേതിൽ സൂചിപ്പിച്ചിട്ടില്ലാത്ത സ്ലാഷിന് മുമ്പുള്ള എല്ലാ പ്രതീകങ്ങളും (അല്ലെങ്കിൽ എല്ലാ പ്രതീകങ്ങളും, അവലംബമില്ലാത്ത സ്ലാഷിൽ ഇല്ലെങ്കിൽ) ടിൽഡെ-പ്രിഫിക്സ് ആയി കണക്കാക്കപ്പെടുന്നു. ടിൽഡെ-പ്രിഫിക്സിലെ പ്രതീകങ്ങൾ ഒന്നും ഉദ്ധരിച്ചില്ലെങ്കിൽ, ടിൽഡെ പിന്തുടരുന്ന ടിൽഡെ-പ്രിഫിക്സിലെ പ്രതീകങ്ങൾ ഒരു ലോഗിൻ നാമമായി പരിഗണിക്കും. ഈ ലോഗിന് പേര് ശരിയല്ലാത്ത സ്ട്രിംഗ് ആണെങ്കിൽ, ടോൾഡ് ഷെൽ പരാമീറ്റർ HOME ൻറെ മൂല്യം ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിക്കുന്നു. ഹോം സജ്ജമാക്കിയില്ലെങ്കിൽ, ഷെൽ പ്രവർത്തിപ്പിയ്ക്കുന്ന ഉപയോക്താവിൻറെ ഹോം ഡയറക്ടറി പകരം പകരമാകുന്നു. അല്ലെങ്കിൽ, ടിൽഡെ-പ്രിഫിക്സ് സൂചിപ്പിച്ച ലോഗിൻ നാമവുമായി ബന്ധപ്പെട്ട ഹോം ഡയറക്ടറി മാറ്റി സ്ഥാപിക്കും.

ടിൽഡെ-പ്രിഫിക്സ് `~ +" ആണെങ്കിൽ, ഷെൽ വേരിയബിൾ PWD ന്റെ മൂല്യം ടിൽഡെ-പ്രിഫിക്സ് മാറ്റി പകരം വയ്ക്കുന്നു. ടിൽഡെ-പ്രിഫിക്സ് `~ - ' ആണെങ്കിൽ , ഷെൽ വേരിയബിൾ OLDPWD- ന്റെ മൂല്യം, അത് സജ്ജീകരിച്ചിട്ടുണ്ടെങ്കിൽ, അത് മാറ്റി പകരം വെയ്ക്കുന്നു. ടിൽഡെ-പ്രിഫിക്സിൽ ടിൽഡെ പിന്തുടരുന്ന പ്രതീകങ്ങൾ ഒരു നമ്പർ N ഉൾക്കൊള്ളുന്നുവെങ്കിൽ, '+' അല്ലെങ്കിൽ '-' മുൻഗണനയായി പ്രിന്റ് ചെയ്യുമ്പോൾ, ടിൽഡെ-പ്രിഫിക്സ് ഡയറക്ടറി സ്റ്റാക്കിൽ നിന്നുള്ള അനുബന്ധ ഘടകം ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിക്കും, കാരണം ഇത് പ്രദർശിപ്പിക്കും ടിൽഡെ-പ്രിഫിക്സ് ഉപയോഗിച്ച് വാദം പോലെ നിർമിച്ച ഡിറീൽ ഉപയോഗിച്ച്. ടിൽഡെ-പ്രിഫിക്സിൽ ടിൽഡെ പിന്തുടരുന്ന പ്രതീകങ്ങൾ ഒരു മുൻനിര + അല്ലെങ്കിൽ '-' കൂടാതെ ഒരു സംഖ്യ ഉണ്ടെങ്കിൽ, `+" കണക്കാക്കപ്പെടുന്നു.

ലോഗിൻ നാമം അസാധുവാണെങ്കിൽ അല്ലെങ്കിൽ ടിൽഡിലെ വിപുലീകരണം പരാജയപ്പെട്ടാൽ, വാക്ക് മാറ്റമില്ലാതെ തുടരുന്നു.

ഓരോ വേരിയബിളിന്റെ അസൈൻമെന്റും ടേബിൾ-പ്രിഫിക്സുകൾ ഉപയോഗിക്കാതെ പരിശോധിക്കേണ്ടതാണ് : - അല്ലെങ്കിൽ = . ഇത്തരം കേസുകളിൽ ടിൽഡ വികസനവും നടക്കുന്നു. ഫലമായി, പൈ , മെയിൽപാത്ത് , CDPATH എന്നിവയിലേക്കുള്ള ചുമതലകളിൽ ടിൽഡുകളുപയോഗിച്ച് ഒരാളുടെ പേര് പേരുകൾ ഉപയോഗിച്ചേക്കാം, ഷെൽ വിപുലീകരിച്ച മൂല്യം നൽകുന്നു.

പവറേറ്റർ വിപുലീകരണം

` $ 'പ്രതീകം പരാമീറ്റർ വിപുലീകരണം, കമാൻഡ് ബദൽ, അല്ലെങ്കിൽ അരിത്മെറ്റിക് വിപുലീകരണം അവതരിപ്പിക്കുന്നു. വിപുലീകരിക്കപ്പെടേണ്ട പരാമീറ്ററിന്റെ പേര് അല്ലെങ്കിൽ ചിഹ്നം ബ്രേസുകളിലായിരിക്കണം, അവ ഓപ്ഷണൽ ആണ്, പക്ഷേ അത് വേഗത്തിൽ ഘടിപ്പിക്കുന്ന വേരിയബിളിനെ അക്ഷരമാലാ ക്രമത്തിൽ പിന്തുടരുന്നതിന് സഹായിക്കുന്നു.

ബ്രേസുകൾ ഉപയോഗിക്കുമ്പോൾ, പൊരുത്തമുള്ള അന്തിമ സംവിധാനമാണ് ബാക്ക്ലാഷ് അല്ലെങ്കിൽ ഒരു ഉദ്ധരിച്ച സ്ട്രിംഗിൽ നിന്ന് രക്ഷപെടാത്ത ആദ്യത്തെ ` } ', മാത്രമല്ല ഒരു ഉൾച്ചേർത്ത അരിത്മെറ്റിക് വിപുലീകരണം, കമാൻഡ് പകരം വയ്ക്കൽ അല്ലെങ്കിൽ പാരാമീറ്റർ വിപുലീകരണം എന്നിവയല്ല.

പരാമീറ്ററിന്റെ മൂല്യം മാറ്റി പകരം വെയ്ക്കുന്നു. പാരാമീറ്റർ ഒന്നിലധികം അക്കങ്ങൾ ഉള്ള ഒരു സ്ഥാനപ്പേരകമാകുമ്പോൾ പരാമീറ്റർ ആവശ്യപ്പെടുന്നു, അല്ലെങ്കിൽ പാരാമീറ്റർ പിന്തുടരുകയാണെങ്കിൽ ഒരു പ്രതീകം അതിന്റെ പേരിൽ ഭാഗമായി വ്യാഖ്യാനിക്കാൻ പാടില്ല.

താഴെയുള്ള ഓരോ കേസിലും, ടിൽഡ് വിപുലീകരണം, പരാമീറ്റർ വിപുലീകരണം, കമാൻഡ് പകരം വയ്ക്കൽ, കൂടാതെ ഗണിത വിപുലീകരണം എന്നിവയ്ക്ക് വിധേയമാണ്. സജഷൻ വിപുലീകരണം നടപ്പിലാകാത്തപ്പോൾ, സജ്ജമാക്കാത്ത അല്ലെങ്കിൽ അസാധുവായ ഒരു പരാമീറ്ററിനുള്ള ബാഷ് ടെസ്റ്റുകൾ; സജ്ജീകരിച്ചിട്ടില്ലാത്ത ഒരു പരാമീറ്ററിന് മാത്രം പരിശോധനയ്ക്കായി കോളൺ ഒഴിവാക്കുന്നു.

സ്ഥിര മൂല്യങ്ങൾ ഉപയോഗിക്കുക . പാരാമീറ്റർ സജ്ജമാക്കാതിരിക്കുകയോ നൾ അസാധുവാക്കുകയോ ചെയ്തിട്ടുണ്ടെങ്കിൽ, പദത്തിന്റെ വികാസം പകരം വെയ്ക്കുന്നു. അല്ലെങ്കിൽ, പരാമീറ്ററിന്റെ മൂല്ല്യം പകരം വെയ്ക്കുന്നു.

സ്ഥിര മൂല്യങ്ങൾ നൽകുക . പാരാമീറ്റർ സജ്ജമാക്കിയില്ലെങ്കിലോ നൾ അസാധുവാണെങ്കിലോ, പദത്തിന്റെ വിപുലീകരണം പരാമീറ്ററായി നിശ്ചയിച്ചിരിക്കുന്നു. പാരാമീറ്ററിന്റെ മൂല്യം മാറ്റി പകരം വയ്ക്കപ്പെടും. ഈ വിധത്തിൽ പോസിഷണൽ പാരാമീറ്ററുകൾ, പ്രത്യേക പാരാമീറ്ററുകൾ എന്നിവ നിശ്ചയിക്കില്ല.

Null അല്ലെങ്കിൽ സജ്ജമാക്കാതിരിക്കുകയാണെങ്കിൽ പ്രദർശന പിശക് . പരാമീറ്റർ പൂജ്യം അല്ലെങ്കിൽ സജ്ജമാക്കാതിരുന്നാൽ, വാക്കിന്റെ വികാസം (അല്ലെങ്കിൽ വാക്കുകളില്ലെങ്കിൽ ഫലത്തിൽ ഒരു സന്ദേശമുണ്ടെങ്കിൽ) സാധാരണ പിശക് അല്ലെങ്കിൽ ഷെല്ലിലേക്കു് എഴുതപ്പെടുന്നു, അതു് ഇന്ററാക്ടീവ് അല്ലെങ്കിൽ, പുറത്തുകടക്കുന്നു. അല്ലെങ്കിൽ, പരാമീറ്ററിന്റെ മൂല്ല്യം പകരം വെയ്ക്കുന്നു.

ഇതര മൂല്യം ഉപയോഗിക്കുക . പരാമീറ്റർ പൂജ്യം അല്ലെങ്കിൽ സജ്ജമാക്കാതിരിക്കുകയാണെങ്കിൽ, ഒന്നും മാറ്റി പകരം വയ്ക്കില്ലെങ്കിൽ, വാക്കുകളുടെ വ്യാപനം മാറ്റി പകരം വെയ്ക്കുന്നു.

IFS പ്രത്യേക വേരിയബിളിന്റെ ആദ്യ പ്രതീകത്തിൽ നിന്നും വേർതിരിച്ച, പ്രീഫിക്സിനൊപ്പം പേരുകൾ ആരംഭിക്കുന്ന വേരിയബിളിന്റെ പേരുകളിലേക്കു വികസിപ്പിക്കുന്നു.

പരാമീറ്ററിന്റെ മൂല്ല്യങ്ങളുടെ പ്രതീകങ്ങളിൽ നീളം. പാരാമീറ്റർ * അല്ലെങ്കിൽ @ ആണെങ്കിൽ, സ്ഥാനത്തിനായുള്ള പദസമ്പ്രദായങ്ങളുടെ എണ്ണം പകരമാൺ. പാരാമീറ്റർ എന്നത് * അല്ലെങ്കിൽ @ വഴി സൈറ്റായ ശ്രേണിയുടെ പേര് ആണെങ്കിൽ, മൂല്യം പകരം ശ്രേണിയിലെ ഘടകങ്ങളുടെ എണ്ണം.

പാത്ത് വിസ്തൃതമായതു പോലെ ഒരു മാതൃക നിർമ്മിക്കുന്നതിനു് ഈ വാക്ക് വികസിപ്പിച്ചു. പാരാമീറ്ററിന്റെ മൂല്യം ആരംഭിക്കുന്നതുമായി പാറ്റേൺ പൊരുത്തപ്പെടുന്നുവെങ്കിൽ, വിപുലീകരണത്തിന്റെ ഫലം, ചുരുങ്ങിയ പൊരുത്തപ്പെടൽ പാറ്റേണിൽ (`` # കേസ് ') അല്ലെങ്കിൽ ഏറ്റവും നീണ്ട പൊരുത്തപ്പെടൽ പാറ്റേണിൽ (` ## ' 'കേസ്) ഇല്ലാതാക്കി. പരാമീറ്റർ @ അല്ലെങ്കിൽ * ആണെങ്കിൽ, ഓരോ സ്ഥാനാന്തര പരാമീറ്ററിലും പാറ്റേൺ നീക്കം ചെയ്യൽ പ്രവർത്തനം പ്രയോഗിക്കുന്നു, കൂടാതെ വിപുലീകരണം ഫലമായി ലഭിക്കുന്ന പട്ടികയാണ്. പരാമീറ്റർ @ അല്ലെങ്കിൽ * -ഉം വരിക്കാരാകുന്ന ഒരു അറേ വേരിയബിൾ ആണെങ്കിൽ, ഓരോ അംഗത്തിനും പാറ്റേൺ നീക്കം ചെയ്യൽ പ്രവർത്തനം പ്രയോഗിക്കുന്നു, കൂടാതെ വിപുലീകരണം ഫലമായി ലഭിക്കുന്ന പട്ടികയാണ്.

പാത്ത് വിസ്തൃതമായതു പോലെ ഒരു മാതൃക നിർമ്മിക്കുന്നതിനു് ഈ വാക്ക് വികസിപ്പിച്ചു. പാരാമീറ്റർ വികസിത മൂല്യത്തിന്റെ പിന്നിൽ ഒരു ഭാഗം പൊരുത്തപ്പെടുമ്പോൾ, വിപുലീകരണത്തിന്റെ ഫലം, ചുരുങ്ങിയ പൊരുത്തപ്പെടൽ പാറ്റേൺ (` % '' കേസ്) അല്ലെങ്കിൽ ഏറ്റവും നീണ്ട പൊരുത്തപ്പെടൽ പാറ്റേൺ (` ` % % '' കേസ്) ഇല്ലാതാക്കി. പരാമീറ്റർ @ അല്ലെങ്കിൽ * ആണെങ്കിൽ, ഓരോ സ്ഥാനാന്തര പരാമീറ്ററിലും പാറ്റേൺ നീക്കം ചെയ്യൽ പ്രവർത്തനം പ്രയോഗിക്കുന്നു, കൂടാതെ വിപുലീകരണം ഫലമായി ലഭിക്കുന്ന പട്ടികയാണ്. പരാമീറ്റർ @ അല്ലെങ്കിൽ * -ഉം വരിക്കാരാകുന്ന ഒരു അറേ വേരിയബിൾ ആണെങ്കിൽ, ഓരോ അംഗത്തിനും പാറ്റേൺ നീക്കം ചെയ്യൽ പ്രവർത്തനം പ്രയോഗിക്കുന്നു, കൂടാതെ വിപുലീകരണം ഫലമായി ലഭിക്കുന്ന പട്ടികയാണ്.

പാത്ത് വിസ്തൃതമായതു പോലെ ഒരു പാറ്റേൺ നിർമ്മിക്കാൻ പാറ്റേൺ വികസിപ്പിച്ചു. പാരാമീറ്റർ വിപുലീകരിക്കുകയും അതിന്റെ മൂല്യത്തിനനുസരിച്ച് പാറ്റേണുകളുടെ ഏറ്റവും ദൈർഘ്യമേറിയ പൊരുത്തം സ്ട്രിംഗ് ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിക്കപ്പെടും. ആദ്യ ഫോമിൽ, ആദ്യത്തെ മത്സരം മാറ്റി പകരം വയ്ക്കുക. രണ്ടാമത്തെ ഫോം പാറ്റേണിലെ എല്ലാ പൊരുത്തങ്ങളും സ്ട്രിംഗ് ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിക്കുന്നു. പാറ്റേൺ # -ൽ തുടങ്ങുകയാണെങ്കിൽ, അത് പാരാമീറ്റർ വിപുലീകരിച്ച മൂല്യത്തിന്റെ ആരംഭത്തിൽ പൊരുത്തപ്പെടണം. പാറ്റേൺ % ൽ തുടങ്ങുകയാണെങ്കിൽ, അത് പാരാമീറ്റർ വിപുലീകരിച്ച മൂല്യത്തിന്റെ ഒടുവിൽ യോജിക്കും. സ്ട്രിംഗ് എന്നത് പൂജ്യം ആണെങ്കിൽ, പാറ്റേണുകളുടെ പൊരുത്തങ്ങൾ നീക്കം ചെയ്യപ്പെടുകയും / താഴെ പാറ്റേൺ ഒഴിവാക്കുകയും ചെയ്യാം. പരാമീറ്റർ @ അല്ലെങ്കിൽ * ആണെങ്കിൽ, ഓരോ സ്ഥാനമാറ്റത്തിനും പകരം സബ്സിസ്റ്റേഷൻ പ്രവർത്തനം പ്രയോഗിക്കുന്നു, കൂടാതെ വിപുലീകരണം ഫലമായി ലഭിക്കുന്ന പട്ടികയാണ്. പാരാമീറ്റർ എന്നത് @ അല്ലെങ്കിൽ * കൊണ്ട് സറണ്ടർ ചെയ്ത ഒരു അറേ വേരിയബിൾ ആണെങ്കിൽ, സബ്ജക്റ്റിന്റെ പ്രവർത്തനം മുകളിലെ ഓരോ അംഗത്തിനും പകരം പ്രയോഗിക്കുന്നു, കൂടാതെ വിപുലീകരണം ഫലമായി ലഭിക്കുന്ന പട്ടികയാണ്.

കമാൻഡ് ഇതിനുള്ള സംവിധാനമാണ്

കമാൻഡ് സബ്ജക്ടുകരണം ആജ്ഞയുടെ പേരു് ആ കമാൻഡ് നെയിം മാറ്റുവാൻ അനുവദിക്കുന്നു. രണ്ട് രീതികളുണ്ട്:

$ ( ആജ്ഞ )

അഥവാ

` command`

കമാൻഡ് എക്സിക്യുട്ടീവ് ചെയ്ത് ബസ് കമാന്റ് സബ്ജക്റ്റിനെ കമാൻഡ് സ്റ്റാൻഡേർഡ് ഔട്ട്പുട്ടാക്കി മാറ്റി, ഏതെങ്കിലും ട്രൈലിംഗ് ന്യൂലൈൻ ഇല്ലാതാക്കി. ഉൾച്ചേർത്ത പുതിയ വരികൾ ഇല്ലാതാകുന്നില്ല, എന്നാൽ പദ വിഭജന സമയത്ത് അവ നീക്കം ചെയ്യപ്പെടാം. കമാൻഡ് സബ്പ്രെഷൻ $ (cat ഫയൽ ) അതിനു പകരം തുല്യമാണ് എന്നാൽ വേഗതയാർന്ന $ (< file ).

പഴയ രീതിയിലുള്ള ബാക്ക്ക്യുട്ട് രൂപത്തിൽ ഉപയോഗിക്കുമ്പോൾ, ബസ് സ്ക്രിപ്റ്റ് അതിന്റെ അക്ഷരീയ അർഥം നിലനിർത്തുന്നത്, $ , ` , അല്ലെങ്കിൽ \ . ഒരു backslash മുന്പിലില്ലാത്ത ആദ്യത്തെ backquote കംപ്യൂട്ടറിനുള്ള ശസ്ത്രക്രിയ നിര്ത്തുന്നു. $ ( കമാൻഡ് ) ഫോം ഉപയോഗിക്കുമ്പോൾ, ബ്രാക്കറ്റുകളിൽ നിന്ന് എല്ലാ ക്യാരക്ടറുകളും ആജ്ഞ ചെയ്യും; ഒന്നും പ്രത്യേകിച്ച് കൈകാര്യം.

കമാൻഡ് പകരം വയ്ക്കാവുന്നതാണു്. Backquoted ഫോം ഉപയോഗിക്കുമ്പോൾ നെസ്റ്റ് ലേക്കുള്ള, backslashes ഉള്ളിൽ ഉള്ളിൽ backquotes രക്ഷപ്പെടാൻ.

ഡബിൾ ഉദ്ധരണികൾക്കുള്ളിൽ സബ്സിഡിയായി ദൃശ്യമാവുന്നെങ്കിൽ, വാക്ക് വിഭജനം, പാത്ത്നാമ വിപുലീകരണം എന്നിവ ഫലങ്ങളിൽ നിർവ്വഹിക്കുന്നില്ല.

അരിത്മെറ്റിക് എക്സ്പാൻഷൻ

അരിത്മെറ്റിക് വികസനം ഒരു അരിത്മെറ്റിക് എക്സ്പ്രെഷൻ മൂല്യനിർണ്ണയം അനുവദിക്കുന്നു. അരിത്മെറ്റിക് വിപുലീകരണത്തിനുള്ള ഫോർമാറ്റ്:

$ (( എക്സ്പ്രഷൻ ))

ഇരട്ട ഉദ്ധരണികൾക്കുള്ളിൽ ഉള്ളതുപോലെ ഈ പ്രയോഗം പരിഗണിക്കുന്നതാണ്, എന്നാൽ ബ്രാക്കറ്റിലുള്ള ഒരു ഇരട്ട ഉദ്ധാരണം പ്രത്യേകം പരിഗണിക്കുന്നില്ല. എക്സ്പ്രഷനിലെ എല്ലാ ടോക്കണുകളും പരാമീറ്റർ വിപുലീകരണം, സ്ട്രിംഗ് വിപുലീകരണം, കമാൻഡ് പകരം വയ്ക്കൽ, ഉദ്ധരണികൾ നീക്കംചെയ്യൽ എന്നിവയ്ക്ക് വിധേയമാണ്. അരിത്മെറ്റിക് പകരക്കാർക്ക് കൂട്ടിച്ചേർക്കാം.

ARITHMETIC മൂല്യനിർണയത്തിൻ കീഴിൽ ചുവടെ ലിസ്റ്റുചെയ്തിരിക്കുന്ന നിയമങ്ങളുടെ അടിസ്ഥാനത്തിൽ വിലയിരുത്തൽ നടത്തുക . എക്സ്പ്രഷൻ അസാധുവാണെങ്കിൽ, പരാജയം സൂചിപ്പിക്കുന്ന ഒരു സന്ദേശം ബാഷ് പ്രിന്റ് ചെയ്യുന്നു.

പ്രോസസ്സ് സബ്സ്റ്റിറ്റ്യൂഷൻ

പേരുള്ള പൈപ്പുകൾ ( FIFOs ) അല്ലെങ്കിൽ ഓപ്പൺ ഫയലുകളുടെ പേരു് / dev / fd രീതി പിന്തുണയ്ക്കുന്ന സംവിധാനങ്ങളിൽ പ്രക്രിയ മാറ്റിസ്ഥാപിയ്ക്കുന്നു . അത് <( list ) അല്ലെങ്കിൽ > ( list ) എന്ന രൂപത്തിലുള്ളതാണ്. പ്രക്രിയാ ലിസ്റ്റ് അതിന്റെ ഇൻപുട്ട് അല്ലെങ്കിൽ ഔട്ട്പുട്ടിലാണ് FIFO അല്ലെങ്കിൽ ചില ഫയൽ / dev / fd ൽ ബന്ധിപ്പിച്ചിരിക്കുന്നത് . വിപുലീകരണത്തിന്റെ ഫലമായി ഈ ഫയലിന്റെ പേര് നിലവിലുള്ള കമാൻഡിന് ഒരു ആർഗ്യുമെന്റായി നൽകിയിരിക്കുന്നു. > ( ലിസ്റ്റ് ) ഫോം ഉപയോഗിക്കുന്നുവെങ്കിൽ, ഫയലിൽ എഴുതുന്നത് ലിസ്റ്റിനുള്ള ഇൻപുട്ട് നൽകും. <( List ) ഫോം ഉപയോഗിക്കുന്നുണ്ടെങ്കിൽ, ലിസ്റ്റ് ഔട്ട്പുട്ട് ലഭിക്കാൻ ഒരു ആർഗ്യുമെന്റ് ആയതിനാൽ ഫയൽ പാസ്സാക്കിയിരിക്കണം.

ലഭ്യമാകുമ്പോൾ, പാരാമീറ്റർ, വേരിയബിൾ വിപുലീകരണം, കമാൻഡ് സബ്ജക്ട്, കൂടാതെ അരിത്മെറ്റിക് എക്സ്പാൻഷൻ എന്നിവയ്ക്കൊപ്പം പ്രോസസ് പകരമായി പെർഫോമൻസ് പ്രവർത്തിക്കുന്നു.

വാക്ക് വിഭജനം

പദ വിന്യാസത്തിന്റെ ഇരട്ട ഉദ്ധരണികൾക്കുള്ളിൽ സംഭവിക്കാത്ത, പാരാമീറ്റർ വിപുലീകരണത്തിന്റെ ഫലം, കമാൻഡ് ബദൽ, ആർകിമെറ്റിക് വിപുലീകരണം എന്നിവയുടെ ഫലം സ്കിൽ ചെയ്യുന്നു .

ഷെൽ ഒരു ഡിലിമിറ്റർ ആയി IFS ന്റെ ഓരോ ക്യാരക്ടറേയും പരിഗണിക്കുന്നു, കൂടാതെ മറ്റ് എക്സ്പാൻഷനുകളുടെ ഫലങ്ങൾ ഈ പ്രതീകങ്ങളിൽ പദങ്ങളിൽ വിഭജിക്കുന്നു. IFS സജ്ജമാക്കാതിരിക്കുകയോ അല്ലെങ്കിൽ അതിന്റെ മൂല്യം കൃത്യമായി ആണെങ്കിൽ, സ്വതവേ, പിന്നെ, ഐഎഫ്എസ് അക്ഷരങ്ങളുടെ ഏതു് ശ്രേണി വാക്കുകളും ഡിലിമിറ്റ് ചെയ്യുന്നതിനായി ഉപയോഗിക്കുന്നു. IFS ന് സ്ഥിരസ്ഥിതി ഒഴികെയുള്ള മറ്റെല്ലാ വിലകളും ഉണ്ടെങ്കിൽ, വൈറ്റ്സ്പെയ്സ് പ്രതീകം ഐഎഫ്എസ് (ഒരു ഐഎഫ്എസ് വൈറ്റ്സ്പെയിസ് പ്രതീകം) എന്നതിലുപരി, വൈറ്റ്സ്പെയ്സ് പ്രതീകം എന്ന വാക്കിന്റെ അവസാനംയും അവസാനവും വൈറ്റ്സ്പെയ്സ് പ്രതീകങ്ങളുടെ സ്ഥലവും ടാബുകളും അവഗണിക്കും. ഐഎഫ്എസ് വൈറ്റ്സ്പെയ്സ് അല്ലാത്ത IFS- യിൽ ഏതെങ്കിലും പ്രതീകം, ഏതെങ്കിലും അടുത്ത IFS വൈസ്പെയ്സ് പ്രതീകങ്ങൾക്കൊപ്പം, ഒരു ഫീൽഡ് delimits. IFS വൈറ്റ്സ്പെയ്സ് പ്രതീകങ്ങളുടെ ഒരു ശ്രേണി ഡെലിമിറ്റർ ആയി കണക്കാക്കുന്നു. IFS -ന്റെ മൂല്യം പൂജ്യമാണെങ്കിൽ, ഒരു വാക്ക് വിഭജനം സംഭവിക്കുന്നില്ല.

പ്രായോഗിക പൂജ്യം വാദങ്ങൾ ( " അല്ലെങ്കിൽ " ) നിലനിർത്തുന്നു. മൂല്യങ്ങളല്ലാത്ത പാരാമീറ്ററുകൾ വികസിപ്പിക്കുന്നതിൽ നിന്നും വ്യത്യാസമില്ലാതെ അവ്യക്തമായ ഇൻപുട്ട് അസാധുവാക്കൽ ആർഗ്യുമെന്റുകൾ നീക്കംചെയ്യുന്നു. ഇരട്ട ഉദ്ധരണികൾക്കുള്ളിൽ മൂല്യമില്ലാത്ത ഒരു പരാമീറ്റർ വിപുലീകരിക്കുകയാണെങ്കിൽ, ഒരു വാദം ആർഗ്യുമെന്റ് ഫലങ്ങൾ നിലനിർത്തുകയും നിലനിർത്തുകയും ചെയ്യും.

യാതൊരു വിപുലീകരണവും സംഭവിക്കുന്നില്ലെങ്കിൽ, വിഭജനം നടത്തുകയില്ല എന്ന് ശ്രദ്ധിക്കുക.

പാത്ത്നാമ എക്സ്പാൻഷൻ

-f ഐച്ഛികം സെറ്റ് ചെയ്തിട്ടില്ലെങ്കിൽ വാക്ക് വിഭജനം കഴിഞ്ഞാൽ, ബാഷ് ഓരോ അക്ഷരങ്ങളും * , എന്നതിനായി തിരയുന്നുണ്ടോ ? , ഒപ്പം [ . ഈ പ്രതീകങ്ങൾ പ്രത്യക്ഷപ്പെടുന്നെങ്കിൽ, പദം ഒരു പാറ്റേൺ ആയി കണക്കാക്കപ്പെടും, കൂടാതെ പാറ്റേണുമായി പൊരുത്തപ്പെടുന്ന ഫയൽ നാമങ്ങളുടെ ഒരു അക്ഷരമാലാക്രമത്തിൽ അടുക്കിയിരിക്കുന്ന പട്ടിക ഉപയോഗിച്ച് മാറ്റി എഴുതുക. പൊരുത്തപ്പെടുന്ന ഫയൽ നാമങ്ങൾ കണ്ടില്ലെങ്കിൽ ഷെൽ ഐച്ഛികം nullglob അപ്രാപ്തമാക്കിയിരിക്കുകയാണെങ്കിൽ, വാക്ക് മാറ്റമില്ല. Nullglob ഐച്ഛികം സജ്ജമാക്കിയിട്ടുണ്ടെങ്കിൽ, പൊരുത്തങ്ങളൊന്നും കണ്ടെത്തിയില്ലെങ്കിൽ, വാക്ക് നീക്കം ചെയ്തിരിക്കുന്നു. ഷെൽ ഐച്ഛികം nocaseglob സജ്ജമാക്കിയാൽ, അക്ഷരങ്ങളുടെ കാരണങ്ങൾ കണക്കിലെടുക്കാതെ മത്സരം നടക്കുന്നു. പാത്ത് എക്സ്പാൻഷനിൽ ഒരു പാറ്റേൺ ഉപയോഗിക്കുമ്പോൾ, ``. '' ഒരു തുടക്കത്തിന്റെ തുടക്കത്തിൽ അല്ലെങ്കിൽ സ്ളാഷിനെ തുടർന്ന് ഉടൻ ഷെൽ ഓപ്ഷൻ dotglob സജ്ജമാകാതെ ശ്രദ്ധിക്കേണ്ടതുണ്ട് . ഒരു പാഥ് നെയിം പൊരുത്തപ്പെടുമ്പോൾ, സ്ളാഷ് അക്ഷരം എപ്പോഴും പരസ്പരം പൊരുത്തപ്പെടണം. മറ്റു സന്ദർഭങ്ങളിൽ, `` പ്രതീകം പ്രത്യേകമായി പരിഗണിക്കുന്നില്ല. Nocaseglob , nullglob , dotglob എന്നീ ഷെല്ലുകളുടെ ഒരു വിവരണത്തിനായി shell BUILTIN കമാൻഡിനു കീഴിലുള്ള ചുവടെയുള്ള സ്റ്റോറേജ് വിവരണം കാണുക.

ഒരു പാറ്റേണുമായി പൊരുത്തപ്പെടുന്ന ഫയലിന്റെ പേരുകൾ നിയന്ത്രിക്കാൻ GLOBIGNORE ഷെൽ വേരിയബിൾ ഉപയോഗിക്കാം. GLOBIGNORE സജ്ജീകരിച്ചിട്ടുണ്ടെങ്കിൽ, GLOBIGNORE ലെ പാറ്റേണുകളിൽ ഒന്നിനോട് പൊരുത്തപ്പെടുന്ന ഓരോ പൊരുത്തപ്പെടുന്ന ഫയലിന്റെ പേരും പൊരുത്തങ്ങളുടെ പട്ടികയിൽ നിന്നും നീക്കം ചെയ്തിരിക്കുന്നു. GLOBIGNORE സജ്ജമാക്കുമ്പോൾപ്പോലും, ഫയൽ നാമങ്ങൾ `` ` .`` എല്ലായ്പ്പോഴും അവഗണിക്കും. എന്നിരുന്നാലും, GLOBIGNORE എന്നതിന്റെ ക്രമീകരണം dotglob ഷെൽ ഓപ്ഷൻ പ്രവർത്തനക്ഷമമാക്കുന്നതിന്റെ ഫലമായി, അതുകൊണ്ട് '`.' ' തുടങ്ങുന്ന മറ്റ് എല്ലാ ഫയൽ നാമങ്ങളും പൊരുത്തപ്പെടും. `` കൊണ്ട് തുടങ്ങുന്ന ഫയലിൻറെ പേരുകൾ അവഗണിക്കുന്നതിന്റെ പഴയ പെരുമാറ്റം ലഭിക്കാൻ, '' '.' ' GLOBIGNORE ലെ പാറ്റേണുകളിൽ ഒന്ന് . GLOBIGNORE സജ്ജീകരിക്കാതിരിക്കുമ്പോൾ dotglob ഓപ്ഷൻ പ്രവർത്തനരഹിതമാണ്.

പാറ്റേൺ പൊരുത്തപ്പെടൽ

ചുവടെ വിവരിച്ച പ്രത്യേക പാറ്റേൺ പ്രതീകങ്ങളല്ലാത്ത ഒരു പാറ്റേണിൽ ദൃശ്യമാകുന്ന ഏത് ക്യാരക്ടറും സ്വയം പൊരുത്തപ്പെടുന്നു. NUL പ്രതീകം ഒരു പാറ്റേണിൽ ഉണ്ടാകണമെന്നില്ല. പ്രതീകാത്മകവുമായി പൊരുത്തപ്പെടണമെങ്കിൽ പ്രത്യേക പാറ്റേൺ പ്രതീകങ്ങൾ ഉദ്ധരിക്കപ്പെടണം.

പ്രത്യേക പാറ്റേൺ പ്രതീകങ്ങൾ ഇനിപ്പറയുന്ന അർത്ഥങ്ങളുമുണ്ട്:

*

ശൂന്യമായ സ്ട്രിംഗ് ഉൾപ്പെടെ ഏതെങ്കിലും സ്ട്രിംഗ് പൊരുത്തപ്പെടുന്നു.

?

ഏതെങ്കിലും പ്രതീകങ്ങളുമായി പൊരുത്തപ്പെടുന്നു.

[...]

ഏതെങ്കിലും ഒത്തുതീർന്ന പ്രതീകങ്ങളുമായി പൊരുത്തപ്പെടുന്നു. ഒരു ഹൈഫൻ ഉപയോഗിച്ച് വേർതിരിച്ച ഒരു ജോടി ശ്രേണി ഒരു റേഞ്ച് എക്സ്പ്രഷൻ സൂചിപ്പിക്കുന്നു; നിലവിലുള്ള ലോക്കേൽ ന്റെ കൊളാഷിംഗ് സീക്വൻസും പ്രതീക ഗണും ഉപയോഗിച്ച് ആ രണ്ട് പ്രതീകങ്ങൾ ഉൾക്കൊള്ളുന്ന ഏത് സ്വഭാവവും പൊരുത്തപ്പെടുന്നു. ആദ്യത്തെ ഒരു കഥാപാത്രം [ a ആണ് ! അല്ലെങ്കിൽ ഒരു ^ ആകുമ്പോൾ ഏത് കഥാപാത്രവും പൊരുത്തപ്പെടുന്നില്ല. ശ്രേണി എക്സ്പ്രഷനുകളിലെ പ്രതീകങ്ങളുടെ അടുക്കുന്ന ക്രമം നിലവിലെ ലോക്കലും LC_COLLATE ഷെൽ വേരിയബിളിന്റെ മൂല്യവും ആണ് നിശ്ചയിച്ചിരിക്കുന്നത്. A - സെറ്റിന്റെ ആദ്യത്തെ അല്ലെങ്കിൽ അവസാനത്തെ പ്രതീകമായി ഇത് ഉൾപ്പെടുത്തിയിരിക്കാം. ഒരു സെറ്റിന്റെ ആദ്യ പ്രതീകമായി ഇത് ഉൾപ്പെടുത്തിയിരിക്കാം.

[ കൂടാതെ ] , സിനക്സ് [: class :] ഉപയോഗിച്ച് പ്രതീക ക്ലാസുകൾ നൽകാം, ഇവിടെ ക്ലാസ് എന്നത് POSIX.2 സ്റ്റാൻഡേർഡിൽ നിർവചിച്ചിരിക്കുന്ന താഴെക്കൊടുത്തിരിക്കുന്ന ക്ലാസുകളിൽ ഒന്നാണ്:

alnum ആൽഫാ ascii ശൂന്യ cntll ഗ്രാഫ് താഴ്ന്ന പ്രിന്റ് പക്റ്റർ സ്പെയ്സ് അപ്പർ വാക്ക് xdigit
ഒരു ക്ലാസ് ക്ലാസ് ക്ലാസ്സിന്റെ ഏത് സ്വഭാവവും യോജിക്കുന്നു. അക്ഷരങ്ങൾ, അക്കങ്ങൾ, പ്രതീകങ്ങൾ _ എന്നിവയെ അക്ഷരങ്ങളായ അക്ഷരം.

[ കൂടാതെ, സിൻറാക്സ് [= c =] എന്നതുപയോഗിച്ച് സമചതുര ക്ലാസ്സ് നൽകാം, ഇത് പ്രതീകം പോലെ അതേ കോളിഷൻ ഭാരം (നിലവിലെ ലോക്കേൽ നിർവചിച്ചിരിക്കുന്നതുപോലെ) എല്ലാ പ്രതീകങ്ങളുമായി പൊരുത്തപ്പെടുന്നു.

[ കൂടാതെ ] , സിന്റാക്സിൽ [. ചിഹ്നം ] ചുരുക്കൽ ചിഹ്നം പ്രതീകവുമായി പൊരുത്തപ്പെടുന്നു.

ഷോട്ട് ബിറ്റ്ലിൻ ഉപയോഗിച്ചു് extglob ഷെൽ ഐച്ഛികം പ്രവർത്തന സജ്ജമാക്കിയാൽ, അനേകം എക്സ്റ്റെൻഡഡ് പാറ്റേഴ്സ് പൊരുത്തപ്പെടുന്ന ഓപ്പറേറ്റർമാരെ തിരിച്ചറിഞ്ഞിരിയ്ക്കുന്നു. താഴെ പറയുന്ന വിവരണങ്ങളിൽ, പാറ്റേൺ-പട്ടിക എന്നത് ഒരു വേർതിരിച്ച ഒന്നിന്റെ അല്ലെങ്കിൽ ഒന്നിലധികം പാറ്റേണുകളുടെ പട്ടികയാണ് . താഴെ പറയുന്ന ഉപ-പാറ്റേണുകളിൽ ഒന്നോ അതിലധികമോ ഉപയോഗിച്ച് കമ്പോസിറ്റ് പാറ്റേണുകൾ രൂപീകരിക്കാം:

( പാറ്റേൺ-ലിസ്റ്റ് )

തന്നിരിക്കുന്ന പാറ്റേണുകളുടെ പൂജ്യം അല്ലെങ്കിൽ ഒരു സംഭവം പൊരുത്തപ്പെടുന്നു

* ( പാറ്റേൺ-ലിസ്റ്റ് )

തന്നിരിക്കുന്ന പാറ്റേണുകളുടെ പൂജ്യം അല്ലെങ്കിൽ കൂടുതൽ സംഭവങ്ങൾ പൊരുത്തപ്പെടുന്നു

+ ( പാറ്റേൺ-ലിസ്റ്റ് )

തന്നിരിക്കുന്ന പാറ്റുകളുടെ ഒന്നോ അതിലധികമോ സന്ദർഭങ്ങളുമായി പൊരുത്തപ്പെടുന്നു

@ ( പാറ്റേൺ-ലിസ്റ്റ് )

തന്നിരിക്കുന്ന പാറ്റേണുകളിൽ ഒന്ന് കൃത്യമായി പൊരുത്തപ്പെടുന്നു

! ( പാറ്റേൺ-ലിസ്റ്റ് )

തന്നിരിക്കുന്ന പാറ്റേണുകളിൽ ഒന്ന് ഒഴികെ

ഉദ്ധരണി നീക്കംചെയ്യൽ

മുൻപുള്ള വികാസങ്ങൾക്ക് ശേഷം, മുകളിൽ പറഞ്ഞ വിപുലീകരണങ്ങളിൽ നിന്നുമായി ഫലമില്ലാത്ത, \ , ' , ' എന്നീ പ്രതീകങ്ങളെല്ലാം നീക്കംചെയ്യുന്നു.

പിൻവലിക്കൽ

ഒരു കമാൻഡ് എക്സിക്യൂട്ട് ചെയ്യുന്നതിനു മുമ്പ് അതിന്റെ ഇൻപുട്ട്, ഔട്ട്പുട്ട് എന്നിവ ഷെല്ലിൽ വ്യാഖ്യാനിക്കുന്ന ഒരു പ്രത്യേക നൊട്ടൊലി ഉപയോഗിച്ച് റീഡയറക്ട് ചെയ്യാം. നിലവിലുള്ള ഷെൽ എക്സിക്യൂഷൻ എൻവയോൺമെന്റിനുള്ള ഫയലുകൾ തുറക്കുവാനും അടയ്ക്കുവാനും ഉപയോഗിക്കാനും ഉപയോഗിക്കാം. താഴെക്കൊടുത്തിരിക്കുന്ന റീഡയറക്ഷൻ ഓപ്പറേറ്റർമാർ ഒരു സാധാരണ കമാന്റുപയോഗിച്ച് എവിടെയെങ്കിലും പ്രത്യക്ഷപ്പെടാം അല്ലെങ്കിൽ ഒരു കമാന്ഡ് പിന്തുടരാം. റീഡയറക്ഷുകൾ അവ ദൃശ്യമാകുന്ന ക്രമത്തിൽ പ്രോസസ്സ് ചെയ്യുന്നു, ഇടത് നിന്ന് വലത്തേയ്ക്ക്.

ഇനി പറയുന്ന വിവരണങ്ങളിൽ, ഫയൽ ഡിസ്ക്രിപറ്റർ നമ്പർ ഒഴിവാക്കിയിട്ടുണ്ടെങ്കിൽ, റീഡയറക്ഷൻ ഓപ്പറേറിന്റെ ആദ്യ പ്രതീകം < , റീഡയറക്ഷൻ അടിസ്ഥാന ഇൻപുട്ട് (ഫയൽ ഡിസ്ക്രിപറ്റർ 0) നൽകുന്നു. റീഡയറക്ഷൻ ഓപ്പറേറ്റർ ലെ ആദ്യ പ്രതീകം > ആണെങ്കിൽ, റീഡയറക്ഷൻ സാധാരണ ഔട്ട്പുട്ട് (ഫയൽ ഡിസ്ക്രീപ്റ്റർ 1) നൽകുന്നു.

താഴെ പറയുന്ന വിവരണങ്ങളിൽ റീഡയറക്ഷൻ ഓപ്പറേറ്റർക്കുശേഷം, ബ്രേസ് എക്സ്പാൻഷൻ, ടിൽഡ് എക്സ്പാൻഷൻ, പാരാമീറ്റർ എക്സ്പാൻഷൻ, കമാൻഡ് പ്രെഫൻഷൻ, ഗണിത വികാസം, ഉദ്ധരണി നീക്കം, പാത്ത്നാമ വികസനം, വേർഡ് വിഭജനം എന്നിവയ്ക്ക് വിധേയമാണ്. ഇത് ഒന്നിലധികം വാക്കുകളിലേയ്ക്ക് വിപുലീകരിക്കുകയാണെങ്കിൽ, ബാഷ് ഒരു പിശക് റിപ്പോർട്ട് ചെയ്യുന്നു.

റിഡയറുകളുടെ ക്രമം നിർണ്ണായകമാണെന്ന് ശ്രദ്ധിക്കുക. ഉദാഹരണത്തിനു്, കമാൻഡ്

ls > dirlist 2 > & 1

സ്റ്റാൻഡേർഡ് ഔട്ട്പുട്ട്, സ്റ്റാൻഡേർഡ് ഡീഫോൾട്ട് ഫയൽ dirlist എന്നിവയിലേക്കും നയിക്കുന്നു

ls 2 > & 1 > ഡർലിസ്റ്റ്

ഡീലിസ്റ്റിനുള്ള സ്റ്റാൻഡേർഡ് ഔട്ട്പുട്ട് മാത്രമേ ഉള്ളൂ. സ്റ്റാൻഡേർഡ് ഔട്ട്പുട്ട് ഡർലിസ്റ്റിലേക്ക് റീഡയറക്ട് ചെയ്യുന്നതിന് മുമ്പ് സ്റ്റാൻഡേർഡ് എന്റർപ്രൈസ് സ്റ്റാൻഡേർഡ് ഔട്ട്പുട്ട് ആയി പൂരിപ്പിച്ചു .

താഴെ പറയുന്ന പട്ടികയിൽ വിവരിച്ചിരിക്കുന്നതുപോലെ, ബാഷ്ഡ് പല ഫയൽനാമങ്ങൾ ഉപയോഗിക്കുമ്പോൾ പ്രത്യേകം പുനർനിർമ്മാണങ്ങളിൽ ഉപയോഗിക്കുമ്പോൾ:

/ dev / fd / fd

Fd സാധുതയുള്ള ഒരു പൂർണ്ണസംഖ്യയാണെങ്കിൽ, ഫയൽ ഡിസ്ക്രിപ്റ്റർ fd തനിപ്പകർപ്പ് ആണ്.

/ dev / stdin

ഫയൽ വിവരണാത്മകം 0 തനിപ്പകർപ്പാണ്.

/ dev / stdout

ഫയൽ ഡിസ്ക്രിപ്റ്റർ 1 തനിപ്പകർപ്പാണ്.

/ dev / stderr

ഫയൽ ഡിസ്ക്രിപ്റ്റർ 2 ഡ്യൂപ്ലിക്കേറ്റഡ് ആണ്.

/ dev / tcp / host / port

ഹോസ്റ്റ് ഒരു സാധുവായ ഹോസ്റ്റ്നാമം അല്ലെങ്കിൽ ഇന്റർനെറ്റ് വിലാസമാണെങ്കിൽ, പോർട്ട് ഒരു പൂർണ്ണസംഖ്യ പോർട്ട് നമ്പറോ സേവനനാമമോ ആണെങ്കിൽ, അനുബന്ധ സോക്കറ്റിലേക്ക് TCP കണക്ഷൻ തുറക്കാൻ ബാഷ് ശ്രമങ്ങൾ.

/ dev / udp / host / port

ഹോസ്റ്റ് ഒരു സാധുവായ ഹോസ്റ്റ്നാമം അല്ലെങ്കിൽ ഇന്റർനെറ്റ് വിലാസമാണെങ്കിൽ, പോർട്ട് ഒരു പൂർണ്ണസംഖ്യ പോർട്ട് നമ്പറോ സേവനനാമമോ ആണെങ്കിൽ, അനുബന്ധ സോക്കറ്റിലേക്ക് ഒരു UDP കണക്ഷൻ തുറക്കാൻ ബാഷ് ശ്രമങ്ങൾ.

ഒരു ഫയൽ തുറക്കുന്നതിനോ സൃഷ്ടിക്കുന്നതിനോ ഉള്ള പരാജയം റീഡയറക്ഷൻ പരാജയപ്പെടുത്തുന്നതിന് കാരണമാകുന്നു.

ഇൻപുട്ട് റീഡയറക്ട് ചെയ്യുന്നു

ടൈപ്പുചെയ്യൽ ഡിപ്രെഡിക് n യിൽ വായനയ്ക്കായി തുറക്കുന്നതിനുള്ള വാക്കുകൾ വികസിപ്പിക്കുന്നതിനോ അല്ലെങ്കിൽ n നിർദ്ദേശിച്ചിട്ടില്ലെങ്കിൽ സ്റ്റാൻഡേർഡ് ഇൻപുട്ട് (ഫയൽ ഡിസ്ക്രീപ്റ്റർ 0) യിലുമാണ് പേര് നൽകുന്നത്.

റീഡയറക്ട് ഇൻപുട്ടിനുള്ള പൊതുവായ ഫോർമാറ്റ്:

[ n ] < വചനം

ഔട്ട്പുട്ട് റീഡയറക്ട്

ഔട്ട്പുട്ട് റീഡയറക്ഷന് ഫയലിന്റെ ഡിസ്ക്രിപ്റ്റര് n , അല്ലെങ്കില് n വ്യക്തമാക്കിയിട്ടില്ലെങ്കില് , സ്റ്റാന്ഡാര്ഡ് ഔട്ട്പുട്ട് (എന്ഡിന് ഡിസ്ക്രിപ്റ്റര് 1) എഴുതുന്നതിനുളള വാക്കുകളുടെ തുറക്കലില് നിന്നുള്ള ഫലത്തിന്റെ പേരു്. ഫയൽ നിലവിലില്ലങ്കിൽ അത് സൃഷ്ടിച്ചു; ഇത് നിലവിലുണ്ടെങ്കിൽ അത് പൂജ്യം വലിപ്പം ചുരുക്കിയിരിക്കുന്നു.

റീഡയറക്ട് ഔട്ട്പുട്ടിനുള്ള പൊതുവായ ഫോർമാറ്റ്:

[ n ] > വാക്ക്

റീഡയറക്ഷൻ ഓപ്പറേറ്റർ > ആണെങ്കിൽ, സജ്ജീകരിയ്ക്കുന്നതിനുള്ള noclobber ഐച്ഛികം പ്രവർത്തന സജ്ജമാക്കിയിരിയ്ക്കുന്നു, പദത്തിന്റെ വിപുലീകരണത്തിൽ നിന്നുള്ള പേരുകൾ ഉണ്ടാകുന്ന ഫയൽ സാധാരണ ഫയൽ ആണെങ്കിൽ റീഡയറക്ഷൻ പരാജമാകും . റീഡയറക്ഷൻ ഓപ്പറേറ്റർ ആണെങ്കിൽ | | , അല്ലെങ്കിൽ റീഡയറക്ഷൻ ഓപ്പറേററർ ആണ്, സജ്ജീകരിയ്ക്കാനുള്ള കമാൻഡിലേക്കുള്ള noclobber ഐച്ഛികം പ്രവർത്തനക്ഷമമല്ല, പദത്തിന്റെ പേരു് നൽകിയില്ലെങ്കിൽ റീഡയറക്ഷൻ ശ്രമിയ്ക്കുന്നു.

റീഡയറക്ട് ഔട്ട്പുട്ട് ചേർക്കുക

ഔട്ട്പുട്ട് റീഡയറക്ഷൻ ഈ ഫൈനലിൽ ഫയലിന്റെ ഡിസ്ക്രിപ്റ്റര് n , അല്ലെങ്കിൽ n വ്യക്തമാക്കിയിട്ടില്ലെങ്കിൽ സ്റ്റാൻഡേർഡ് ഔട്ട്പുട്ട് (ഫയൽ ഡിസ്ക്രിപ്റ്റര് 1) ന് പകരം വയ്ക്കാം. ഫയൽ നിലവിലില്ലെങ്കിൽ അത് സൃഷ്ടിച്ചു.

ഉൽപാദനശേഷി നൽകുന്നതിനുള്ള പൊതുവായ ഫോർമാറ്റ്:

[ n ] >> വാക്ക്

സ്റ്റാൻഡേർഡ് ഔട്ട്പുട്ട്, സ്റ്റാൻഡേർഡ് എറർ എന്നിവ റീഡയറക്ട് ചെയ്യുന്നു

സ്റ്റാഷ് ഔട്ട്പുട്ട് (ഫയൽ ഡിസ്ക്രിപ്റ്റർ 1), സ്റ്റാൻഡേർഡ് എറർ ഔട്ട്പുട്ട് (ഫയൽ ഡിസ്ക്രിപറ്റർ 2) എന്നിവ രണ്ടും ഈ നിർമ്മിതമായ വാക്കുകളുടെ വ്യാപനമാണ്.

സ്റ്റാൻഡേർഡ് ഔട്ട്പുട്ട്, സ്റ്റാൻഡേർഡ് എറർ റീഡയറക്ട് രണ്ട് ഫോർമാറ്റുകൾ ഉണ്ട്:

& amp; വചനം

ഒപ്പം

> & വചനം

രണ്ട് രൂപങ്ങളിൽ, ആദ്യം മുൻഗണന നൽകും. ഇതു് വ്യാകരണപരമായി തുല്യമാണ്

> വാക്ക് 2 > & 1

ഇവിടെ രേഖകൾ

ഈ തരത്തിലുള്ള റീഡയറക്ഷൻ, സ്രോതസുകളിൽ നിന്നുള്ള ഇൻപുട്ട് റീഡുചെയ്യാൻ ഷെൽ നിർദ്ദേശിക്കുന്നു (പദാവലി പാടില്ല). ആ ഘടകം വരെ വായിക്കപ്പെടുന്ന എല്ലാ വരികളും ഒരു ആജ്ഞയുടെ സ്റ്റാൻഡേർഡ് ഇൻപുട്ടായി ഉപയോഗിക്കപ്പെടുന്നു.

ഇവിടെ-പ്രമാണങ്ങളുടെ ഫോർമാറ്റ്:

<< [ - ] word here-document delimiter

പദാവലി വിപുലീകരണം, കമാൻഡ് സബ്ജക്റ്റുകൾ, ഗണിത വിപുലീകരണം അല്ലെങ്കിൽ പാത്ത്നാമ വിപുലീകരണം എന്നിവയിൽ വാക്കുകളൊന്നും പ്രവർത്തിക്കില്ല . പദത്തിൽ ഏതെങ്കിലും പ്രതീകങ്ങൾ ഉദ്ധരിച്ചാൽ ഡീലിമിറ്റർ വാക്കിലെ ഉദ്ധരണി നീക്കം ചെയ്യലാണ്, ഇവിടെയുള്ള പ്രമാണത്തിലെ രേഖകൾ വികസിപ്പിച്ചിട്ടില്ല. വാക്ക് വേർതിരിച്ചില്ലെങ്കിൽ, ഇവിടെ-രേഖയുടെ എല്ലാ വരികളും പരാമീറ്റർ വിപുലീകരണത്തിനും, കമാൻഡ് സബ്ജക്റ്റിനും, ഗണിത വിപുലീകരണത്തിനും വിധേയമാണ്. രണ്ടാമത്തെ സാഹചര്യത്തിൽ, പ്രതീക സീൻ \ അവഗണിക്കപ്പെടുന്നു, കൂടാതെ \ characters, \ , $ , and `` എന്നിവ ഉദ്ധരിക്കുന്നതിനായി ഉപയോഗിക്കുകയും വേണം.

റീഡയറക്ഷൻ ഓപ്പറേറ്റർ << - ആണെങ്കിൽ, എല്ലാ പ്രമുഖ ടാബ് അക്ഷരങ്ങളും ഇൻപുട്ട് ലൈനുകളിൽ നിന്നും ഡിലിമിറ്റർ അടങ്ങുന്ന രേഖയിൽ നിന്നും മാറ്റി നിർത്തുന്നു. ഇത് ഇവിടെ അനുവദിക്കുന്നു-ഷെൽ സ്ക്രിപ്റ്റുകളിലെ പ്രമാണങ്ങൾ സ്വാഭാവിക രീതിയിൽ ഇൻഡന്റ് ചെയ്യപ്പെടുന്നതിന്.

ഇവിടെ സ്ട്രിംഗ്സ്

ഇവിടെ രേഖകളുടെ ഒരു വകഭേദമാണ്, ഫോർമാറ്റ്:

<<< വാക്ക്

വാക്കിന്റെ വിപുലമായ പദവും അതിന്റെ സ്റ്റാൻഡേർഡ് ഇൻപുട്ടിൽ കമാൻഡ് നൽകുന്നു.

ഫയൽ ഡിസ്ക്രിപ്റ്ററുകൾ തനിപ്പകർപ്പാക്കുന്നു

റീഡയറക്ഷൻ ഓപ്പറേറ്റർ

[ n ] <& വാക്ക്

ഇൻപുട്ട് ഫയൽ ഡിസ്ക്രിപ്റ്ററുകൾ പകർത്താൻ ഉപയോഗിക്കുന്നു. ഒന്നോ അതിൽ കൂടുതലോ സംഖ്യകളിലേക്ക് വാക്ക് വികസിപ്പിക്കുകയാണെങ്കിൽ, n കൊണ്ട് സൂചിപ്പിച്ചിരിക്കുന്ന ഫയൽ ഡിസ്ക്രിപ്റ്റർ ആ ഫയൽ ഡിസ്ക്രിപ്റ്ററിന്റെ ഒരു പകർപ്പായി നിർമ്മിക്കപ്പെടും. വാക്കിലെ അക്കങ്ങൾ ഇൻപുട്ടിനായി തുറക്കുന്ന ഫയൽ ഡിസ്ക്രിപറ്റർ വ്യക്തമാക്കുന്നില്ലെങ്കിൽ, ഒരു റീഡയറക്ഷൻ പിശക് സംഭവിക്കുന്നു. വാക്ക് മൂല്യനിർണ്ണയം ചെയ്താൽ - , ഫയൽ ഡിസ്ക്രിപ്റ്റര് n അടച്ചു. N നൽകിയിട്ടില്ല എങ്കിൽ, സ്റ്റാൻഡേർഡ് ഇൻപുട്ട് (ഫയൽ ഡിസ്ക്രിപ്റ്റർ 0) ഉപയോഗിയ്ക്കുന്നു.

ഓപ്പറേറ്റർ

[ n ] > & വാക്ക്

ഔട്ട്പുട്ട് ഫയൽ ഡിസ്ക്രിപ്റ്ററുകൾ തനിപ്പകർപ്പായി ഉപയോഗിക്കുന്നു. N നൽകിയിട്ടില്ലെങ്കിൽ, സ്റ്റാൻഡേർഡ് ഔട്ട്പുട്ട് (ഫയൽ ഡിസ്ക്രിപ്റ്റർ 1) ഉപയോഗിയ്ക്കുന്നു. വാക്കിലെ അക്കങ്ങൾ ഔട്ട്പുട്ടിനായി തുറക്കുന്ന ഫയൽ ഡിസ്ക്രിപറ്റർ വ്യക്തമാക്കുന്നില്ലെങ്കിൽ, ഒരു റീഡയറക്ഷൻ പിശക് സംഭവിക്കുന്നു. ഒരു പ്രത്യേക കേസില്, n ഒഴിവാക്കിയിട്ടുണ്ടെങ്കില്, ഒന്നോ അതിലധികമോ അക്കങ്ങളിലേക്ക് വചനം വര്ദ്ധിപ്പിക്കില്ല, മുമ്പ് സൂചിപ്പിച്ചതുപോലെ സ്റ്റാന്ഡാര്ഡ് ഔട്പുട്ട് സ്റ്റാന്ഡേര്ഡ് എറർ റീഡയറക്ട് ചെയ്യുന്നു.

ഫയൽ ഡിസ്ക്രിപ്റ്ററുകൾ നീക്കുന്നു

റീഡയറക്ഷൻ ഓപ്പറേറ്റർ

[ n ] <& digit -

ഫയൽ ഡിസ്ക്രിപ്റ്റര് അക്കത്തിലേക്ക് ഡിസ്ക്രിപ്റ്റര് നാക്കി മാറ്റാന് , അല്ലെങ്കില് n നല്കിയാല് സ്റ്റാന്ഡേര്ഡ് ഇന്പുട്ട് (ഫയല് ഡിസ്ക്രിപ്റ്റര് 0). n എന്നത് n തനിപ്പകർപ്പിച്ചശേഷം അക്കം അടച്ചിരിക്കുന്നു.

അതുപോലെ, റീഡയറക്ഷൻ ഓപ്പറേറ്റർ

[ n ] > & അക്കം -

ഫയൽ ഡിസ്ക്രിപ്റ്റര് അക്കത്തിലേക്ക് ഡിസ്ക്രിപ്റ്റര് നാക്കി മാറ്റുന്നു, അല്ലെങ്കില് n വ്യക്തമാക്കിയിട്ടില്ലെങ്കില് , സ്റ്റാന്ഡാര്ഡ് ഔട്ട്പുട്ട് (ഫയല് ഡിസ്ക്രിപ്റ്റര് 1) മാറ്റുന്നു.

വായനയ്ക്കും എഴുത്തിനും വേണ്ടി ഫയൽ ഡിസ്ക്രിപ്റ്ററുകൾ തുറക്കുക

റീഡയറക്ഷൻ ഓപ്പറേറ്റർ

[ n ] <> വാക്ക്

ഫയലിന്റെ ഡിസ്ക്രിപ്റ്റര് n വായിക്കുകയും എഴുതുകയും ചെയ്യുന്നതിനുള്ള വാക്കിന്റെ വിപുലീകരണം, അഥവാ n വ്യക്തമാക്കാത്തപക്ഷം ഫയല് ഡിസ്ക്രിപ്റ്റര് 0 ന് ഫയല് തുറക്കുന്നു. ഫയൽ നിലവിലില്ലെങ്കിൽ, അത് സൃഷ്ടിച്ചു.

ALIASES

ലളിതമായ ആജ്ഞയുടെ ആദ്യത്തെ വാക്കായി ഉപയോഗിക്കുമ്പോൾ ഒരു വാചകം പകരം വയ്ക്കാൻ ഒരു സ്ട്രിംഗ് അനുവദിക്കും. ഷെൽ എന്നത് alias and unalias builtin കമാൻഡുകൾ ഉപയോഗിച്ച് സജ്ജമാക്കുകയും വിസമ്മതിക്കുകയും ചെയ്യുന്ന ഒരു ലിസ്റ്റ് പരിപാലിക്കുന്നു (താഴെ ഷെൽ ബിൽറ്റ്ലി കമാൻഡുകൾ കാണുക). ഓരോ ആജ്ഞയുടെയും ആദ്യ പദം, വേർതിരിച്ചില്ലെങ്കിൽ, അപരനാമമുണ്ടോ എന്ന് പരിശോധിക്കുന്നതാണ്. അങ്ങനെയാണെങ്കിൽ, ആ പദത്തിന്റെ പകരം ആൾമാറാട്ട വാചകം ആണ്. പകരം പേര് നൽകിയിട്ടുള്ള മെറ്റാകർഷകറുകളുൾപ്പെടെ ഏതെങ്കിലും സാധുതയുള്ള ഷെൽ ഇൻപുട്ട് ഉണ്ടായിരിക്കാം, അപരനാമത്തിൽ പേര് ഉൾപ്പെടാതിരിക്കാനാവില്ല. പകരം ഉപയോഗിക്കാവുന്ന വാചകത്തിന്റെ ആദ്യ പദം ഉപവിഭാഗങ്ങൾക്ക് വേണ്ടി പരീക്ഷിച്ചിരിക്കുന്നു, എന്നാൽ ഒരു അപരനാമം വിപുലീകരിക്കപ്പെടുന്നതിന് സമാനമായ ഒരു വാക്കു രണ്ടാം തവണ വിപുലീകരിക്കപ്പെട്ടിട്ടില്ല. ഇതിനർത്ഥം, ls -F ലേക്ക് ഒരു ls ആയിരിക്കും , ഉദാഹരണത്തിന്, ബാഷ് വീണ്ടും എഴുത്ത് ടെക്സ്റ്റ് വികസിപ്പിക്കുവാൻ ശ്രമിക്കുന്നില്ല. അപര്യാപ്തതയുടെ അവസാനത്തെ പ്രതീകം ഒരു ശൂന്യമാണെങ്കിൽ , അപരനാമത്തിനുപിന്നിൽ അടുത്ത കമാൻഡ് വാക്കിനെ അപരനാമ വിപുലീകരണത്തിനായി പരിശോധിക്കുന്നു.

അപരനാമങ്ങൾ നിർമ്മിക്കുകയും അയാശ്യങ്ങളായ കമാന്ഡിനൊപ്പം ലിസ്റ്റുചെയ്യപ്പെടുകയും, unalias കമാന്ഡിനൊപ്പം നീക്കം ചെയ്യുകയും ചെയ്യുന്നു.

മാറ്റി എഴുതാനുള്ള വാചകത്തിൽ ആർഗ്യുമെന്റുകൾ ഉപയോഗിക്കുന്നതിനുള്ള സംവിധാനം ഇല്ല. ആർഗ്യുമെന്റുകൾ ആവശ്യമാണെങ്കിൽ, ഒരു ഷെൽ ഫങ്ഷൻ ഉപയോഗിക്കേണ്ടതുണ്ട് (താഴെ കൊടുത്തിരിക്കുന്ന നിർദ്ദേശങ്ങൾ കാണുക).

ഷെൽറ്റ് ഉപയോഗിച്ചു് expand_aliases ഷെൽ ഉപയോഗിയ്ക്കുന്നില്ലെങ്കിൽ, ഷെൽ ഇൻററാക്ടീവ് ആയിരിക്കില്ല, ( താഴെ് SHELL ബിൽറ്റ്ലിനു കീഴിലുള്ള കസ്റ്റമറിന്റെ വിവരണങ്ങൾ കാണുക) നൽകാതിരിക്കുക .

അപരനാമങ്ങളുടെ നിർവചനവും ഉപയോഗവും സംബന്ധിച്ച നിയമങ്ങൾ തീർച്ചയായും ആശയക്കുഴപ്പം സൃഷ്ടിക്കുന്നതാണ്. ആ വരിയിലെ ഏതെങ്കിലും ആജ്ഞകൾ പ്രവർത്തിപ്പിക്കുന്നതിനു മുമ്പ് കുറഞ്ഞത് ഒരു ഇൻപുട്ട് വരി ഇൻപുട്ട് എങ്കിലും ബാഷ് എപ്പോഴും വായിക്കുന്നു. എക്സിക്യൂട്ട് ചെയ്യുമ്പോൾ ഒരു കമാൻഡ് വായിക്കുമ്പോൾ, വികസിപ്പിക്കുന്നു. അതിനാൽ, മറ്റൊരു കമാന്ഡ് അതേ വരിയിൽ പ്രത്യക്ഷപ്പെടുന്ന അപര്യാപ്തത നിർവ്വചനം, ഇൻപുട്ടിന്റെ അടുത്ത വരി വായിക്കുന്നതുവരെ പ്രയോഗത്തിൽ വരുത്തുകയില്ല. ആ വരിയിലുള്ള അജ്ഞാത നിർവ്വചനം പിന്തുടരുന്ന കമാൻഡുകൾ പുതിയ അപരനാമത്തെ ബാധിക്കുന്നില്ല. ഫങ്ഷനുകൾ എപ്പോൾ പ്രവർത്തിക്കുമ്പോഴും ഈ സ്വഭാവം ഒരു പ്രശ്നമാണ്. ഒരു ഫങ്ഷൻ നിർവ്വചനം വായിക്കുമ്പോൾ അബാസികൾ വികസിക്കുന്നു, ഫംഗ്ഷൻ എക്സിക്യൂട്ട് ചെയ്യുമ്പോൾ അല്ല, ഒരു ഫങ്ഷൻ ഡെഫനിഷൻ തന്നെ ഒരു സംയുക്ത കമാൻഡ് ആണ്. ഇതിന്റെ ഫലമായി, ഒരു ഫങ്ഷനിൽ നിർവചിച്ചിരിക്കുന്ന വിളിപ്പേരുകൾ ആ പ്രവർത്തനം എക്സിക്യൂട്ട് ചെയ്യുന്നതുവരെ ലഭ്യമല്ല. സുരക്ഷിതമായിരിക്കണമെങ്കിൽ, എല്ലായ്പ്പോഴും ഒരൊറ്റ വരിയിൽ അജ്ഞാത നിർവ്വചനങ്ങൾ വെക്കുക, കൂടാതെ കോമ്പിനേഷൻ കമാൻഡുകളിൽ അപരനാമം ഉപയോഗിക്കരുത്.

മിക്കവാറും എല്ലാ ഉദ്ദേശ്യങ്ങൾക്കുമായി, വിളിപ്പേരുകൾ ഷെൽ ഫംഗ്ഷനുകൾ വഴി എടുത്തുകളയും.

പ്രവർത്തനങ്ങൾ

ഷെൽ GRAMMAR ൽ മുകളിൽ വിശദീകരിച്ചിട്ടുള്ള ഷെൽ ഫംഗ്ഷൻ, നിർവ്വഹണത്തിനായി ഒരു കൂട്ടം കമാൻഡുകൾ സംഭരിക്കുന്നു. ഒരു ഷെൽ ഫംഗ്ഷന്റെ പേര് ലളിതമായ കമാൻഡ് നാമമായി ഉപയോഗിക്കുമ്പോൾ, ആ ഫംഗ്ഷൻ നാമവുമായി ബന്ധപ്പെട്ട ആജ്ഞകളുടെ ലിസ്റ്റ് എക്സിക്യൂട്ട് ചെയ്യുന്നു. നിലവിലുള്ള ഷെല്ലുടെ പശ്ചാത്തലത്തിൽ ഫങ്ഷനുകൾ പ്രവർത്തിപ്പിക്കപ്പെടുന്നു; അവയെ വ്യാഖ്യാനിക്കാൻ ഒരു പുതിയ പ്രക്രിയ സൃഷ്ടിച്ചിട്ടില്ല (ഒരു ഷെൽ സ്ക്രിപ്റ്റിന്റെ നിർവ്വഹണം ഉപയോഗിച്ച് ഇത് വ്യത്യസ്തമായി). ഒരു ഫങ്ഷൻ എക്സിക്യൂട്ട് ചെയ്യുമ്പോൾ, പ്രവർത്തനത്തിലേക്കുള്ള വാദങ്ങൾ അതിന്റെ സ്ഥാനത്ത് എപ്പോഴൊക്കെ സ്ഥാനഭ്രംശം ആയിത്തീരുന്നു. മാറ്റം പ്രതിഫലിക്കുന്നതിനായി പ്രത്യേക പരാമീറ്റർ # പുതുക്കിയിരിക്കുന്നു. പോസിഷൻ പരാമീറ്റർ 0 മാറ്റമില്ലാത്തതാണ്. ഫംഗ്ഷൻ പ്രവർത്തിക്കുമ്പോൾ ഫംഗ്ഷന്റെ പേരിന് FUNCNAME വേരിയബിൾ സജ്ജീകരിച്ചിരിക്കുന്നു. ഷെൽ എക്സിക്യൂഷൻ എൻവയോൺമെന്റിന്റെ മറ്റ് എല്ലാ വശങ്ങളും ഒരു പ്രവർത്തനത്തിനും അതിന്റെ കോൾഡറിനും ഇടയിലാണ് . DEBUG ട്രാപ്പ് (ചുവടെയുള്ള ഷെൽ ബിൽഡിൻ കമാൻഡിനു താഴെയുള്ള ട്രാപ്പ് ബിൽഡിൻ കമാൻഡിൻറെ വിശദവിവരണം കാണുക) ഫംഗ്ഷൻ ട്രേസ് ആട്രിബ്യൂട്ട് നൽകിയിട്ടില്ലെങ്കിൽ താഴെ വ്യക്തമാക്കുന്ന ഡിക്ലയർ വിവരണം കാണുക).

ലോക്കൽ ബിൽഡിൻ കമാൻഡുമായി ഈ ഫങ്ഷനുള്ള ലോക്കേഷനുകൾ വേരിയബിളുകളായി പ്രഖ്യാപിക്കപ്പെടും. സാധാരണ, വേരിയബിളും അവരുടെ മൂല്യങ്ങളും ഫംഗ്ഷനും അതിന്റെ കോൾ ചെയ്യലിനും തമ്മിൽ പങ്കിട്ടിരിക്കുന്നു.

ഒരു ഫങ്ഷനിൽ ബിൽട്ടൺ കമാൻഡ് റിട്ടേൺ എക്സിക്യൂട്ട് ചെയ്താൽ, ഫംഗ്ഷൻ കോളിനുശേഷം ഫംഗ്ഷൻ പൂർത്തിയായി, അടുത്ത കമാൻഡ് ഉപയോഗിച്ച് പുനരാരംഭിക്കുന്നു. ഒരു ഫംഗ്ഷൻ പൂർത്തിയാകുമ്പോൾ, സ്ഥാന സംഹിതകളുടെ മുൻഗണനകളും പ്രത്യേക പരാമീറ്റർ # ഫങ്ഷന്റെ നിർവ്വഹണത്തിനു മുമ്പുള്ള മൂല്യങ്ങളിലേക്ക് പുനഃസ്ഥാപിക്കപ്പെടും.

ഫംഗ്ഷൻ നാമങ്ങളും നിർവചനങ്ങളും -f ഐച്ഛികം പ്രഖ്യാപിക്കുക അല്ലെങ്കിൽ ടൈപ്പ് സെറ്റ് ബിൽഡിൻ കമാൻഡുകൾക്ക് നൽകാം. പ്രഖ്യാപിക്കുകയോ അല്ലെങ്കിൽ ടൈപ്പ് ചെയ്യുകയോ ചെയ്യുന്ന ഫങ്ഷൻ ഫംഗ്ഷൻ പേരുകൾ മാത്രം കാണിക്കും. ഫങ്ഷനുകൾ എക്സ്പോർട്ടുചെയ്യാം, അതിനാൽ സബ്ഫില്ലുകൾ ഓട്ടോമാറ്റിക്കായി export- configin -ലേക്കു് -f ഓപ്ഷൻ ഉപയോഗിച്ച് അവ നിർവചിച്ചിരിക്കുന്നു.

ഫങ്ഷനുകൾ റിക്കർഷിഷ് ആയിരിക്കാം. റിക്രൂട്ടിംഗ് കോളുകളുടെ എണ്ണം പരിധിയിലായില്ല.

അരിത്മെറ്റിക് ഇവാലുവേഷൻ

ചില സാഹചര്യങ്ങളിൽ, ഗണിതവ്യൂഹങ്ങളെ മൂല്യനിർണ്ണയം ചെയ്യാൻ ഷെൽ അനുവദിക്കുന്നു. (See builtin command and arithmetic expansion കാണുക). ഓവർഫ്ലോ പരിശോധനയ്ക്കില്ല, ഫിക്സഡ്-വിഡ്ംഗ് ഇന്ഡക്സറുകളിൽ മൂല്യനിർണ്ണയം നടക്കുന്നു, 0 ആയി ഡിവിഷൻ കുടുങ്ങിപ്പോയതും പിശകായി ഫ്ലാഗുമെങ്കിലും. ഓപ്പറേറ്ററുകളും അവയുടെ പ്രാഥമികവും സഹവർത്തിത്വവും സി ഭാഷയിൽ തന്നെയാണുള്ളത്. താഴെപ്പറയുന്ന ഓപ്പറേറ്റർമാർ തുല്യ പ്രാഥമിക ഓപ്പറേറ്റേഴ്സ് എന്ന തലത്തിൽ കൂട്ടിച്ചേർക്കപ്പെടുന്നു. മുൻഗണന കുറയുന്നതിന് അനുസരിച്ച് ലെവലുകൾ ലിസ്റ്റുചെയ്തിരിക്കുന്നു.

id ++ id -

വേരിയബിൾ പോസ്റ്റ് ഇൻക്രിമെന്റ് ആൻഡ് പോസ്റ്റ്-ഡിസ്ട്രിബ്യൂഷൻ

++ ഐഡി - ഐഡി

വേരിയബിൾ പ്രീ-ഇൻക്രിമെന്റ് ആൻഡ് പ്രീ-ഡീപ്മെൻറ്

- +

unary minus ഒപ്പം പ്ലസ്

! ~

ലോജിക്കൽ, ബിറ്റ്വൈസുചെയ്ത നിരാകരണം

**

വിശകലനം

* /%

ഗുണനം, ഡിവിഷൻ, ബാക്കി

+ -

കൂടാതെ, കുറയ്ക്കലും

<< >>

ഇടത് വലത് ബിറ്റ്വൈഡ് ഷിഫ്റ്റുകൾ

<=> = <>

താരതമ്യം

==! =

സമത്വവും അസമത്വവും

&

ബിറ്റ്വൈത്തിന്റെ ഒപ്പം

^

ബിറ്റ്വൈവൈസ് എക്സ്ക്ലൂസീവ് അല്ലെങ്കിൽ

|

ബിറ്റ്വൈസ്സ് അല്ലെങ്കിൽ OR

&&

ലോജിക്കൽ കൂടാതെ

||

ലോജിക്കൽ അല്ലെങ്കിൽ

തുടരണോ ? expr : expr

സോപാധികമായ വിലയിരുത്തൽ

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

നിയമനം

expr1 , expr2

കോമ

ഷെൽ വേരിയബിളുകൾ ഓപ്പറന്റ് ആയി അനുവദിച്ചിരിക്കുന്നു; എക്സ്പ്രഷൻ മൂല്യനിർണയം നടത്തുന്നതിന് മുമ്പ് പാരാമീറ്റർ വിപുലീകരണം നടത്തപ്പെടും. എക്സ്പ്രഷനനുസരിച്ചു്, ഷെൽ വേരിയബിളുകൾ പാരാമീറ്റർ എക്സ്പാൻഷൻ സിന്റാക്സ് ഉപയോഗിയ്ക്കാതെ നാമത്തിനു് ഉപയോഗിയ്ക്കാം. ഒരു വേരിയബിളിന്റെ മൂല്യം അതിനെ റഫർ ചെയ്തപ്പോൾ ഒരു അരിത്മെറ്റിക് എക്സ്പ്രെഷൻ ആയി പരിശോധിക്കുന്നു. ഒരു ഷെൽ വേരിയബിളിന് ഒരു എക്സ്പ്രഷനിൽ ഉപയോഗിക്കാനുള്ള അതിന്റെ ഇന്റഗ്രർ ആട്രിബ്യൂട്ട് ഓൺ ചെയ്തിട്ടില്ല.

ഒരു മുന്നണി 0 ഉള്ള സ്ഥിരാങ്കങ്ങൾ ഒക്ടൽ നമ്പറുകളായി വ്യാഖ്യാനിക്കുന്നു. ഒരു പ്രധാന 0x അല്ലെങ്കിൽ 0x എന്നത് ഹെക്സാഡെസിമൽ സൂചിപ്പിക്കുന്നു. അല്ലാത്തപക്ഷം, അക്കങ്ങൾ ഫോം [ അടിസ്ഥാന # ] n സ്വീകരിക്കുന്നു, ഇവിടെ ബേസ് ഒരു നിശ്ചിത എണ്ണം 2 മുതൽ 64 വരെയാണ്. അടിസ്ഥാന # ഒഴിവാക്കിയിട്ടുണ്ടെങ്കിൽ, ബേസ് 10 ഉപയോഗിയ്ക്കുന്നു. 9-നേക്കാൾ അക്കങ്ങൾ ചെറിയ അക്ഷരങ്ങൾ, വലിയക്ഷരങ്ങൾ, @, കൂടാതെ _ ആ ക്രമത്തിൽ പ്രതിനിധീകരിക്കുന്നു. ബെയിസ് കുറവാണെങ്കിൽ 36, അതിൽ കുറവാണെങ്കിൽ വലിയക്ഷരങ്ങളും വലിയക്ഷരങ്ങളും 10 മുതൽ 35 വരെ സംഖ്യകൾ കാണിക്കാൻ ഉപയോഗിക്കാം.

മുൻഗണനയോടെ ഓപ്പറേറ്റർമാർ മൂല്യനിർണ്ണയം ചെയ്യപ്പെടും. പരാന്തിസിസുകളിലെ സബ് എക്സ്പ്രഷനുകൾ ആദ്യം മൂല്യനിർണയം നടത്തുകയും മുകളിൽ പറഞ്ഞ നിയമങ്ങളെ അസാധുവാക്കുകയും ചെയ്യാം.

വ്യവസ്ഥാപിത എക്സ്പോ

[[ കോമ്പൌണ്ടഡ് കമാൻഡ് ആൻഡ് ടെസ്റ്റ് ആൻഡ് [ ബിൽഡിൻ കമാൻഡുകൾ ടെസ്റ്റ് ഫയൽ ആട്രിബ്യൂട്ടുകൾ പരിശോധിച്ച് സ്ട്രിങ് ആൻഡ് ഗണിത താരതമ്യം ചെയ്യുക. ആശയവിനിമയങ്ങൾ താഴെ പറയുന്ന unary അല്ലെങ്കിൽ binary പ്രാഥമികങ്ങളിൽ നിന്നും രൂപം കൊണ്ടതാണ്. പ്രാഥമികങ്ങളിൽ ഏതെങ്കിലും ഒരു ഫയൽ ആർഗ്യുമെന്റാണ് ഫോം / dev / fd / n എന്നതെങ്കിൽ , ഫയൽ ഡിസ്ക്രിപ്റ്റർ n പരിശോധിച്ചിരിക്കുന്നു. ഒരു പ്രാഥമിക പ്രോഗ്രാമില് ഒരാള്ക്കുളള ഫയല് ആര്ഗ്യുമെന്റ് യഥാക്രമം / dev / stdin , / dev / stdout , അല്ലെങ്കില് / dev / stderr , ഫയല് ഡിസ്ക്രീറ്റര് 0, 1, അല്ലെങ്കില് 2 ആണെങ്കില്, പരിശോധിക്കപ്പെടുന്നു.

-ഒരു ഫയൽ

ഫയൽ നിലവിലുണ്ടെങ്കിൽ ശരിയാണ്.

-b ഫയൽ

ഫയൽ നിലവിലുണ്ടെങ്കിൽ ഒരു ബ്ലോക്ക് പ്രത്യേക ഫയൽ ആണെങ്കിൽ ശരിയാണ്.

-c ഫയൽ

ഫയൽ നിലവിലുണ്ടെങ്കിൽ ഒരു പ്രതീക പ്രത്യേക ഫയൽ ആണ്.

-d ഫയൽ

ഫയൽ നിലവിലുണ്ടെങ്കിൽ ഒരു ഡയറക്ടറിയാണ്.

-e ഫയൽ

ഫയൽ നിലവിലുണ്ടെങ്കിൽ ശരിയാണ്.

-f ഫയൽ

ഫയൽ നിലവിലുണ്ടെങ്കിൽ ഒരു സാധാരണ ഫയൽ ആണെങ്കിൽ ശരിയാണ്.

-g ഫയൽ

ഫയൽ നിലവിലുണ്ടെങ്കിൽ set-group-id ആണെങ്കിൽ ശരി.

-h ഫയൽ

ഫയൽ നിലവിലുണ്ടെങ്കിൽ ഒരു പ്രതീകാത്മക ലിങ്ക് ആണ്.

-k ഫയൽ

ഫയൽ നിലവിലുണ്ടെങ്കിൽ `` സ്റ്റിക്കി '' ബിറ്റ് സജ്ജമാകുമ്പോൾ ശരി.

-p ഫയൽ

ഒരു ഫയൽ നിലവിലുണ്ടെങ്കിൽ പേരുള്ള പൈപ്പ് (FIFO) ആണെങ്കിൽ ശരി.

-r ഫയൽ

ഫയൽ നിലവിലുണ്ടെങ്കിൽ വായന ചെയ്യാവുന്നതുമാണ്.

-ൻറെ ഫയൽ

ഫയൽ നിലവിലുണ്ടെങ്കിൽ പൂജ്യത്തേക്കാൾ വലുതായ ഒരു ഫയൽ ഉള്ളത് ശരിയാണോ?

-t fd

ഫയൽ ഡിസ്ക്രിപറ്റർ fd തുറന്നിട്ടുണ്ടെങ്കിൽ ഒരു ടെർമിനൽ റഫർ ചെയ്താൽ ശരി.

-u ഫയൽ

ഫയൽ നിലവിലുണ്ടെങ്കിൽ, അതിന്റെ സെറ്റ് യൂസർ ഐഡി ബിറ്റ് സെറ്റ് ചെയ്തിരിക്കുന്നു.

-w ഫയൽ

ഫയൽ നിലവിലുണ്ടെങ്കിൽ റൈറ്റ് ആണ് എങ്കിൽ ശരി.

-x ഫയൽ

ഫയൽ നിലവിലുണ്ടെങ്കിൽ എക്സിക്യൂട്ടബിൾ ആണെങ്കിൽ ശരി.

-O ഫയൽ

ഫയൽ നിലവിലുണ്ടെങ്കിൽ, ഫലപ്രദമായ ഉപയോക്തൃ ഐഡിക്ക് ഉടമസ്ഥതയുണ്ട് എന്നതു ശരിയാണോ?

-G ഫയൽ

ഫയൽ നിലവിലുണ്ടെങ്കിൽ, ഫലപ്രദമായ ഗ്രൂപ്പ് ഐഡിക്ക് ഉടമസ്ഥതയുണ്ട് എന്നതു ശരിയാണോ?

-L ഫയൽ

ഫയൽ നിലവിലുണ്ടെങ്കിൽ ഒരു പ്രതീകാത്മക ലിങ്ക് ആണ്.

-S ഫയൽ

ഫയൽ നിലവിലുണ്ടെങ്കിൽ ഒരു സോക്കറ്റ് ആണ് ശരി.

-N ഫയൽ

ശരിയാണെങ്കില് ഫയല് നിലവിലുണ്ടെങ്കില് അത് കഴിഞ്ഞ തവണ വായിച്ചതു കൊണ്ട് പരിഷ്കരിച്ചത് ശരിയാണ്.

file1 - nt file2

ഫയൽ 2 എന്നതിനേക്കാൾ പുതിയ ഫയൽ (പരിഷ്ക്കരണ തീയതി അനുസരിച്ച്) പുതിയതാണെങ്കിൽ അല്ലെങ്കിൽ ഫയൽ1 ഉണ്ടെങ്കിൽ ഫയൽ 2 ഇല്ലെങ്കിൽ ശരി.

file1 - ot file2

ഫയൽ 1 ന് പ്രമാണത്തേക്കാൾ വലുതാണ് ഫയൽ ഫയൽ ആണെങ്കിൽ അല്ലെങ്കിൽ ഫയൽ 2 ഉണ്ടെങ്കിൽ ഫയൽ 1 ഇല്ല.

file1 -ef file2

ഫയൽ 1 ഉം file2 ഉം ഒരേ ഡിവൈസും ഐനോഡ് നമ്പറുകളും ആണുള്ളൂ എങ്കിൽ ശരി.

-ഒരു optname

ഷെൽ ഐച്ഛികം ഒപ്റ്റിമൻ പ്രവർത്തന സജ്ജമെങ്കിൽ ശരി. -o ഐച്ഛികം അനുസരിച്ചുള്ള ഓപ്ഷനുകളുടെ പട്ടിക ചുവടെയുള്ള സജ്ജീമാനിൽ കാണുക.

-z സ്ട്രിംഗ്

സ്ട്രിംഗ് ദൈർഘ്യം പൂജ്യമാണെങ്കിൽ ശരി.

-N സ്ട്രിംഗ്

സ്ട്രിംഗ്

സ്ട്രിംഗ് ദൈർഘ്യം പൂജ്യമാണെങ്കിൽ ശരി.

string1 == string2

സ്ട്രിംഗുകൾ തുല്യമാണെങ്കിൽ ശരി. = കർശനമായ POSIX സറ്വസിനുവേണ്ടി == പകരം ഉപയോഗിക്കാവുന്നതാണ്.

string1 ! = string2

സ്ട്രിംഗുകൾ തുല്യമല്ലെങ്കിൽ ശരി.

സ്ട്രിംഗ് 1 < സ്ട്രിംഗ് 2

സ്ട്രിംഗ് 2-ന് മുമ്പുള്ള സ്ട്രിംഗ് 1 സിറികൾ

string1 > string2

ശരി, സ്ട്രിംഗ് 2 നു ശേഷം സ്ട്രിംഗ് 1 സര്ട്ടിഫിക്കല്സ് നിലവിലുളള ഭാഷയില് ലൊക്സിക്ഗ്രാഫിക് ആയിട്ടാണെങ്കില് ശരി.

arg1 OP OP2

-eq , -ne , -lt , -le , -gt , അല്ലെങ്കിൽ -ge ലെ ഒപാണ് . ഈ ആർട്ടിമെറ്റിക് ബൈനറി ഓപ്പറേറ്റർമാർ ശരിയാണ്, arg1 തുല്യമാണെങ്കിൽ, തുല്യമല്ലാത്ത, അതിൽ കുറവ്, കുറവ് അല്ലെങ്കിൽ തുല്യമാണ്, കൂടുതലോ അല്ലെങ്കിൽ കൂടുതലോ arg2- യേക്കാൾ കൂടുതലാണ്. Arg1 ഉം arg2 പോസിറ്റീവ് അല്ലെങ്കിൽ നെഗറ്റീവ് ഇൻജെഡറുകളുമായിരിക്കാം.

SIMPLE COMMAND EXPANSION

ലളിതമായ ഒരു കമാൻഡ് എക്സിക്യൂട്ട് ചെയ്യുമ്പോൾ, ഷെൽ താഴെ വികാസങ്ങൾ, അസൈൻമെന്റുകൾ, റീഡയറക്ടുകൾ, ഇടത്തുനിന്ന് വലത്തോട്ട് പ്രവർത്തിപ്പിക്കുന്നു.

1.പാര്സര് വേരിയബിൾ അസൈന്മെന്റുകളായി (ആ കമാൻഡ് നെറ്റിനു മുൻപുള്ളവ) അടയാളപ്പെടുത്തിയ വാക്കുകളും പിന്നീടുള്ള പ്രക്രിയകൾക്കായി റിഡയറക്ഷനും സേവ് ചെയ്തിട്ടുണ്ട്.

വേരിയബിൾ നിയമങ്ങൾ അല്ലെങ്കിൽ റീഡയറക്ടുകൾ ഇല്ലാത്ത വാക്കുകൾ. വികാസത്തിനു ശേഷവും ഏതെങ്കിലും വാക്കുകൾ തുടരുകയാണെങ്കിൽ, ആദ്യത്തെ വാക്ക് കമാണ്ടിന്റെ പേരായി കണക്കാക്കുകയും ബാക്കി വാക്കുകൾ വാദിക്കുകയും ചെയ്യുന്നു.

REDIRECTION എന്നതിന് മുകളിൽ വിവരിച്ചിരിക്കുന്നതുപോലെ റിഡക്ഷൻസ് നടക്കുന്നു.

4. ഓരോ വേരിയബിനുമുള്ള അസൈൻമെന്റിനു ശേഷം ടെക്സ്റ്റ് ടൈൽ വിപുലീകരണം, പാരാമീറ്റർ വിപുലീകരണം, കമാൻഡ് സബ്ജക്ട്, ഗണിത വിപുലീകരണം, വേരിയബിളിന് അനുവദിക്കുന്നതിനു മുൻപായി ഉദ്ധരണി നീക്കം ചെയ്യൽ എന്നിവയ്ക്ക് വിധേയമാണ്.

ഒരു കമാൻഡിൻറെ പേര് ഫലമൊന്നുമില്ലെങ്കിൽ, വേരിയബിൾ നിയമങ്ങൾ നിലവിലുള്ള ഷെൽ എൻവയറിനെ ബാധിക്കുന്നു. അല്ലെങ്കിൽ, എക്സിക്യൂട്ട് ചെയ്ത കമാൻഡുകളുടെ അന്തരീക്ഷത്തിൽ വേരിയബിളുകൾ ചേർക്കുകയും ഇപ്പോഴുള്ള ഷെൽ എൻവയനെ ബാധിക്കാതിരിക്കുകയും ചെയ്യുക. വായന മാത്രം വേരിയബിളിന് മൂല്യം നൽകുന്നതിന് എന്തെങ്കിലും അസൈൻമെന്റുകൾ ശ്രമിച്ചാൽ, ഒരു പിശക് സംഭവിക്കുന്നു, കൂടാതെ കമാൻഡ് നോൺ-നോൺ-സ്റ്റാറ്റസ് ഉള്ള പുറത്തുകടക്കുന്നു.

ഒരു കമാൻഡിൻറെ നാമവും ഫലമായി എടുക്കുന്നില്ലെങ്കിൽ, റീഡയറക്ടുകൾ നടക്കുന്നു, പക്ഷേ നിലവിലുള്ള ഷെൽ എൻവയണ്മെന്റിൽ മാറ്റം വരുത്തരുത്. ഒരു റീഡയറക്ഷൻ പിശക് ഒരു നോൺ-നോൺ-സ്റ്റാറ്റസ് സ്റ്റാറ്റസിൽ നിന്നും പുറത്ത് കടക്കാൻ കാരണമാകുന്നു.

വിപുലീകരണത്തിനുശേഷം ഒരു കമാൻഡ് നാമം ഉണ്ടെങ്കിൽ, ചുവടെ വിവരിച്ചിരിക്കുന്ന പ്രകാരം താഴെ പറയുന്ന രീതിയിൽ നടപ്പിലാക്കുന്നു. അല്ലെങ്കിൽ, കമാൻഡ് അവസാനിക്കുന്നു. ഒരു വിപുലീകരണത്തിൽ ഒരു കമാൻഡ് പകരം വച്ചാൽ, കമാൻഡ് എക്സിറ്റ് സ്റ്റാറ്റസ് അവസാന കമാൻഡിലെ അറ്റകുറ്റപ്പണിയുടെ എക്സിറ്റ് സ്റ്റാറ്റസ് ആണ്. ഒരു കമാന്ഡ് പകരക്കാരനായില്ലെങ്കില്, കമാന്ഡ് പൂജ്യത്തിന്റെ അവസ്ഥയുപയോഗിച്ച് അവസാനിക്കുന്നു.

കമന്റ് എക്സിക്യൂഷൻ

ഒരു കമാൻഡ് വാക്കുകളായി വിഭജിക്കപ്പെട്ടതിന് ശേഷം, അത് ഒരു സാധാരണ കമാൻഡിലും ആർഗ്യുമെന്റുകളുടെ ഓപ്ഷണൽ ലിസ്റ്റിലാണെങ്കിൽ, ഇനിപ്പറയുന്ന നടപടികൾ കൈക്കൊള്ളുന്നു.

കമാൻഡ് നാമത്തിൽ സ്ലാശുകളില്ലെങ്കിൽ ഷെൽ അത് കണ്ടെത്താൻ ശ്രമിക്കുന്നു. ആ പേരുപയോഗിച്ച് ഒരു ഷെൽ ഫങ്ഷൻ ഉണ്ടെങ്കിൽ, FUNCTIONS ൽ മുകളിൽ വിശദീകരിച്ചിരിക്കുന്നതുപോലെ ആ പ്രവർത്തനം പ്രവർത്തനനിരതപ്പെടുന്നു. പേര് ഒരു ഫംഗ്ഷനുമായി പൊരുത്തപ്പെടില്ലെങ്കിൽ, ഷെൽ ബിൽഡിൻസിലുളള ലിസ്റ്റിൽ ഷെൽ തിരഞ്ഞു. ഒരു പൊരുത്തം കണ്ടെത്തുകയാണെങ്കിൽ, ബിൽടൈൻ ആവിഷ്കരിക്കപ്പെടും.

പേരു് ഒരു ഷെൽ ഫങ്ഷനോ ബിൽഡിനും അല്ലെങ്കിൽ സ്ലാഷുകളൊന്നും ഇല്ലെങ്കിൽ, ആ ഡയറക്ടറിയിൽ ഒരു എക്സിക്യൂട്ടബിൾ ഫയൽ ഉള്ക്കൊള്ളുന്ന ഒരു ഡയറക്ടറിയിലേക്കുള്ള ബാത്തിന്റെ ഓരോ ഘടകവും ബാഷ് തിരയുന്നു. എക്സിക്യൂട്ടബിൾ ഫയലുകളുടെ മുഴുവൻ പാത്ത് നോമുകളും ഓർക്കാൻ ബാഷ് ഒരു ഹാഷ് ടേബിൾ ഉപയോഗിക്കുന്നു (താഴെ ഷെൽ ബിൽഡിൻ കമാൻഡിനു കീഴിൽ ഹാഷ് കാണുക). ഹാഷ് ടേബിളിൽ കമാൻഡ് കണ്ടില്ലെങ്കിൽ മാത്രം PATH ലെ ഡയറക്ടറികളുടെ മുഴുവൻ തിരയലും നടപ്പിലാക്കുന്നു. തിരയൽ പരാജയപ്പെടുകയാണെങ്കിൽ, ഷെൽ ഒരു പിശക് സന്ദേശം പ്രിന്റ് ചെയ്യുകയും 127 ന്റെ ഒരു എക്സിറ്റ് നില നൽകുകയും ചെയ്യും.

തിരയൽ വിജയകരമാണെങ്കിലോ കമാൻഡ് നാമത്തിൽ ഒന്നോ അതിലധികമോ സ്ലാസുകളുണ്ടെങ്കിൽ, പേരുള്ള പ്രോഗ്രാമിൽ ഒരു പ്രത്യേക എക്സിക്യൂഷൻ എൻവയോൺബിൽ ഷെൽ പ്രവർത്തിപ്പിക്കുന്നു. നൽകിയിട്ടുള്ള പേരിനു് ആർഗ്യുമെന്റ് 0 നൽകിയിരിയ്ക്കുന്നു, ബാക്കിയുള്ള ആർഗ്യുമെന്റുകൾ കമാൻഡിലേക്കു് നൽകിയിട്ടുള്ള ആർഗ്യുമെന്റുകളിലേക്കു് സജ്ജമാക്കിയിരിയ്ക്കുന്നു.

ഫയൽ എക്സിക്യൂട്ട് ചെയ്യാവുന്ന ഫോർമാറ്റിലല്ല, കാരണം ഫയൽ ഒരു ഡയറക്ടറിയല്ല, ഇത് ഷെൽ സ്ക്രിപ്റ്റ് , ഷെൽ കമാൻഡുകൾ അടങ്ങിയ ഫയൽ എന്നു കരുതപ്പെടുന്നു. ഒരു സബ്ഹെൽ അതിനെ എക്സിക്യൂട്ട് ചെയ്യുന്നതാണ്. ഈ subshell സ്വയം പുനർനിർമ്മിക്കുന്നു, അതിനാൽ ഈ ഫലം സ്ക്രിപ്റ്റിനെ കൈകാര്യം ചെയ്യുന്നതിന് ഒരു പുതിയ ഷെൽ ഉപയോഗിച്ചതാണ്, അല്ലാത്തപക്ഷം , പാരന്റ് ഓർക്കുന്ന കമാണ്ടുകളുടെ ലൊക്കേഷനുകൾ ( ഷെൽ ബിൽഡിൻ കമാൻഡിന് താഴെയുള്ള ഹാഷ് കാണുക) കുട്ടിയെ നിലനിർത്തുന്നു.

പ്രോഗ്രാം ആരംഭിക്കുന്ന ഫയല് # ആണെങ്കില്! , ആദ്യ വരിയുടെ ബാക്കിയുള്ളവ പ്രോഗ്രാമിനുള്ള ഒരു ഇന്റർപ്രെട്ടർ വ്യക്തമാക്കുന്നു. ഈ എക്സിക്യൂട്ടബിൾ ഫോർമാറ്റ് കൈകാര്യം ചെയ്യുന്ന ഓപ്പറേറ്റിങ് സിസ്റ്റങ്ങളിലുള്ള ഷെഡ്യൂൾ ഷെൽ പ്രവർത്തിപ്പിക്കുന്നു. പ്രോഗ്രാമിന്റെ ആദ്യ വരിയിൽ ഇന്റർപ്രെട്ടർ പേര് ഉപയോഗിച്ചു് ഒറ്റ ഓപ്ഷണൽ ആർഗ്യുമെന്റിനു് പകരം ആർഗ്യുമെന്ററിനുള്ള ആർഗ്യുമെന്റുകൾ ഉണ്ടാകുന്നു. പ്രോഗ്രാമിന്റെ പേരു്, അതിനു ശേഷം ആർഗ്യുമെന്റ് കമാൻഡുകൾ, അങ്ങനെ എന്തെങ്കിലും ഉണ്ടെങ്കിൽ.

കമന്റ് എക്കണോമിഷൻ ENVIRONMENT

ഷെല്ലിന് ഒരു എക്സിക്യൂഷൻ എൻവയോൺമെന്റ് ഉണ്ട് , അതിൽ താഴെ പറയുന്നവയാണ്:

* ഓപ്പൺ ചെയ്ത ഫയലുകൾ ഷെൽ കൈവശമുളള ഷെഡിലൂടെ കൈവശപ്പെടുത്തുകയും, exec installer ന് റീഡയറക്ട് വഴി പരിഷ്കരിച്ചതുമാണ്

* സിഡി , പുഷ്ത് അല്ലെങ്കിൽ പോപ്പ് , അല്ലെങ്കിൽ ഷെൽ ഉപയോഗിച്ചുകൊണ്ട് നിലവിൽ പ്രവർത്തിയ്ക്കുന്ന ഡയറക്ടറി

* ഫയൽ ഫോർമാറ്റ് മോഡ് മാസ്ക് umask ഉപയോഗിച്ച് സജ്ജമാക്കിയോ അല്ലെങ്കിൽ ഷെല്ലിന്റെ പാരന്ററിൽ നിന്ന് പാരമ്പര്യമാക്കപ്പെട്ടതോ ആകാം

* കെണിയിൽ നിലവിലെ കെണികൾ

* വേരിയബിൾ അസൈൻമെൻറ് ഉപയോഗിച്ചോ ഷെൽസിന്റെ പേരന്റ് സെറ്റിൽ നിന്നോ അല്ലെങ്കിൽ പാരമ്പര്യമായോ ആയി സജ്ജമാക്കിയ ഷെൽ പാരാമീറ്ററുകൾ

* ഷെൽ ധർമം പ്രവർത്തിപ്പിക്കുന്നതിനോ അല്ലെങ്കിൽ ഷെല്ലിന്റെ പാരൻറിൽ നിന്ന് പാരമ്പര്യമായി പരിവർത്തിപ്പിക്കുന്നതിനോ നിർവ്വചിക്കുന്ന ഷെൽ ഫംഗ്ഷനുകൾ

* ഓപ്ഷനുകൾ പ്രവർത്തനക്ഷമമാക്കൽ (സ്ഥിരസ്ഥിതിയായി അല്ലെങ്കിൽ കമാൻഡ് ലൈൻ ആർഗ്യുമെന്റുകൾ ഉപയോഗിച്ച്) അല്ലെങ്കിൽ സജ്ജമാക്കിയിരിക്കുന്നതാണ്

* ഓപ്ഷനുകൾ ക്യാറ്റ് ഉപയോഗപ്പെടുത്തി

* ഷെൽ അലിയാഗുകൾ അപരനാമത്തിൽ നിർവ്വചിച്ചിരിക്കുന്നു

* പശ്ചാത്തല ജോലികൾ, $ $ മൂല്യം, $ PPID- ന്റെ മൂല്യം എന്നിവ ഉൾപ്പെടെ വിവിധ പ്രോസസ് ഐഡികൾ

ഒരു ബിൾഡിനുള്ള അല്ലെങ്കിൽ ഷെൽ ഫംഗ്ഷൻ അല്ലാത്ത ഒരു ലളിതമായ ആജ്ഞ നടപ്പിലാക്കുകയാണെങ്കിൽ, താഴെ പറയുന്ന ഒരു പ്രത്യേക എക്സിക്യൂഷൻ എൻവയോൺമെന്റിൽ ഇത് ഉദ്ധരിക്കപ്പെടുന്നു. അല്ലാത്ത പക്ഷം, മൂല്യങ്ങൾ ഷെല്ലിൽ നിന്നും കൈമാറുന്നു.

* ഷെല്ലിന്റെ ഓപ്പൺ ഫയലുകളും കൂടാതെ കമാൻഡിലേക്ക് റീഡയറക്ടുകൾ വ്യക്തമാക്കിയ ഏതെങ്കിലും പരിഷ്കാരങ്ങളും കൂട്ടിച്ചേർക്കലുകളും

* നിലവിലുള്ള വർക്ക് ഡയറക്ടറി

* ഫയൽ തയ്യാറാക്കൽ മോഡ് മാസ്ക്

* എൻവയണ്മെന്റിൽ അടയാളപ്പെടുത്തിയ ഷെൽ വേരിയബിളുകൾ, കയറ്റി അയയ്ക്കുന്ന വേരിയബിളുകൾക്കൊപ്പം

ഷെൽ പിടിക്കുന്ന കെണികൾ ഷെല്ലിന്റെ പാരന്ററിൽ നിന്ന് പാരമ്പര്യമായി കൈമാറ്റം ചെയ്യപ്പെടുന്ന മൂല്യങ്ങളിലേക്ക് പുനഃസജ്ജീകരിക്കും, ഷെൽ അവഗണിക്കുന്ന കെണികൾ അവഗണിക്കപ്പെടുന്നു

ഈ പ്രത്യേക സാഹചര്യത്തിൽ നൽകിയിരിക്കുന്ന കമാൻഡ് ഷെല്ലിന്റെ എക്സിക്യൂഷൻ എൻവയണ്മെന്റിനെ ബാധിയ്ക്കുവാൻ സാധ്യമല്ല.

ഷെൽ പരിതസ്ഥിതിയുടെ തനിപ്പകർപ്പായ ഒരു സബ്ഷെൽ പരിതസ്ഥിതിയിൽ കമാന്ഡ് പകരവും അസിൻക്രണസ് ആജ്ഞകളും പ്രയോഗിക്കപ്പെടുന്നു, ഷെൽ പിടിച്ചിരിക്കുന്ന ട്രാപ്പുകൾക്ക് പകരം, ഷെൽ അതിന്റെ മാതാപിതാക്കളിൽ നിന്നും സ്വീകരണത്തിലേക്ക് പ്രവേശിക്കുന്ന മൂല്യങ്ങളിലേക്ക് പുനഃസജ്ജമാക്കുന്നു. പൈപ്പ്ലൈനിന്റെ ഭാഗമായി നടപ്പാക്കിയ ബിൽട്ടിൻ കമാൻഡുകൾ സബ്ഷെൽ പരിസ്ഥിതിയിൽ നടപ്പിലാക്കുന്നു. സബ്ഹെല് എന്വയോണ്മെന്റിലേക്കു് വരുത്തിയ മാറ്റങ്ങള് ഷെല് എക്സിക്യൂഷന് എന്വയോണ്മെന്റിനെ ബാധിയ്ക്കുന്നില്ല.

ഒരു ആജ്ഞയും തുടർന്നുവന്നാൽ ഒരു ജോലിയും, ജോലിയുടെ നിയന്ത്രിതവും സജീവമല്ലെങ്കിൽ, കമാന്ഡിനു് സ്വതവേയുള്ള സ്റ്റാൻഡേർഡ് ഇൻപുട്ട് വെറും ഫയൽ / dev / null ആണ് . അല്ലെങ്കിൽ, നിർവചിച്ച കമാൻഡ് റീഡയറക്ട് വഴി പരിഷ്കരിച്ചതുപോലെ കോൾഷെലിന്റെ ഫയൽ ഡിസ്ക്രിപ്റ്ററുകൾ അനന്തരമാക്കുക.