Sh - Linux આદેશ - યુનિક્સ કમાન્ડ

NAME

bash - જીએનયુ બોર્ન-અગેઇન શેલે

સમન્વય

bash [options] [ફાઇલ]

DESCRIPTION

બાસsh -compatible આદેશ ભાષાના ઇન્ટરપ્રિટર છે જે પ્રમાણભૂત ઇનપુટ અથવા ફાઇલમાંથી વાંચવામાં આદેશો ચલાવે છે. બાસ કોર્ન અને સી શેલો ( ksh અને csh ) માંથી ઉપયોગી સુવિધાઓનો સમાવેશ કરે છે.

બૅશ એ IEEE POSIX શેલ અને સાધનો સ્પષ્ટીકરણ (આઇઇઇઇ વર્કિંગ ગ્રુપ 1003.2) ના કન્ફોર્મન્ટ અમલીકરણનો હેતુ છે.

વિકલ્પો

સેટ બિલ્ટિન આદેશના વર્ણનમાં દસ્તાવેજીકરણવાળા સિંગલ-અક્ષર શેલ વિકલ્પો સાથે વધુમાં, bash નીચેના વિકલ્પોને અર્થઘટન કરતી વખતે અર્થઘટન કરે છે:

-c શબ્દમાળા

જો -c વિકલ્પ હાજર છે, તો આદેશો શબ્દમાળામાંથી વાંચવામાં આવે છે. જો શબ્દમાળા પછી દલીલો હોય તો, તેઓ $ 0 થી શરૂ થતાં સ્થાયી પરિમાણોને સોંપવામાં આવે છે.

-i

જો -i વિકલ્પ હાજર છે, શેલ અરસપરસ છે .

-એલ

બેશ એક્ટ બનાવો જો તે લોગિન શેલ તરીકે ઉપયોગમાં લેવાય છે (નીચે INVOCATION જુઓ).

-આર

જો -r વિકલ્પ હાજર હોય, તો શેલ પ્રતિબંધિત બને છે (નીચે પ્રતિબંધિત SHELL જુઓ).

-s

જો -s વિકલ્પ હાજર છે, અથવા વિકલ્પ પ્રક્રિયા પછી કોઈ દલીલો રહે તો, પછી આદેશો પ્રમાણભૂત ઇનપુટમાંથી વાંચવામાં આવે છે. આ વિકલ્પ સ્થાયી પરિમાણોને સુયોજિત કરવા માટે પરવાનગી આપે છે જ્યારે ઇન્ટ્રેક્ટિવ શેલનો ઉપયોગ કરે છે.

-ડી

$ પહેલાંની તમામ ડબલ-કોટેડ સ્ટ્રિંગ્સની સૂચિ પ્રમાણભૂત આઉટપુટ પર મુદ્રિત થાય છે. આ તે શબ્દમાળાઓ છે જે વર્તમાન ભાષામાં C અથવા POSIX ન હોય ત્યારે ભાષાના અનુવાદને આધીન છે. આ સૂચવે છે -n વિકલ્પ; કોઈ આદેશો ચલાવવામાં આવશે નહીં.

[- +] ઓ [ shopt_option ]

shopt_optionshopt builtin દ્વારા સ્વીકારવામાં શેલ વિકલ્પોમાંથી એક છે (નીચે શેલ બિલ્ટિન કમાન્ડસ જુઓ). જો shopt_option હાજર હોય, તો -ઓ તે વિકલ્પની કિંમત સુયોજિત કરે છે; + ઓ તે unsets જો shopt_option પૂરું પાડવામાં ન આવે તો shopt દ્વારા સ્વીકૃત શેલ વિકલ્પોના નામો અને મૂલ્યો પ્રમાણભૂત આઉટપુટ પર મુદ્રિત કરવામાં આવે છે. જો અભ્યર્થના વિકલ્પ + O છે , તો આઉટપુટ એ ફોર્મેટમાં પ્રદર્શિત થાય છે કે જે ઇનપુટ તરીકે પુનઃઉપયોગ કરી શકે છે.

- વિકલ્પોનો અંત સંકેતો અને વધુ વિકલ્પ પ્રક્રિયા નિષ્ક્રિય કરે છે. પછીના કોઈપણ દલીલો - ફાઇલનામો અને દલીલો તરીકે ગણવામાં આવે છે. એક દલીલ - તે સમકક્ષ છે -

બાસ અનેક મલ્ટિ-અક્ષર વિકલ્પોનો અર્થઘટન પણ કરે છે. સિંગલ-અક્ષર વિકલ્પો ઓળખવા માટે આ વિકલ્પો આદેશ વાક્ય પર દેખાવા આવશ્યક છે.

- ડમ્પ-પોસ્ટ-સ્ટ્રિંગ્સ

-D થી સમતુલ્ય, પરંતુ આઉટપુટ GNU gettext po (પોર્ટેબલ ઓબ્જેક્ટ) ફાઇલ ફોર્મેટમાં છે.

- ડમ્પ-સ્ટ્રિંગ્સ

-D થી સમતુલ્ય

--help

માનક આઉટપુટ પર વપરાશ સંદેશ દર્શાવો અને સફળતાપૂર્વક બહાર નીકળો

--init-file ફાઇલ

--rcfile ફાઇલ

પ્રમાણભૂત વ્યક્તિગત પ્રારંભિક ફાઇલ ~ / .bashrc ને બદલે ફાઇલમાંથી આદેશો ચલાવો જો શેલ અરસપરસ હોય (નીચે INVOCATION જુઓ).

--લોગિન

-L માટે સમતુલ્ય

--નિષ્ણાત

જ્યારે શેલ ઇન્ટરેક્ટિવ હોય ત્યારે આદેશ પંક્તિઓ વાંચવા માટે GNU રીડલાઇન લાઇબ્રેરીનો ઉપયોગ કરશો નહીં.

--noprofile

ક્યાંતો સિસ્ટમ વ્યાપી સ્ટાર્ટઅપ ફાઇલ / etc / પ્રોફાઇલ અથવા કોઈપણ વ્યક્તિગત પ્રારંભિક ફાઇલો ~ / .bash_profile , ~ / .bash_login , અથવા ~ / .profile વાંચી નહી . ડિફૉલ્ટ રૂપે, બાસ આ ફાઇલો વાંચે છે જ્યારે લોગિન શેલ તરીકે ઉપયોગ કરવામાં આવે છે (નીચે INVOCATION જુઓ).

--norc

જો શેલ અરસપરસ હોય તો વ્યક્તિગત આરંભ ફાઈલ ~ / .bashrc વાંચી અને ચલાવો નહીં. આ વિકલ્પ ડિફોલ્ટ રૂપે ચાલુ છે જો શેલ તરીકે બોલાવવામાં આવે છે

--પોઝીસ

Bash નું વર્તણૂક બદલો જ્યાં મૂળભૂત ક્રિયા POSIX 1003.2 સ્ટાન્ડર્ડથી સ્ટાન્ડર્ડ ( પૉઝીક્સ મોડ ) સાથે મેળ ખાતી હોય છે.

- પ્રતિબંધિત

શેલ પ્રતિબંધિત બને છે (નીચે પ્રતિબંધિત SHELL જુઓ).

--rpm- જરૂરી છે

શેલ સ્ક્રિપ્ટને ચલાવવા માટે જરૂરી છે તેવી ફાઇલોની સૂચિ બનાવો. આનો અર્થ '-n' થાય છે અને સમાન મર્યાદાઓને આધીન છે, કારણ કે સમયની ભૂલ ચકાસણી ચકાસણી સંકલન; બેકટિક્સ, [] પરીક્ષણો, અને ઇવલ્સનું વિશ્લેષણ થતું નથી તેથી કેટલીક આધારભૂતતાઓ ચૂકી શકાય છે. --verbose- માટે સમરૂપ

- વિવર

પ્રમાણભૂત આઉટપુટ પર bash ની આ આવૃત્તિ માટે સંસ્કરણ માહિતી બતાવો અને સફળતાપૂર્વક બહાર નીકળો

દલીલો

વિકલ્પ પ્રક્રિયા પછી દલીલો રહેલી છે, અને ન તો -c કે -s વિકલ્પ પૂરો પાડવામાં આવ્યો છે, પ્રથમ દલીલ શેલ આદેશો ધરાવતી ફાઇલનું નામ હોવાનું મનાય છે. જો આ શૈલીમાં bash લાગુ પાડવામાં આવે છે, $ 0 ફાઇલના નામ પર સેટ કરેલ છે, અને સ્થાનીય પરિમાણો બાકીના દલીલો પર સેટ છે બાસ આ ફાઇલમાંથી આદેશ વાંચે છે અને ચલાવે છે, પછી બહાર નીકળે છે બાસની બહારની સ્થિતિ એ સ્ક્રિપ્ટમાં ચલાવવામાં આવેલી છેલ્લી આદેશની બહારની સ્થિતિ છે. જો કોઈ આદેશો ચલાવવામાં આવતો નથી, તો બહાર નીકળો સ્થિતિ 0 છે. વર્તમાન ડિરેક્ટરીમાં ફાઈલ ખોલવા માટેનો પ્રયત્ન પ્રથમ કરવામાં આવે છે, અને, જો કોઈ ફાઈલ મળી ન હોય તો, શેલ સ્ક્રિપ્ટ માટે પાથે (PATH) ની ડિરેક્ટરીઓ શોધે છે.

INVOCATION

લોગિન શેલ એ તે છે જેનો પ્રથમ અક્ષર દલીલ શૂન્ય છે - અથવા, - લોગિન વિકલ્પથી શરૂ થાય છે.

એક ઇન્ટ્રેક્ટિવ શેલ એ બિન-વિકલ્પ દલીલો વગર અને -c વિકલ્પ વિના શરૂ થાય છે, જેની પ્રમાણભૂત ઇનપુટ અને આઉટપુટ બંને ટર્મિનલો સાથે જોડાયેલા છે (જેમ કે આઇટીટી (3) દ્વારા નક્કી કરાયેલ), અથવા એક -i વિકલ્પ સાથે શરૂ થાય છે. PS1 સેટ કરેલું છે અને $ - તેમાં i સમાવેશ થાય છે જો bash ઇન્ટરેક્ટિવ છે, તો શેલ સ્ક્રિપ્ટ અથવા સ્ટાર્ટઅપ ફાઇલને આ સ્થિતિમાં ચકાસવા માટે પરવાનગી આપે છે.

નીચેના ફકરા વર્ણવે છે કે કેવી રીતે bash તેની શરૂઆત ફાઈલોને ચલાવે છે. જો કોઈ પણ ફાઇલ અસ્તિત્વમાં છે પરંતુ વાંચી શકાતી નથી, તો બાસે ભૂલની જાણ કરી છે. વિસ્તરણ વિભાગમાં Tilde Expansion હેઠળ નીચે વર્ણવ્યા મુજબ, ટિલ્ડ્સ ફાઇલ નામોમાં વિસ્તૃત થાય છે.

જ્યારે બાશને ઇન્ટરેક્ટિવ લોગિન શેલ તરીકે લાગુ કરવામાં આવે છે, અથવા - લોગિન વિકલ્પ સાથે બિન-અરસપરસ શેલ તરીકે, તે પ્રથમ / etc / profile ફાઇલમાંથી આદેશો વાંચે છે અને ચલાવે છે, જો તે ફાઇલ અસ્તિત્વમાં છે. તે ફાઇલ વાંચ્યા પછી, તે ~ / .bash_profile , ~ / .bash_login , અને ~ / .profile માટે તે ક્રમમાં દેખાય છે, અને પહેલેથી જ અસ્તિત્વમાં છે તે આદેશો વાંચે છે અને વાંચી શકાય તેવો છે. --noprofile વિકલ્પ વાપરી શકાશે જ્યારે શેલ આ વર્તણૂક રોકવા માટે શરૂ થશે.

જ્યારે લોગિન શેલ બહાર નીકળે છે, તો ફાઇલને ~ / .bash_logout માંથી આદેશો આદેશો વાંચે છે અને ચલાવે છે, જો તે અસ્તિત્વમાં છે.

જ્યારે એક ઇન્ટ્રેક્ટિવ શેલ કે જે લોગિન શેલ નથી શરૂ થાય છે, bash ~ / .bashrc માંથી આદેશો વાંચે છે અને ચલાવે છે, જો તે ફાઇલ અસ્તિત્વમાં છે. આ --norc વિકલ્પ વાપરીને અવરોધે છે. --rcfile ફાઇલ વિકલ્પ ~ / .bashrc ને બદલે ફાઈલમાંથી આદેશો વાંચવા અને ચલાવવા માટે bash ને દબાણ કરશે.

શેલ સ્ક્રિપ્ટ ચલાવવા માટે, જ્યારે બૅશ બિન-ક્રિયાપ્રતિક્રિયા શરૂ કરે છે, ઉદાહરણ તરીકે, તે પર્યાવરણમાં ચલ BASH_ENV માટે જુએ છે, તેના મૂલ્યને વિસ્તૃત કરે છે જો તે ત્યાં દેખાય છે, અને ફાઇલનું નામ વાંચવા અને ચલાવવા માટે વિસ્તૃત મૂલ્યનો ઉપયોગ કરે છે . બાસ વર્તે છે જેમ કે નીચેની આદેશ ચલાવવામાં આવી છે:

જો [-n "$ BASH_ENV"]; પછી "$ BASH_ENV"; ફાઇ

પરંતુ પીએટીએચ ( PATH) વેરિયેબલનું મૂલ્ય ફાઇલ નામ શોધવા માટે વપરાતું નથી.

જો bash નામ sh સાથે બોલાવવામાં આવે છે, તો તે શક્ય તેટલી નજીકથી ઐતિહાસિક સંસ્કરણોની શરૂઆતના વર્તણૂકની નકલ કરવાનો પ્રયાસ કરે છે, જ્યારે POSIX સ્ટાન્ડર્ડ સાથે સુસંગત છે. જ્યારે ઇન્ટરેક્ટિવ લૉગિન શેલ તરીકે જોડાય છે , અથવા - લોગિન વિકલ્પ સાથે બિન-અરસપરસ શેલ છે, ત્યારે તે પ્રથમ / etc / profile અને ~ / .profile માંથી આદેશો વાંચવા અને ચલાવવાનો પ્રયત્ન કરે છે. આ વર્તણૂકને રોકવા માટે --noprofile વિકલ્પનો ઉપયોગ થઈ શકે છે નામ સાથે અરસપરસ શેલ તરીકે ઉપયોગ કરવામાં આવે ત્યારે, bash ચલ ENV માટે જુએ છે, તેની કિંમતને વિસ્તૃત કરે છે જો તે વ્યાખ્યાયિત થયેલ હોય, અને વિસ્તૃત મૂલ્યને વાંચવા અને ચલાવવા માટે ફાઇલના નામ તરીકે ઉપયોગ કરે છે. શેલ તરીકે બોલાવતા હોવાથી કોઈપણ અન્ય સ્ટાર્ટઅપ ફાઇલોમાંથી આદેશો વાંચવા અને ચલાવવાનો પ્રયાસ કરતું નથી, --rcfile વિકલ્પનો કોઈ પ્રભાવ નથી. નામ શ્લોક સાથે ઉપયોગમાં લેવાતો બિન-અરસપરસ શેલ કોઈ અન્ય સ્ટાર્ટઅપ ફાઇલો વાંચવાનો પ્રયાસ કરતું નથી. તરીકે બોલાવવામાં આવે ત્યારે, સ્ટાર્ટઅપ ફાઇલો વાંચ્યા પછી bash પૉઝીક્સ મોડમાં પ્રવેશે છે

જ્યારે bash પૉઝીક્સ મોડમાં શરૂ થાય છે, --posix આદેશ વાક્ય વિકલ્પ સાથે, તે સ્ટાર્ટઅપ ફાઇલો માટે POSIX સ્ટાન્ડર્ડને અનુસરે છે. આ સ્થિતિમાં, ઇન્ટરેક્ટિવ શેલો ENV વેરીએબલને વિસ્તૃત કરે છે અને આદેશો ફાઇલમાંથી વાંચી અને એક્ઝિક્યુટ થાય છે જેમનું નામ વિસ્તૃત મૂલ્ય છે. કોઈ અન્ય સ્ટાર્ટઅપ ફાઇલો વાંચી નથી.

બૅશ જ્યારે તે દૂરસ્થ શેલ ડિમન દ્વારા ચાલે છે તે નક્કી કરવાના પ્રયત્નો કરે છે, સામાન્ય રીતે rshd . જો bash નક્કી કરે છે કે તે rshd દ્દારા ચલાવી રહી છે, તો તે ~ / .bashrc માંથી આદેશો વાંચે છે અને ચલાવે છે, જો તે ફાઇલ અસ્તિત્વમાં છે અને વાંચનીય છે જો તે sh તરીકે બોલાવવામાં આવે તો તે આ કરશે નહીં --norc વિકલ્પ આ વર્તણૂકને રોકવા માટે વાપરી શકાય છે, અને બીજી ફાઈલને વાંચવા માટે દબાણ કરવા માટે --rcfile વિકલ્પ વાપરી શકાશે, પરંતુ rshd સામાન્ય રીતે તે વિકલ્પો સાથે શેલને બોલાવે નહિં અથવા તેમને સ્પષ્ટ કરવા માટે પરવાનગી આપે નહિં.

જો શેલ વાસ્તવિક વપરાશકર્તા (જૂથ) id સાથે અસરકારક વપરાશકર્તા (જૂથ) id સાથે પ્રારંભ થાય છે, અને -p વિકલ્પ પૂરો પાડવામાં આવ્યો નથી, કોઈ સ્ટાર્ટઅપ ફાઇલો વાંચી શકાતા નથી, શેલ ફંક્શનો પર્યાવરણમાંથી વારસામાં નથી, SHELLOPTS વેરિયેબલ, જો તે પર્યાવરણમાં દેખાય છે, અવગણવામાં આવે છે, અને અસરકારક વપરાશકર્તા id વાસ્તવિક વપરાશકર્તા id પર સેટ છે. જો -p વિકલ્પ પ્રદાન કરવામાં આવે છે, તો સ્ટાર્ટઅપ વર્તન સમાન છે, પરંતુ અસરકારક વપરાશકર્તા id રીસેટ નથી.

વ્યાખ્યાઓ

નીચેની વ્યાખ્યાઓ બાકીના દસ્તાવેજોમાં ઉપયોગમાં લેવાય છે.

ખાલી

એક જગ્યા અથવા ટૅબ

શબ્દ

શેલ દ્વારા એક એકમ તરીકે ગણવામાં આવતા અક્ષરોનો ક્રમ. ટોકન તરીકે પણ ઓળખાય છે

નામ

એક શબ્દ જે માત્ર આલ્ફાન્યૂમેરિક અક્ષરો અને અંડરસ્કોર્સ ધરાવે છે, અને એક આલ્ફાબેટીક અક્ષરથી અથવા અન્ડરસ્કૉરથી શરૂ થાય છે. તેને ઓળખકર્તા તરીકે પણ ઓળખવામાં આવે છે.

મેટાચાર્ટર

એક અક્ષર કે, જ્યારે ન જોડાયેલા હોય, શબ્દોને અલગ કરે છે. નીચેનામાંથી એક:

| &; () <> જગ્યા ટેબ

નિયંત્રણ ઓપરેટર

એક ટોકન કે જે નિયંત્રણ કાર્ય કરે છે. તે નીચેના ચિહ્નો પૈકીનું એક છે:

|| & &&; ;; () |

આરક્ષિત શબ્દો

અનામત શબ્દો શેલ માટે વિશિષ્ટ અર્થ ધરાવતા શબ્દો છે. નીચે આપેલા શબ્દો અનામત તરીકે ઓળખાય છે જ્યારે કોઈ પણ સરળ આદેશનો પ્રથમ શબ્દ નથી (નીચે શેલ્લેગ્રામ જુઓ) અથવા કેસના ત્રીજા શબ્દ અથવા આદેશ માટે:

! કિસ્સામાં, જો કાર્યમાં પસંદ કરેલ હોય તો, જ્યારે સુધી {} સમય [[]] સુધી પસંદગી કરી હોય

શેલ્લે ગ્રામર

સરળ આદેશો

સરળ આદેશ એ વૈકલ્પિક વેરિયેબલ અસાઇનમેન્ટનો ક્રમ છે, ત્યારબાદ ખાલી- સિક્વન્ટેડ શબ્દો અને રીડાયરેક્શનનો સમાવેશ થાય છે, અને નિયંત્રણ ઓપરેટર દ્વારા સમાપ્ત થાય છે. પ્રથમ શબ્દ ચલાવવા માટેનો આદેશ સ્પષ્ટ કરે છે, અને દલીલ શૂન્ય તરીકે પસાર થાય છે. બાકી રહેલા શબ્દોને ચલાવેલ આદેશમાં દલીલો તરીકે પસાર કરવામાં આવે છે.

સરળ આદેશની રીટર્ન વેલ્યુ એ તેની એક્ઝિટ સ્ટેટસ છે, અથવા 128 + n જો આદેશ સંકેત n દ્વારા સમાપ્ત થાય છે.

પાઇપલાઇન્સ

એક પાઇપલાઇન પાત્ર દ્વારા અલગ થયેલ એક અથવા વધુ આદેશોનો ક્રમ છે. | . પાઇપલાઇન માટેનો ફોર્મેટ છે:

[ સમય [ -પી ]] [! ] આદેશ [ | કમાન્ડ 2 ...]

આદેશનો પ્રમાણભૂત આઉટપુટ પાઇપ મારફતે આદેશ 2 ના પ્રમાણભૂત ઇનપુટ સાથે જોડાયેલ છે. આ જોડાણ આદેશ દ્વારા ઉલ્લેખિત કોઈપણ પુનઃનિર્દેશક પહેલાં કરવામાં આવે છે (નીચે REDIRECTION જુઓ).

જો અનામત શબ્દ ! પાઇપલાઇન પહેલાં, તે પાઇપલાઇનની બહાર નીકળો સ્થિતિ એ છેલ્લા આદેશની બહારની સ્થિતિની લોજિકલ નથી. નહિંતર, પાઇપલાઇનની સ્થિતિ એ છેલ્લી આદેશની બહાર નીકળો સ્થિતિ છે. મૂલ્ય પાછું પૂરું પાડવા પહેલાં પાઇપલાઇનમાં તમામ કમાન્ડ્સને સમાપ્ત કરવા માટે શેલ રાહ જુએ છે.

જો સમય આરક્ષિત શબ્દ પાઇપલાઇનથી આગળ આવે તો, વીતેલા તેમજ વપરાશકર્તા અને સિસ્ટમ એક્ઝેક્યુશન દ્વારા મેળવવામાં આવેલાં સમયની જાણ કરવામાં આવે છે જ્યારે પાઇપલાઇન સમાપ્ત થાય છે. -p વિકલ્પ પોસિક્સ દ્વારા નિર્દિષ્ટ કરેલા આઉટપુટ ફોર્મેટમાં ફેરફાર કરે છે. TIMEFORMAT ચલ એક ફોર્મેટ સ્ટ્રિંગ પર સેટ કરી શકાય છે જે સમય માહિતીને કેવી રીતે દર્શાવવી તે સ્પષ્ટ કરે છે; શેલ વેરિયેબલ્સ હેઠળ TIMEFORMAT નું વર્ણન નીચે જુઓ.

પાઇપલાઇનમાં દરેક આદેશ અલગ પ્રક્રિયા તરીકે ચલાવવામાં આવે છે (એટલે ​​કે, એક સબશેલમાં).

સૂચિ

સૂચિ એક ઓપરેટર્સ દ્વારા અલગ પાડતી એક અથવા વધુ પાઇપલાઇન્સનો ક્રમ છે ; , & , && , અથવા || , અને વૈકલ્પિક રીતે એક દ્વારા સમાપ્ત ; , અને , અથવા

આ યાદી ઓપરેટર, && અને || સમાન પ્રાધાન્યતા, અનુસરતા ; અને &, જે સમાન પ્રાધાન્યતા ધરાવે છે.

આદેશોને સીમાંકિત કરવા માટે અર્ધવિરામની જગ્યાએ એક અથવા વધુ નવી લાઇન્સની સૂચિ સૂચિમાં દેખાઇ શકે છે.

જો કંટ્રોલ કંટ્રોલ ઓપરેટર દ્વારા સમાપ્ત થાય છે અને , શેલ એ સબશેલમાં બેકગ્રાઉન્ડમાં આદેશ ચલાવે છે. શેલ સમાપ્ત કરવા માટે આદેશની રાહ નથી કરતું, અને પરત સ્થિતિ 0 છે . ક્રમશઃ ચલાવવામાં આવે છે; શેલ દરેક આદેશને વળાંકમાં સમાપ્ત કરવા માટે રાહ જુએ છે વળતરની સ્થિતિ એ એક્ઝિક્યુટ છેલ્લી આદેશની બહારની સ્થિતિ છે.

કંટ્રોલ ઑપરેટર && અને || અનુક્રમે સૂચવે છે અને સૂચિઓ અને OR સૂચિ. એક અને સૂચિમાં ફોર્મ છે

કમાન્ડ 1 અને& આદેશ 2

કમાન્ડ 2 એ એક્ઝિક્યુટ થાય છે જો, અને માત્ર જો, કમાન્ડ 1 શૂન્યની બહાર નીકળો સ્થિતિ આપે છે.

એક OR સૂચિમાં ફોર્મ છે

કમાન્ડ 1 || કમાન્ડ 2

કમાન્ડ 2 એ એક્ઝિક્યુટ થાય છે જો અને જો આદેશ 1 નોન-શૂન્ય એક્ઝિટ સ્ટેટસ પાછો આપે. AND અને OR સૂચિની પરત સ્થિતિ સૂચિમાં ચલાવવામાં આવેલી છેલ્લી કમાન્ડની બહારની સ્થિતિ છે.

કમ્પાઉન્ડ કમાન્ડ્સ

સંયોજન આદેશ નીચેનામાંથી એક છે:

( સૂચિ )

યાદી એક subshell માં ચલાવવામાં આવે છે વેરિયેબલ એસાઈનમેન્ટ્સ અને આંતરિક આદેશો જે શેલના વાતાવરણને અસર કરે છે તે કમાન્ડ પૂર્ણ થયા પછી અસરમાં રહેતી નથી. વળતરની સ્થિતિ એ યાદીની બહારની સ્થિતિ છે.

{ યાદી ; }

યાદી ખાલી વર્તમાન શેલ પર્યાવરણમાં ચલાવવામાં આવે છે. સૂચિને નવી લાઇન અથવા અર્ધવિરામ સાથે સમાપ્ત થવી જોઈએ તેને જૂથ આદેશ તરીકે ઓળખવામાં આવે છે. વળતરની સ્થિતિ એ યાદીની બહારની સ્થિતિ છે. નોંધ કરો કે મેટાકાર્ટેક્ટર્સ ( અને ) વિપરીત, { અને } આરક્ષિત શબ્દો છે અને તે થવું આવશ્યક છે જ્યાં એક અનામત શબ્દને ઓળખી શકાય. કારણ કે તેઓ શબ્દ વિરામ નથી કારણ કે, તેઓ સફેદજગ્યા દ્વારા સૂચિમાંથી અલગ હોવા જોઈએ.

(( અભિવ્યક્તિ ))

એર્થિમેન્ટિક મૂલ્યાંકન હેઠળ નીચે વર્ણવેલ નિયમો અનુસાર અભિવ્યકિતનું મૂલ્યાંકન કરવામાં આવે છે . જો અભિવ્યક્તિની કિંમત બિન-શૂન્ય છે, તો વળતરની સ્થિતિ 0 છે; અન્યથા વળતરની સ્થિતિ 1 છે. આ " અભિવ્યક્તિ " આપવા બરાબર છે.

[[ અભિવ્યક્તિ ]]

શરતી અભિવ્યક્તિ અભિવ્યક્તિના મૂલ્યાંકનને આધારે 0 અથવા 1 ની સ્થિતિ પર પાછા ફરો. અભિવ્યક્તિઓ શરતી પ્રમોશન હેઠળ નીચે વર્ણવેલ પ્રાયમરીઓથી બનેલો છે . શબ્દ સ્પ્લિટિંગ અને પાથનામા વિસ્તરણ શબ્દ [[ અને ]] ની વચ્ચે થતી નથી; ટિલ્ડ વિસ્તરણ, પરિમાણ અને ચલ વિસ્તરણ, અંકગણિત વિસ્તરણ, આદેશ સ્થાનાંતરણ, પ્રક્રિયા અવેજીકરણ અને ક્વોટ દૂર કરવામાં આવે છે.

જ્યારે == અને ! = ઑપરેટર્સનો ઉપયોગ થાય છે, ત્યારે ઓપરેટરની જમણી બાજુની સ્ટ્રિંગ પેટર્ન ગણાય છે અને પેટર્ન મેચિંગ નીચે વર્ણવાયેલ નિયમો મુજબ મેળ ખાતી હોય છે. વળતર મૂલ્ય 0 છે જો શબ્દમાળા મેળ ખાય છે અથવા અનુક્રમે પેટર્ન સાથે મેળ ખાતી નથી, અને 1 અન્યથા. પેટર્નના કોઈપણ ભાગને શબ્દમાળા તરીકે મેળ ખાતો હોવાને દબાણ કરવા માટે નોંધવામાં આવી શકે છે.

અભિવ્યક્તિઓ નીચેના ઓપરેટર્સનો ઉપયોગ કરીને સંયુક્ત થઈ શકે છે, જે અગ્રતાના ઘટતા ક્રમમાં સૂચિબદ્ધ છે:

( અભિવ્યક્તિ )

અભિવ્યક્તિનું મૂલ્ય પરત કરે છે તેનો ઉપયોગ ઓપરેટરોની સામાન્ય અગ્રતાને ઓવરરાઇડ કરવા માટે થઈ શકે છે.

! અભિવ્યક્તિ

સાચું જો અભિવ્યક્તિ ખોટી છે.

અભિવ્યક્તિ 1 અને& expression2

સાચું જો બંને અભિવ્યક્તિ 1 અને અભિવ્યક્તિ 2 સાચું છે.

અભિવ્યક્તિ 1 || અભિવ્યક્તિ 2 સાચું છે જો ક્યાં તો અભિવ્યક્તિ 1 અથવા અભિવ્યક્તિ 2 સાચું છે.

ધ એન્ડ એન્ડ અને ઓપરેટર એ અભિવ્યક્તિ 2 નું મૂલ્યાંકન કરતા નથી જો અભિવ્યક્તિ 1 નું મૂલ્ય સમગ્ર શરતી અભિવ્યક્તિના વળતર મૂલ્યને નક્કી કરવા માટે પૂરતું છે.

[ શબ્દમાં ] નામ માટે ; યાદી કરો ; કર્યું

આઇટમ્સની સૂચિ બનાવીને, નીચેનામાંના શબ્દોની યાદી વિસ્તૃત કરવામાં આવે છે. વેરીએબલ નામ બદલામાં આ સૂચિના દરેક ઘટક પર સેટ છે, અને દરેક વખતે સૂચિને અમલમાં મુકવામાં આવે છે. જો શબ્દને અવગણવામાં આવે છે, તો આદેશ માટે દરેક સ્થાનાંતર પરિમાણ કે જે સેટ છે (નીચે PARAMETERS જુઓ) માટે એકવાર સૂચિબદ્ધ કરે છે . વળતરની સ્થિતિ એ અંતિમ આદેશની બહારની સ્થિતિ છે જે અમલમાં મૂકે છે. જો ખાલી સૂચિમાં પરિણામોને અનુસરીને વસ્તુઓનો વિસ્તરણ, કોઈ આદેશો ચલાવવામાં આવતો નથી, અને પરત સ્થિતિ 0 છે

માટે (( EXpr1 ; expr2 ; expr3 )); યાદી કરો ; કર્યું

પ્રથમ, અંકગણિત અભિવ્યક્તિ EXP1 નું મૂલ્યાંકન ARITHMETIC મૂલ્યાંકન હેઠળ નીચે વર્ણવેલ નિયમો અનુસાર કરવામાં આવે છે . અંકગણિત સમીકરણ expr2 પછી વારંવાર મૂલ્યાંકન થાય ત્યાં સુધી તે શૂન્ય મૂલ્યાંકન. દરેક વખતે expr2 બિન-શૂન્ય મૂલ્યનું મૂલ્યાંકન કરે છે, સૂચિ ચલાવવામાં આવે છે અને અંકગણિત સમીકરણ expr3 નું મૂલ્યાંકન થાય છે. જો કોઇ અભિવ્યક્તિ અવગણવામાં આવે, તો તે વર્તન કરે છે તે પ્રમાણે તે મૂલ્યાંકન કરે છે. વળતર મૂલ્ય છેલ્લી કમાન્ડની બહારની સ્થિતિ છે જે સૂચિમાં ચલાવવામાં આવે છે, અથવા ખોટા છે જો કોઈ પણ સમીકરણ અમાન્ય છે.

[ શબ્દમાં ] નામ પસંદ કરો ; યાદી કરો ; કર્યું

આઇટમ્સની સૂચિ બનાવીને, નીચેનામાંના શબ્દોની યાદી વિસ્તૃત કરવામાં આવે છે. વિસ્તૃત શબ્દોનો સમૂહ પ્રમાણભૂત ભૂલ પર છપાય છે, જે દરેક નંબરની આગળ છે. જો શબ્દમાં અવગણવામાં આવે છે, તો સ્થાનીય પરિમાણો છાપવામાં આવે છે (નીચે PARAMETERS જુઓ). PS3 પ્રોમ્પ્ટ પછી પ્રદર્શિત થાય છે અને સ્ટાન્ડર્ડ ઇનપુટમાંથી એક લીટી વાંચી શકાય છે. જો રેખામાં પ્રદર્શિત શબ્દો પૈકીના એક સાથે સંલગ્ન સંખ્યા હોય, તો પછી નામનું મૂલ્ય તે શબ્દ પર સેટ કરેલું છે. જો રેખા ખાલી હોય, તો શબ્દો અને પ્રોમ્પ્ટ ફરીથી પ્રદર્શિત થાય છે. જો EOF વાંચવામાં આવે, તો આદેશ પૂર્ણ થાય છે. કોઈપણ અન્ય મૂલ્ય વાંચવા માટેના નામને નલ પર સેટ કરવાનું કારણ બને છે. વાંચી લીટી ચલ REPLY માં સાચવવામાં આવે છે. દરેક પસંદગી પછી વિરામ આદેશ ચલાવવામાં આવે ત્યાં સુધી આ સૂચિને એક્ઝિક્યુટ કરવામાં આવે છે. પસંદ કરેલ બહાર નીકળવાની સ્થિતિ એ યાદીમાં ચલાવવામાં આવેલી છેલ્લી આદેશની બહારની સ્થિતિ છે, અથવા જો કોઈ આદેશો ચલાવવામાં ન આવે તો શૂન્ય.

[[ પેટર્ન ] [[ પેટર્ન ]

કેસ કમાન્ડ પ્રથમ શબ્દને વિસ્તૃત કરે છે, અને પાથનામને વિસ્તરણ (નીચે પાથનામ વિસ્તરણ જુઓ) માટે સમાન મેચિંગ નિયમોનો ઉપયોગ કરીને, તેના બદલે દરેક પેટર્ન સામે મેળ ખાતો પ્રયાસ કરે છે. જ્યારે મેચ મળે, ત્યારે અનુરૂપ સૂચિ ચલાવવામાં આવે છે. પ્રથમ મેચ પછી, કોઈ અનુગામી મેચોનો પ્રયાસ થતો નથી. કોઈ પેટર્ન મેચ ન થાય તો બહારની સ્થિતિ શૂન્ય છે. નહિંતર, તે યાદીમાં ચલાવવામાં આવેલ છેલ્લા આદેશની બહારની સ્થિતિ છે.

જો યાદી ; પછી યાદી; [ એલિફ લિસ્ટ ; પછી યાદી ; ] ... [ બીજું સૂચિ ; ] ફાઇ

જો યાદી સૂચિ ચલાવવામાં આવે છે. જો તેની બહાર નીકળવાની સ્થિતિ શૂન્ય છે, તો પછી યાદી અમલ કરવામાં આવે છે. નહિંતર, દરેક એલિફ લિસ્ટ બદલામાં એક્ઝિક્યુટ થાય છે, અને જો તેની એક્ઝિટ સ્ટેટસ શૂન્ય છે, અનુરૂપ પછી સૂચિ ચલાવવામાં આવે છે અને આદેશ પૂર્ણ થાય છે. નહિંતર, બીજી યાદી ચલાવવામાં આવે છે, જો હાજર હોય. બહાર નીકળવાની સ્થિતિ ચલાવવામાં આવેલી છેલ્લી આદેશની બહારની સ્થિતિ છે, અથવા શૂન્ય જો કોઈ શરત સાચું નથી.

જ્યારે યાદી ; યાદી કરો ; કર્યું

યાદી સુધી ; યાદી કરો ; કર્યું

જ્યારે કમાંડ સતત ડ્રો યાદીને અમલમાં મૂકે છે, જ્યાં સુધી યાદીમાં છેલ્લો આદેશ શૂન્યની બહાર નીકળો સ્થિતિ પાછો આપે છે. જ્યાં સુધી આદેશ જ્યારે આદેશ સાથે સરખા છે, સિવાય કે પરીક્ષણ નકારાત્મક છે; ડ્રો યાદી અમલમાં મૂકવામાં આવે છે જ્યાં સુધી યાદીમાં છેલ્લા આદેશ બિન-શૂન્ય બહાર નીકળો સ્થિતિ પાછો આપે છે. જ્યારે અને જ્યારે આદેશો ની બહાર નીકળો સ્થિતિ એ છેલ્લી do list આદેશની બહાર નીકળો સ્થિતિ છે, અથવા જો કંઈ અમલ થતો નથી.

[ કાર્ય ] નામ () { યાદી ; }

આ નામના ફંક્શનને વ્યાખ્યાયિત કરે છે. ફંક્શનનું શરીર એ {અને} વચ્ચે આદેશોની સૂચિ છે. જ્યારે આ નામ સરળ આદેશના નામ તરીકે સ્પષ્ટ થાય છે ત્યારે આ સૂચિનો અમલ થાય છે. ફંક્શનની બહારની સ્થિતિ એ શરીરમાં ચલાવવામાં આવેલી છેલ્લી આદેશની બહારની સ્થિતિ છે. (નીચેના ફંક્શન્સ જુઓ.)

COMMENTS

નોન-ઇન્ટ્રેક્ટિવ શેલ અથવા ઇન્ટ્રેક્ટિવ શેલ કે જેમાં દુકાનદાર બિલ્ટિન માટે ઇન્ટરેક્ટિવ_ક્મમેન્ટનો વિકલ્પ સક્ષમ છે (નીચે શેલ્લ બિલ્ટિન કમાન્ડ્સ જુઓ), # શબ્દથી શરૂ થતો એક શબ્દ જે શબ્દ અને તે બાકી રહેલા તમામ અક્ષરોને અવગણવામાં આવે છે. સક્રિય કરેલ ઇન્ટરેક્ટિવ_ક્મમેન્ટ વિકલ્પ વગર ઇન્ટરેક્ટિવ શેલ ટિપ્પણીઓને મંજૂરી આપતું નથી. પૂછપરછવાળી શેલોમાં ઇન્ટરેક્ટિવ_ક્મમેન્ટ વિકલ્પ ડિફોલ્ટ રૂપે ચાલુ છે.

ક્વોટિંગ

શેલને ચોક્કસ અક્ષરો અથવા શબ્દોના વિશિષ્ટ અર્થને દૂર કરવા માટે ક્વોટિંગનો ઉપયોગ કરવામાં આવે છે. વિશિષ્ટ અક્ષરો માટે વિશિષ્ટ સારવારને અક્ષમ કરવા માટે, જેમ કે ઓળખી કાઢવા માટે આરક્ષિત શબ્દો અટકાવવા અને પિરણામે વિસ્તરણ અટકાવવા માટે તેનો ઉપયોગ કરી શકાય છે.

નિશ્ચિતતામાં ઉપર દર્શાવ્યા દરેક મેટાચાર્કન્ટ્સને શેલ માટે વિશિષ્ટ અર્થ છે અને જો તે પોતે રજૂ કરવાનો છે

જ્યારે આદેશ ઇતિહાસ વિસ્તરણ સુવિધાઓ ઉપયોગ કરવામાં આવે છે, ઇતિહાસ વિસ્તરણ અક્ષર, સામાન્ય રીતે ! , ઇતિહાસ વિસ્તરણ અટકાવવા માટે નોંધાયેલા હોવા જોઈએ.

ત્રણ ક્વોટિંગ પદ્ધતિઓ છે: એસ્કેપ અક્ષર , સિંગલ અવતરણ, અને ડબલ અવતરણ.

બિન-નોંધાયેલા બેકસ્લેશ ( \ ) એસ્કેપ અક્ષર છે . ના અપવાદ સાથે, તે પછીના અક્ષરના શાબ્દિક મૂલ્યને સાચવે છે. જો કોઈ \ જોડ દેખાય છે, અને બેકસ્લેશ પોતે નોંધાયેલા નથી, તો \ એ વાક્ય ચાલુ તરીકે ગણવામાં આવે છે (એટલે ​​કે, તેને ઇનપુટ પ્રવાહમાંથી દૂર કરવામાં આવે છે અને અસરકારક રીતે અવગણવામાં આવે છે).

એક જ અવતરણચિહ્નોમાં અક્ષરોને બંધ કરવાથી અવતરણની અંદર દરેક પાત્રની શાબ્દિક મૂલ્ય સાચવવામાં આવે છે. એક અવતરણચિહ્નો વચ્ચે એક ક્વોટ ઉત્પન્ન થતો નથી, પછી બૅકસ્લેશ દ્વારા આગળ આવી શકે છે.

ડબલ અવતરણચિહ્નોમાં અક્ષરોને બંધ કરવાથી $ , ` , અને \ ' ના અપવાદ સાથે, અવતરણની અંદર બધા અક્ષરોની શાબ્દિક મૂલ્ય સાચવવામાં આવે છે અક્ષરો $ અને ` બેવડા અવતરણમાં તેમના વિશિષ્ટ અર્થને જાળવી રાખે છે. બેકસ્લેશ તેના વિશિષ્ટ અર્થને જાળવી રાખે છે, જ્યારે નીચેના અક્ષરો પૈકીના એક દ્વારા અનુસરવામાં આવે છે: $ , ` , ' , \ , અથવા . ડબલ અવતરણ બેવડા અવતરણચિહ્નોમાં બેકસ્લેશ સાથે પૂર્વવર્તી દ્વારા નોંધાયેલા હોઇ શકે છે.

વિશેષ પરિમાણો * અને @ નો વિશેષ અર્થ હોય છે જ્યારે ડબલ અવતરણમાં (નીચે PARAMETERS જુઓ).

ફોર્મ $ ' શબ્દમાળા ' શબ્દોનો ખાસ ઉપયોગ કરવામાં આવે છે. શબ્દ એ શબ્દમાળાને વિસ્તૃત કરે છે, જેમાં એએનએસઆઈ સી સ્ટાન્ડર્ડ દ્વારા ઉલ્લેખિત બેકસ્લેશ-બચી ગયેલ અક્ષરો બદલાયા છે. બેકસ્લેશ એસ્કેપ સિક્વન્સ, જો હાજર હોય તો નીચે પ્રમાણે ડીકોડ થાય છે:

\ a

ચેતવણી (ઘંટડી)

\ b

બેકસ્પેસ

\ e

એસ્કેપ અક્ષર

\ f

ફોર્મ ફીડ

\ n

નવી રેખા

\ r

વાહન વળતર

\ t

આડી ટૅબ

\ v

ઊભી ટેબ

\\

બેકસ્લેશ

\ '

સિંગલ ક્વોટ

\ n nn

આઠ બીટ અક્ષર જેનું મૂલ્ય એક્ટલ વેલ્યુ એનએનએન (એક થી ત્રણ અંકો) છે

\ x HH

આઠ બીટ અક્ષર જેનું મૂલ્ય છે હેક્ઝાડેસિમલ વેલ્યુ એચએચ (એક કે બે હેક્સ ડિજિસ)

\ c x

એક નિયંત્રણ- x અક્ષર

વિસ્તૃત પરિણામ સિંગલ-ટાંકવામાં આવ્યું છે, જેમ કે ડોલર ચિહ્ન હાજર ન હતું.

ડોલર સંકેત ( $ ) દ્વારા આગળ આવવાથી ડબલ ક્વોટ થયેલ સ્ટ્રિંગ વર્તમાન લોકેલ મુજબ શબ્દમાળાને અનુવાદિત કરવામાં આવશે. જો વર્તમાન લોકેલ C અથવા POSIX છે , તો ડોલર ચિહ્નને અવગણવામાં આવે છે. જો સ્ટ્રિગને અનુવાદિત અને બદલવામાં આવે છે, તો રિપ્લેસમેન્ટ ડબલ-ટાંકવામાં આવે છે.

PARAMETERS

એક પેરામીટર એક એન્ટિટી છે જે મૂલ્યો સંગ્રહિત કરે છે. તે વિશિષ્ટ પરિમાણો હેઠળ નીચે સૂચિબદ્ધ વિશિષ્ટ અક્ષરોનું નામ , એક સંખ્યા અથવા કોઈ એક હોઇ શકે છે. શેલનાં હેતુઓ માટે, વેરિયેબલનામથી સૂચિત પેરામીટર છે. વેરિયેબલમાં મૂલ્ય અને શૂન્ય અથવા વધુ લક્ષણો છે . વિશેષતાઓ ડિક્લાયર બિલ્ટિન કમાન્ડનો ઉપયોગ કરીને સોંપવામાં આવે છે (નીચે શેલ્લ બિલ્ટિન કમાન્ડ્સમાં જાહેર કરો )

એક પેરામીટર સુયોજિત છે જો તેને મૂલ્ય અસાઇન કરવામાં આવ્યું હોય. નલ સ્ટ્રિંગ એક માન્ય મૂલ્ય છે. એકવાર વેરીએબલ સેટ થઈ જાય, તે અનસેટ બિલ્ટિન આદેશ (નીચે શેલ બિલ્ટિન કમાન્ડ્સ જુઓ) નો ઉપયોગ કરીને અનસેટ થઈ શકે છે.

એક વેરિયેબલને ફોર્મના વિધાન દ્વારા સોંપી શકાય છે

નામ = [ મૂલ્ય ]

જો મૂલ્ય આપવામાં આવ્યું ન હોય, તો ચલને નલ સ્ટ્રિંગ અસાઇન કરવામાં આવે છે. બધા મૂલ્યો ટિલ્ડ વિસ્તરણ, પરિમાણ અને ચલ વિસ્તરણ, આદેશ સ્થાનાંતરણ, અંકગણિત વિસ્તરણ અને ક્વોટ દૂર (નીચે જુઓ જુઓ) પસાર થાય છે. જો વેરિયેબલ તેના પૂર્ણાંક લક્ષણ સેટ ધરાવે છે, તો પછી મૂલ્ય અંકગણિત વિસ્તરણને પાત્ર છે, ભલે $ ((...)) વિસ્તરણનો ઉપયોગ થતો નથી (નીચે એરિથમેટિક વિસ્તરણ જુઓ). વિશિષ્ટ પરિમાણો હેઠળ નીચે વર્ણવ્યાં પ્રમાણે "$ @" ના અપવાદ સાથે, શબ્દ વિભાજન કરવામાં આવતું નથી. પાથનામને વિસ્તરણ કરવામાં આવ્યું નથી. સોંપણી નિવેદનો જાહેર , જાહેરાતો , નિકાસ , ફક્ત વાંચવા , અને સ્થાનિક આંતરિક આદેશો માટે દલીલો તરીકે પણ દેખાઈ શકે છે.

સ્થિતિકીય પરિમાણો

પોઝિશનલ પેરામીટર એ એક અથવા વધુ અંકો દ્વારા સૂચિત કરાયેલ પેરામીટર છે, જે એક આંકડા કરતા અલગ છે. પોઝિશનલ પેરામીટર્સ શેલની દલીલોમાંથી અસાઇન કરવામાં આવે છે, અને સેટ બિલ્ટિન કમાન્ડનો ઉપયોગ કરીને તેને ફરીથી સોંપવામાં આવી શકે છે. સ્થાનીય પરિમાણો સોંપણી નિવેદનો સાથે સોંપણી થઈ શકશે નહીં. શેલ ફંક્શન ચલાવવામાં આવે ત્યારે સ્થાયી રૂપે સ્થાયી રૂપે સ્થાનીય પરિમાણોને બદલવામાં આવે છે (નીચેનાં ફંક્શન્સ જુઓ).

જ્યારે કોઈ એકલ ડિજ કરતા વધુ એક પદ પર આધારિત હોય ત્યારે તે કૌંસમાં બંધ હોવું જોઈએ (નીચે જુઓ એક્જશન ).

ખાસ પરિમાણો

શેલ ખાસ કરીને કેટલાક પરિમાણોને વર્તે છે. આ પરિમાણો ફક્ત સંદર્ભિત થઈ શકે છે; તેમને સોંપણી કરવાની મંજૂરી નથી.

*

એકથી શરૂ થતાં સ્થાયી પરિમાણોને વિસ્તૃત કરો જ્યારે વિસ્તરણ ડબલ અવતરણમાં થાય છે, ત્યારે તે એક શબ્દને વિસ્તરે છે જે દરેક પરિમાણીય મૂલ્ય સાથે IFS વિશિષ્ટ ચલના પ્રથમ અક્ષર દ્વારા અલગ થયેલ છે. એટલે કે, " $ * " એ " $ 1 c $ 2 c ... " ની સમકક્ષ છે, જ્યાં સી IFS વેરિયેબલના મૂલ્યનો પ્રથમ અક્ષર છે. જો IFS સેટ ન થયેલ હોય, તો પરિમાણો ખાલી જગ્યા દ્વારા અલગ પડે છે. જો આઇએફએસ ( IFS ) નલ છે, તો પરિમાણોને મધ્યસ્થી વિભાગો વગર જોડવામાં આવે છે.

@

એકથી શરૂ થતાં સ્થાયી પરિમાણોને વિસ્તૃત કરો જ્યારે વિસ્તરણ ડબલ અવતરણમાં થાય છે, ત્યારે દરેક પરિમાણ અલગ શબ્દ સુધી વિસ્તરે છે. એટલે કે, " $ @ " " $ 1 " " $ 2 " ની સમકક્ષ છે ... જ્યારે કોઈ સ્થાનીય પરિમાણો ન હોય, તો " $ @ " અને $ @ કંઇ વિસ્તૃત થાય છે (એટલે ​​કે, તે દૂર કરવામાં આવે છે).

#

દશાંશ માં સ્થાનીય પરિમાણોની સંખ્યાને વિસ્તૃત કરો.

?

સૌથી તાજેતરમાં ચલાવવામાં ફોરગ્રાઉન્ડ પાઇપલાઇનની સ્થિતિને વિસ્તૃત કરો.

-

વર્તમાન બિલ્ડઇન આદેશ દ્વારા અથવા શેલ દ્વારા સેટ કરેલી (જેમ કે -i વિકલ્પ) દ્વારા, અવરજવર પર નિર્દિષ્ટ તરીકે વર્તમાન વિકલ્પ ફ્લેગનો વિસ્તૃત કરો.

$

શેલની પ્રક્રિયા ID ને વિસ્તૃત કરે છે. એક () subshell માં, તે વર્તમાન શેલની પ્રક્રિયા ID ને વિસ્તરે છે, સબશેલ નહીં.

!

સૌથી તાજેતરમાં એક્ઝિક્યુવેટેડ બેકગ્રાઉન્ડ (અસુમેળ) આદેશની પ્રક્રિયા ID ને વિસ્તૃત કરો.

0

શેલ અથવા શેલ સ્ક્રિપ્ટનું નામ વિસ્તૃત કરો. આ શેલ આરંભ પર સેટ છે જો આદેશની ફાઇલ સાથે bash લાગુ કરવામાં આવે, તો $ 0 તે ફાઇલના નામ પર સેટ કરેલું છે જો bash-c વિકલ્પથી શરૂ કરેલ હોય, તો પછી $ 0 એ એક્ઝેક્યુટ કરવા માટેની સ્ટ્રિંગ પછી પ્રથમ દલીલ પર સેટ છે, જો કોઈ હાજર હોય. નહિંતર, તે બેશક બોલાવવા માટે વપરાતા ફાઇલ નામ પર સેટ છે, જે દલીલ શૂન્ય દ્વારા આપવામાં આવે છે.

_

શેલ સ્ટાર્ટઅપ પર, શેલ અથવા શેલ સ્ક્રિપ્ટના સંપૂર્ણ ફાઇલ નામ પર સેટ થયેલ છે જે દલીલ સૂચિમાં પસાર થાય છે. ત્યારબાદ, વિસ્તરણ પછી, અગાઉના આદેશમાં છેલ્લા દલીલ સુધી વિસ્તરે છે. આ આદેશમાં નિકાસ કરેલ પર્યાવરણમાં ચલાવવામાં આવતી દરેક આદેશના સંપૂર્ણ ફાઇલ નામ પર પણ સેટ કરો. મેલ તપાસતી વખતે, આ પરિમાણ હાલમાં ચકાસવામાં આવે છે તે મેઈલ ફાઇલનું નામ ધરાવે છે.

શેલ ચલો

નીચેના ચલો શેલ દ્વારા સેટ કરવામાં આવે છે:

બાશ

આ ફાઇલનો ઉપયોગ કરવા માટે ઉપયોગમાં લેવાયેલી સંપૂર્ણ ફાઇલ નામનો વિસ્તૃત કરો.

BASH_VERSINFO

ફક્ત વાંચવા માટેનું એરે ચલ છે જેના સભ્યોને આ માહિતી માટે સંસ્કરણની માહિતી છે. એરે સભ્યોને સોંપેલ કિંમતો નીચે મુજબ છે:

BASH_VERSINFO [ 0]

મુખ્ય આવૃત્તિ નંબર ( પ્રકાશન ).

BASH_VERSINFO [ 1]

નાના વર્ઝન નંબર ( સંસ્કરણ ).

BASH_VERSINFO [ 2]

પેચ સ્તર

BASH_VERSINFO [ 3]

બિલ્ડ વર્ઝન

BASH_VERSINFO [ 4]

પ્રકાશન સ્થિતિ (દા.ત., બીટા 1 ).

BASH_VERSINFO [ 5]

MACTTYPE નું મૂલ્ય

BASH_VERSION

Bash ની આ દાખલાના સંસ્કરણનું વર્ણન કરતા શબ્દમાળાને વિસ્તૃત કરો.

COMP_CWORD

COMP_LINE

વર્તમાન આદેશ વાક્ય. આ વેરિયેબલ માત્ર શેલ ફંકશન્સ અને બાહ્ય કમાન્ડમાં ઉપલબ્ધ છે પ્રોગ્રામેબલ પૂર્ણ સુવિધાઓ દ્વારા (નીચે પ્રોગ્રામેબલ સમાપ્તિ જુઓ).

COMP_POINT

COMP_WORDS

વર્તમાન કમાન્ડ લાઇનમાં વ્યક્તિગત શબ્દો ધરાવતી એક એરે વેરિયેબલ (નીચે એરેઝ જુઓ). આ વેરિયેબલ પ્રોગ્રામેબલ પૂર્ણ સવલતો દ્વારા ચલાવેલા શેલ ફોન્ટ્સમાં જ ઉપલબ્ધ છે (નીચે પ્રોગ્રામેબલ સમાપ્તિ જુઓ).

DIRSTACK

ડાયરેક્ટરી સ્ટેકની વર્તમાન સમાવિષ્ટો ધરાવતી એરે વેરીએબલ (નીચે એરેને જુઓ). ડાયરેક્ટરીઝ સ્ટેકમાં ક્રમમાં પ્રદર્શિત થાય છે જે તેઓ ડૅર બિલ્ટઇન દ્વારા પ્રદર્શિત થાય છે. આ અરે વેરિયેબલના સભ્યોને સોંપવાથી પહેલાથી જ સ્ટેકમાં ડિરેક્ટર્સને સંશોધિત કરવા માટે ઉપયોગમાં લઇ શકાય છે, પરંતુ નિર્દેશિકાઓ ઉમેરવા અને દબાણ કરવા માટે પુશડ અને પોપડ બિલ્ડિન્સનો ઉપયોગ થવો જોઈએ. આ ચલમાં સોંપણી વર્તમાન ડિરેક્ટરીને બદલશે નહીં. જો DIRSTACK સેટ ન થયેલ હોય, તો તે તેની વિશિષ્ટ સંપત્તિ ગુમાવે છે, પછી ભલે પછી તે રીસેટ થાય.

ઇયુઆઇડી

શેલ સ્ટાર્ટઅપ પર પ્રારંભ કરાયેલ, વર્તમાન વપરાશકર્તાના અસરકારક વપરાશકર્તા ID ને વિસ્તૃત કરો. આ ચલ ફક્ત વાંચવા માટે છે

FUNCNAME

કોઈપણ વર્તમાન-અમલીકરણ શેલ કાર્યનું નામ. આ વેરીએબલ અસ્તિત્વમાં છે જયારે શેલ ફંક્શન ચાલતી હોય. FUNCNAME પરની સોંપણીઓને કોઈ અસર થતી નથી અને કોઈ ભૂલની સ્થિતિ પરત કરે છે. જો FUNCNAME સેટ ન કરેલ હોય, તો તે તેની વિશિષ્ટ સંપત્તિ ગુમાવે છે, પછી ભલે તેને ફરીથી રીસેટ થાય.

જૂથો

એક એરે ચલ જેમાં જૂથોની સૂચિ હોય છે, જેનો વર્તમાન સભ્ય સભ્ય છે. GROUPS માં સોંપણીઓ કોઈ પ્રભાવ નથી અને કોઈ ભૂલ સ્થિતિ પરત કરે છે. જો GROUPS સેટ ન કરેલ હોય, તો તે તેની વિશિષ્ટ સંપત્તિ ગુમાવે છે, પછી ભલે પછી તે રીસેટ થાય.

HISTCMD

વર્તમાન આદેશના ઇતિહાસના ઇતિહાસમાં ઇન્ડેક્સ અથવા ઇન્ડેક્સ. જો HISTCMD સેટ ન કરેલ હોય, તો તે તેની વિશિષ્ટ સંપત્તિ ગુમાવે છે, પછીથી તે ફરીથી રીસેટ કરે છે.

HOSTNAME

આપમેળે વર્તમાન હોસ્ટના નામ પર સેટ કરો.

HOSTTYPE

આપમેળે એવી સ્ટ્રિંગ પર સેટ કરો કે જે મશીનની પ્રકારનું વિશિષ્ટ રીતે વર્ણન કરે છે કે જેના પર bash અમલી રહ્યું છે. ડિફૉલ્ટ સિસ્ટમ-આધારિત છે

LINENO

દર વખતે આ પેરામીટરનો સંદર્ભ આપવામાં આવે છે, ત્યારે શેલ એક દશાંશ સંખ્યાને સ્ક્રિપ્ટ અથવા ફંક્શનની અંદર વર્તમાન ક્રમક રેખા નંબર (1 થી શરૂ કરીને) રજૂ કરે છે. સ્ક્રિપ્ટ અથવા ફંક્શનમાં ન હોય ત્યારે, બદલાયેલ મૂલ્ય અર્થપૂર્ણ હોવાની ખાતરી આપી નથી. જો LINENO અનસેટ છે, તો તે તેની વિશિષ્ટ સંપત્તિ ગુમાવે છે, પછી ભલે તે ફરીથી રીસેટ થાય.

MACHTYPE

પ્રમાણભૂત GNU cpu-company-system બંધારણમાં, આપમેળે સ્ટ્રિંગ પર સેટ કરો કે જે સિસ્ટમ પ્રકારને સંપૂર્ણપણે વર્ણવે છે કે જેના પર bash ચલાવવામાં આવે છે. ડિફૉલ્ટ સિસ્ટમ-આધારિત છે

OLDPWD

Cd આદેશ દ્વારા સેટ કરેલી પહેલાની કાર્યકારી ડિરેક્ટરી.

OPTARG

ગેટપ્ટ્સ બિલ્ડીઇન કમાન્ડ દ્વારા પ્રક્રિયા કરવામાં આવેલો અંતિમ વિકલ્પ દલીલનું મૂલ્ય (નીચે શેલ બિલ્ટિન કમાન્ડ્સ જુઓ).

OPTIND

ગેટપ્ટ્સ બિલ્ડઇન કમાન્ડ દ્વારા આગળની દલીલની અનુક્રમણિકા (નીચે શેલ્લ બિલ્ટિન કમાન્ડ્સ જુઓ).

OSTYPE

સ્વયંચાલિત રૂપે તે સ્ટ્રિંગ પર સેટ કરો જે ઓપરેટિંગ સિસ્ટમનું વર્ણન કરે છે કે જેના પર bash અમલી રહ્યું છે. ડિફૉલ્ટ સિસ્ટમ-આધારિત છે

PIPESTATUS

એરે વેરિયેબલ (નીચે એરેને જુઓ) જેમાં સૌથી વધુ તાજેતરમાં અમલમાં મૂકાયેલ ફોરગ્રાઉન્ડ પાઇપલાઇન (જેમાં ફક્ત એક જ કમાન્ડ હોઈ શકે છે) માં પ્રક્રિયાઓમાંથી એક્ઝિટ સ્ટેટસ કિંમતોની સૂચિ છે.

PPID

શેલના પિતૃની પ્રક્રિયા ID. આ ચલ ફક્ત વાંચવા માટે છે

PWD

Cd આદેશ દ્વારા સેટ કરાયેલ વર્તમાન કાર્યકારી ડાયરેક્ટરી.

રેન્ડૉમ

દર વખતે આ પરિમાણ સંદર્ભિત છે, 0 અને 32767 ની રેન્ડમ પૂર્ણાંક પેદા થાય છે. રેન્ડમ માટે મૂલ્ય અસાઇન કરીને રેન્ડમ સંખ્યાઓનો ક્રમ પ્રારંભ કરી શકાય છે. જો રેન્ડોમ સેટ ન કરેલ હોય, તો તે તેની વિશિષ્ટ સંપત્તિ ગુમાવે છે, પછી ભલે પછી તે રીસેટ થાય.

જવાબ આપો

વાંચેલ બિલ્ટઇન આદેશ દ્વારા વાંચવામાં આવતા ઇનપુટની લાઇન પર સેટ કરો જ્યારે કોઈ દલીલો આપેલ નથી.

SECONDS

દર વખતે આ પરિમાણ સંદર્ભિત છે, શેલ આમંત્રણ પાછો ફર્યો ત્યારથી સેકંડની સંખ્યા. જો કિંમત SECONDS ને સોંપવામાં આવી હોય, તો પછીના સંદર્ભો પર પાછો મળેલ કિંમત એ એસાઈનમેન્ટ વત્તા વત્તા મૂલ્યની સોંપણીની સેકંડની સંખ્યા છે. જો SECONDS સેટ ન કરેલ હોય, તો તે તેની વિશિષ્ટ સંપત્તિ ગુમાવે છે, પછી ભલે તેને ફરીથી રીસેટ થાય.

શેલૉપેટ્સ

સક્ષમ શેલ વિકલ્પોની કોલોન-વિભાજિત સૂચિ સૂચિમાંના દરેક શબ્દ એ સેટ બિલ્ડીઅન કમાન્ડને -o વિકલ્પ માટે એક માન્ય દલીલ છે (નીચે શેલ બિલ્ટિન કમાન્ડ્સ જુઓ). SHELLOPTS માં દેખાતા વિકલ્પો તે સેટ-ઓ દ્વારા રિપોર્ટ કરે છે જો આ ચલ પર્યાવરણમાં હોય છે જ્યારે bash શરૂ થાય છે, યાદીમાં દરેક શેલ વિકલ્પ કોઈપણ સ્ટાર્ટઅપ ફાઇલો વાંચતા પહેલાં સક્ષમ થશે. આ ચલ ફક્ત વાંચવા માટે છે

SHLVL

એક વાર દરેક દ્વારા વધારીને પ્રારંભ થવું જોઈએ.

યુઆઇડી

શેલ સ્ટાર્ટઅપ પર પ્રારંભ કરાયેલ, વર્તમાન વપરાશકર્તાના વપરાશકર્તાની ID ને વિસ્તૃત કરો. આ ચલ ફક્ત વાંચવા માટે છે

શેલ દ્વારા નીચેના ચલોનો ઉપયોગ થાય છે. કેટલાક કિસ્સાઓમાં, bash એ વેરિયેબલમાં ડિફૉલ્ટ મૂલ્ય અસાઇન કરે છે; આ કેસો નીચે જણાવેલ છે.

BASH_ENV

જો આ પરિમાણ bash શેલ સ્ક્રિપ્ટ એક્ઝેક્યુટ કરે છે ત્યારે સુયોજિત થાય છે, તેનું મૂલ્ય ~ / .bashrc તરીકે શેલ પ્રારંભ કરવા માટે આદેશો ધરાવતી ફાઇલનામ તરીકે અર્થઘટન થયેલ છે. BASH_ENV નું મૂલ્ય પેરામીટર વિસ્તરણ, આદેશ સ્થાનાંતરણ અને ફાઈલ નામ તરીકે અર્થઘટન કરવા પહેલાં અંકગણિત વિસ્તરણને આધિન છે. પીએટીએચ (PATH) નો ઉપયોગ પરિણામે ફાઈલ નામ શોધવા માટે થતો નથી.

CDPATH

Cd આદેશ માટે શોધ પથ. આ ડિરેક્ટરીઓની કોલોન-વિભાજીત સૂચિ છે કે જેમાં શેલ cd આદેશ દ્વારા ઉલ્લેખિત ગંતવ્ય ડિરેક્ટરીઓ માટે જુએ છે. નમૂના મૂલ્ય ".: ~: / Usr" છે.

કૉલમ

પસંદગી યાદીઓને છાપતી વખતે ટર્મિનલ પહોળાઈને નક્કી કરવા માટે બિલ્ટિન આદેશ પસંદ કરો . આપમેળે SIGWINCH ની રસીદ પર સેટ કરો.

COMPREPLY

એરે વેરીએબલ કે જેમાંથી પ્રોગ્રામેબલ પૂર્ણતા સુવિધા દ્વારા અમલમાં આવતી શેલ ફંક્શન દ્વારા પેદા થતી સંભવિત સમાપ્તિને બાશ દ્વારા વાંચવામાં આવે છે (નીચે પ્રોગ્રામેબલ સમાપ્તિ જુઓ).

FCEDIT

એફસી બિલ્ટઇન આદેશ માટે ડિફૉલ્ટ એડિટર.

ફાઇનર કરો

ફાઇલનામ સમાપ્ત કરતી વખતે અવગણવા માટે પ્રત્યયોની કોલોન-વિભાજીત સૂચિ (નીચે READLINE જુઓ). ફાઇલનામ જેનો પ્રત્યય એ ફાઇનરરની એન્ટ્રીઝ સાથે મેળ ખાતો હોય તે મેળ ખાતા ફાઇલનામોની યાદીમાંથી બાકાત નથી. નમૂના મૂલ્ય ".o: ~" છે.

ગ્લોબાઇનર

પાથનામને વિસ્તરણ દ્વારા અવગણવામાં આવતા ફાઇલના નામોને વ્યાખ્યાયિત કરેલા પેટર્નની કોલોન-વિભાજિત સૂચિ જો પાથનામ વિસ્તરણ પધ્ધતિ દ્વારા મેળ ખાતી ફાઇલનામ ગ્લોબ્નિયનોમાંના એક પેટર્નથી મેળ ખાય છે, તો તે મેચોની સૂચિમાંથી દૂર કરવામાં આવે છે

HISTCONTROL

જો અવગણના જગ્યાના મૂલ્ય પર નિર્ધારિત હોય , તો રેખાઓ જે અવકાશના અક્ષરથી શરૂ થાય છે તે ઇતિહાસ યાદીમાં દાખલ કરવામાં આવતી નથી. જો અવગણના કરેલુ મૂલ્ય પર સેટ હોય , તો છેલ્લી ઇતિહાસ રેખા સાથે મેળ ખાતી રેખાઓ દાખલ થતી નથી. અગોરબોથનું મૂલ્ય બે વિકલ્પોને જોડે છે. જો સેટ ન કરેલ હોય અથવા જો તે ઉપરની સરખામણીમાં કોઈ અન્ય કિંમત પર સેટ હોય, તો પાર્સર દ્વારા વાંચવામાં આવેલી તમામ લીટીઓ હિસ્ટિનેરની કિંમતને આધારે, ઇતિહાસ સૂચિ પર સાચવવામાં આવે છે. આ ચલનું કાર્ય HISTIGNORE દ્વારા રદ કરવામાં આવ્યું છે . મલ્ટિ-લાઇન કમ્પાઉન્ડ કમાન્ડની બીજી અને અનુગામી લીટીઓની ચકાસણી કરવામાં આવતી નથી, અને HISTCONTROL ની કિંમતને અનુલક્ષીને ઇતિહાસમાં ઉમેરવામાં આવે છે

હિસ્ટાઇલ

ફાઇલનું નામ કે જેમાં આદેશ ઇતિહાસ સાચવવામાં આવે છે (નીચે હિસ્ટ્રી જુઓ). ડિફૉલ્ટ મૂલ્ય ~ / .bash_history છે જો સેટ ન કરેલ હોય, તો ઇન્ટરેક્ટિવ શેલ બહાર નીકળે છે ત્યારે કમાન્ડ ઇતિહાસ સાચવવામાં આવતો નથી.

HISTFILESIZE

ઇતિહાસ ફાઇલમાં સમાયેલ મહત્તમ લીટીઓની સંખ્યા. જ્યારે આ વેરીએબલને વેલ્યુ અસાઇન કરવામાં આવે છે, ત્યારે ઇતિહાસ ફાઇલને કાપવામાં આવે છે, જો જરૂરી હોય, તો તે રેખાઓની સંખ્યા કરતા વધુ ન હોય. ડિફૉલ્ટ મૂલ્ય 500 છે. ઇન્ટરેક્ટિવ શેલમાંથી બહાર નીકળે ત્યારે તેને લખ્યા પછી ઇતિહાસ ફાઇલને આ કદમાં પણ કાપવામાં આવે છે.

હિસ્ટાઇનર

ઇતિહાસ સૂચિ પર કયા આદેશ પંક્તિઓ સાચવવા જોઈએ તે નક્કી કરવા માટે પેટર્નની એક વિરામચિહ્નથી અલગ કરેલી સૂચિ. દરેક પેટર્ન લીટીની શરૂઆતમાં લંગર કરે છે અને પૂર્ણ રેખા સાથે બંધબેસતી હોવી જોઈએ (કોઈ અનૌપચારિક ' * ' જોડાયેલ નથી). HISTCONTROL દ્વારા નિર્દિષ્ટ કરેલા ચકાસણી પછી દરેક પેટર્નની ચકાસણી કરવામાં આવે છે. સામાન્ય શેલ પેટર્ન મેચિંગ અક્ષરો ઉપરાંત, ` & 'અગાઉના ઇતિહાસ રેખા સાથે બંધબેસે છે. બેકસ્લેશનો ઉપયોગ કરીને ` & '; મેચને અજમાવવા પહેલા બેકસ્લેશને દૂર કરવામાં આવે છે. મલ્ટી-લાઈન કમ્પાઉન્ડ કમાન્ડની બીજી અને અનુગામી લીટીઓ ચકાસવામાં આવતી નથી, અને હિસ્ટિનેરની કિંમતને અનુલક્ષીને ઇતિહાસમાં ઉમેરવામાં આવે છે.

HISTSIZE

કમાન્ડ ઇતિહાસમાં યાદ રાખવા માટેની આદેશોની સંખ્યા (નીચે ઇતિહાસ જુઓ). ડિફૉલ્ટ મૂલ્ય 500 છે

હોમ

વર્તમાન વપરાશકર્તાની હોમ ડિરેક્ટરી; સીડી બિલ્ટિન આદેશ માટે મૂળભૂત દલીલ. ટીલ્ડ વિસ્તરણ કરતી વખતે આ વેરીએબલની કિંમતનો ઉપયોગ પણ થાય છે.

HOSTFILE

/ Etc / hosts તરીકે સમાન બંધારણમાં ફાઇલનું નામ સમાવે છે કે જે શેલને યજમાનનામ પૂર્ણ કરવાની જરૂર છે ત્યારે વાંચવું જોઈએ. શક્ય યજમાનનામની સમાપ્તિની યાદી બદલી શકાય છે જ્યારે શેલ ચાલી રહી હોય; આગામી સમય યજમાનનામની પૂર્ણતા કિંમત બદલાઈ જાય પછી પ્રયાસ કરે છે, bash એ નવી ફાઇલની સામગ્રી હાલની સૂચિમાં ઉમેરે છે. જો HOSTFILE સુયોજિત છે, પરંતુ કોઈ કિંમત નથી, શક્ય યજમાનનામ સમાપ્તિની યાદી મેળવવા માટે / etc / hosts વાંચવા માટે bash પ્રયત્ન કરે છે. જ્યારે હોસ્ટFILE સેટ ન થયેલ હોય, ત્યારે હોસ્ટનામ સૂચિને સાફ કરવામાં આવે છે.

આઇએફએસ

ઇન્ટરનલ ફીલ્ડ સેપરેટર જે વિસ્તરણ પછી શબ્દ વિભાજન માટે વપરાય છે અને વાંચી બિલ્ટઇન કમાન્ડ સાથે શબ્દોમાં રેખાઓ વિભાજિત કરે છે. ડિફોલ્ટ મૂલ્ય `` '' છે.

IGNOREEOF

એકમાત્ર ઇનપુટ તરીકે ઇઓએફ પાત્રની પ્રાપ્તિ પર ઇન્ટરેક્ટિવ શેલની ક્રિયાને નિયંત્રિત કરે છે. જો સેટ કરેલ હોય, તો મૂલ્ય સળંગ EOF અક્ષરોની સંખ્યા છે જે બોશ બહાર નીકળે તે પહેલાં ઇનપુટ લીટી પરનાં પ્રથમ અક્ષરો તરીકે ટાઇપ હોવું આવશ્યક છે. જો વેરીએબલ અસ્તિત્વમાં છે પરંતુ તેની પાસે આંકડાકીય મૂલ્ય નથી, અથવા મૂલ્ય નથી, તો મૂળભૂત મૂલ્ય 10 છે. જો તે અસ્તિત્વમાં નથી, તો EOF શેલમાં ઇનપુટનો અંત દર્શાવે છે.

INPUTRC

રીટલાઇન સ્ટાર્ટઅપ ફાઇલ માટે ફાઇલનામ, ~ / .inputrc નું ડિફોલ્ટ ઓવરરાઇડિંગ (નીચે READLINE જુઓ).

LANG

LC_ થી શરૂ થતી ચલ સાથે ચોક્કસ રીતે પસંદ કરેલ કોઈપણ કેટેગરી માટે લોકેલ કેટેગરી નક્કી કરવા માટે વપરાય છે

LC_ALL

આ વેરિયેબલ LANG ની કિંમત અને કોઈ અન્ય LC_ વેરિયેબલ લોરેલ કેટેગરીનો ઉલ્લેખ કરે છે.

LC_COLLATE

આ ચલ પથનામના વિસ્તરણના પરિણામોને વર્ગીકરણ કરતી વખતે ઉપયોગમાં લેવાતી કોલાટેશન ઓર્ડરને નિર્ધારિત કરે છે, અને પાથનામ વિસ્તરણ અને પેટર્ન મેચિંગમાં શ્રેણી અભિવ્યક્તિ, સમકક્ષતા વર્ગો અને કોટિંગ સિક્વન્સનું વર્તન નક્કી કરે છે.

LC_CTYPE

આ વેરિયેબલ અક્ષરોના અર્થઘટન અને પથનામના વિસ્તરણ અને પેટર્ન મેચિંગમાં અક્ષર વર્ગોનું વર્તન નક્કી કરે છે.

LC_MESSAGES

આ વેરિયેબલ $ દ્વારા પહેલાથી ડબલ ક્વોટેડ સ્ટ્રીંગ્સનું અનુવાદ કરવા માટે વપરાયેલા લોકેલને નિર્ધારિત કરે છે.

LC_NUMERIC

આ ચલ સંખ્યા ફોર્મેટિંગ માટે ઉપયોગમાં લેવાતી લોકેલ કેટેગરીને નિર્ધારિત કરે છે.

LINES

છાપાની પસંદગી યાદીઓ માટે કૉલમની લંબાઈ નક્કી કરવા માટે બિલ્ટિન આદેશ પસંદ કરવા માટે વપરાય છે. આપમેળે SIGWINCH ની રસીદ પર સેટ કરો.

મેઇલ

જો આ પરિમાણ ફાઇલ નામ પર સેટ કરેલું હોય અને MAILPATH વેરીએબલ સેટ કરેલ ન હોય તો, bash ચોક્કસ વપરાશકર્તામાં મેલના આગમનની જાણ કરે છે.

MAILCHECK

મેલ માટે કેટલી વાર તપાસ કરે છે (સેકંડમાં) તે સ્પષ્ટ કરે છે. ડિફોલ્ટ 60 સેકંડ છે. જ્યારે તે મેઇલ તપાસવાનો સમય છે, ત્યારે શેલ પ્રાથમિક પ્રોમ્પ્ટને પ્રદર્શિત કરતા પહેલા આવું કરે છે. જો આ વેરીએબલ અનસેટ છે, અથવા મૂલ્ય પર સેટ છે જે શૂન્ય નંબર કરતાં વધારે અથવા સમાન નથી, તો શેલ મેલ ચકાસણી નિષ્ક્રિય કરે છે.

મેઇલપેથ

મેલ માટે ચકાસાયેલ ફાઇલ નામોની કોલોન-વિભાજિત સૂચિ. કોઈ ચોક્કસ ફાઇલમાં જ્યારે મેઇલ આવે ત્યારે છાપવા માટેના સંદેશને '?' સાથે સંદેશામાંથી ફાઇલ નામ અલગ કરીને ઉલ્લેખિત થઈ શકે છે સંદેશના ટેક્સ્ટમાં ઉપયોગમાં લેવાતી વખતે, $ _ વર્તમાન મેઇલફાઇલના નામ સુધી વિસ્તરે છે ઉદાહરણ:

MAILPATH = '/ var / mail / bfox?' તમારી પાસે મેઇલ છે: ~ / shell-mail? "$ _ ની મેઇલ છે!" '

બાસ આ ચલ માટે ડિફૉલ્ટ મૂલ્ય પૂરું પાડે છે, પરંતુ ઉપયોગકર્તા મેલ ફાઇલોનું સ્થાન તે સિસ્ટમ આધારિત છે (દા.ત., / var / mail / $ USER ).

OPTERR

જો મૂલ્ય 1 પર સેટ કરેલું હોય, તો બાસ ગેટોપટ્સ બિલ્ડીઇન કમાન્ડ દ્વારા પેદા કરેલા ભૂલ સંદેશાઓ દર્શાવે છે (નીચે શેલ બિલ્ટિન કમાન્ડ્સ જુઓ). OPTERR એ શેલ સ્ક્રીપ્ટને અમલમાં મુકવામાં આવે છે અથવા શેલ સ્ક્રિપ્ટ એક્ઝેક્યુટ થાય છે તે દર વખતે 1 થી પ્રારંભ થાય છે.

પાથ

આદેશો માટે શોધ પથ તે ડિરેક્ટરીઓની કોલોન-વિભાજિત સૂચિ છે જેમાં શેલ આદેશો માટે જુએ છે (નીચે કમાન્ડ અમલ જુઓ) ડિફૉલ્ટ પાથ સિસ્ટમ-આધારિત છે, અને સંચાલક દ્વારા સેટ કરેલું છે જે bash ઇન્સ્ટોલ કરે છે. સામાન્ય કિંમત `` / usr / gnu / bin: / usr / local / bin: / usr / ucb: / bin: / usr / bin: ''.

POSIXLY_CORRECT

જો આ ચલ પર્યાવરણમાં હોય છે જ્યારે bash શરૂ થાય છે, શેલ સ્ટાર્ટઅપ ફાઇલો વાંચતા પહેલાં posix સ્થિતિને દાખલ કરે છે, જેમ કે --posix invocation વિકલ્પ પૂરો પાડવામાં આવ્યો હતો. જો તે શેલ ચાલી રહ્યું હોય તો સેટ કરેલ હોય તો, bash પોઝીક્સ મોડને સક્રિય કરે છે, જેમ કે આદેશ સેટ -ઓ પોઝીસનો અમલ કરવામાં આવ્યો હતો.

PROMPT_COMMAND

જો સુયોજિત હોય, તો કિંમત દરેક પ્રાથમિક પ્રોમ્પ્ટને અદા કરવા પહેલાં આદેશ તરીકે ચલાવવામાં આવે છે.

PS1

આ પરિમાણનું મૂલ્ય વિસ્તરણ કરવામાં આવ્યું છે (નીચે પ્રોમ્પ્ટીંગ જુઓ) અને પ્રાથમિક પ્રોમ્પ્ટ સ્ટ્રિંગ તરીકે ઉપયોગમાં લેવાય છે. ડિફોલ્ટ મૂલ્ય `` \ s- \ v \ $ '' છે.

PS2

આ પરિમાણની કિંમત PS1 સાથે વિસ્તૃત થઈ છે અને તેને ગૌણ પ્રોમ્પ્ટ સ્ટ્રિંગ તરીકે ઉપયોગમાં લેવાય છે. ડિફોલ્ટ `` > '' છે.

PS3

આ પરિમાણની કિંમત પસંદ આદેશ માટે પ્રોમ્પ્ટ તરીકે ઉપયોગમાં લેવાય છે (ઉપર SHELL GRAMMAR જુઓ)

PS4

આ પેરામીટરની કિંમત PS1 સાથે વિસ્તૃત થાય છે અને એક્ઝેક્યુશન ટ્રેસ દરમિયાન દરેક આદેશ bash પ્રદર્શિત થાય તે પહેલાં કિંમત છપાય છે. પી.એસ. 4 નું પહેલું પાત્ર અનિશ્ચિતતાના ઘણા સ્તરો સૂચવવા માટે, જરૂરી પ્રમાણે, ઘણી વખત નકલ કરવામાં આવે છે. ડિફોલ્ટ `` + '' છે

TIMEFORMAT

આ પરિમાણની કિંમતનો ઉપયોગ ફોર્મેટ સ્ટ્રિંગ તરીકે થાય છે જે સ્પષ્ટ કરે છે કે સમય આરક્ષિત શબ્દ સાથે પ્રિફિક્સ કરેલી પાઇપલાઇન્સ માટે સમય માહિતી કેવી રીતે પ્રદર્શિત કરવી. % અક્ષર એ એસ્કેપ સિક્વન્સનો પરિચય આપે છે કે જે સમય મૂલ્ય અથવા અન્ય માહિતીમાં વિસ્તારવામાં આવે છે. એસ્કેપ સિક્વન્સ અને તેમના અર્થ નીચે પ્રમાણે છે; કૌંસ વૈકલ્પિક ભાગો સૂચવે છે.

%%

શાબ્દિક %

% [ p ] [l] આર

સેકંડમાં વીતેલો સમય.

% [ p ] [l] યુ

વપરાશકર્તા મોડમાં ખર્ચવામાં આવતી સીપીયુ સેકંડની સંખ્યા.

% [ p ] [એલ] એસ

સિસ્ટમ મોડમાં પસાર થયેલી સીપીયુ સેકંડની સંખ્યા.

% પી

CPU ટકાવારી, (% U +% S) /% R તરીકે ગણવામાં આવે છે.

વૈકલ્પિક પૃષ્ઠચોકસાઇનો ઉલ્લેખ કરતી એક આંકડો છે, દશાંશ ચિહ્ન પછી ભૌતિક અંકોની સંખ્યા. 0 નું મૂલ્ય આઉટપુટ બનવા માટે કોઈ દશાંશ ચિહ્ન અથવા અપૂર્ણાંકનું નિર્માણ કરતું નથી. દશાંશ ચિહ્ન પછી વધુ ત્રણ સ્થાનો પર ઉલ્લેખિત થઈ શકે છે; 3 થી વધારે પૃષ્ઠના મૂલ્યો 3 થી બદલાઈ જાય છે. જો પૃષ્ઠ નિર્દિષ્ટ નથી, તો મૂલ્ય 3 ઉપયોગમાં લેવાય છે.

વૈકલ્પિક એમ , એમએમ એમ એસએસના ફોર્મની મિનિટ સહિત લાંબા ફોર્મેટને સ્પષ્ટ કરે છે. એફએફ એસ પી મૂલ્ય નક્કી કરે છે કે અપૂર્ણાંક શામેલ છે કે નહીં.

જો આ વેરીએબલ સેટ નથી કરતું, તો bash કૃત્યો કરે છે જો તેની કિંમત $ '\ nreal \ t% 3lR \ nuser \ t% 3lU \ nsys% 3lS' હોય . જો મૂલ્ય નલ છે, કોઈ સમય માહિતી પ્રદર્શિત નથી. ફોર્મેટ સ્ટ્રિંગ પ્રદર્શિત થાય છે ત્યારે એક ટ્રેઇલિંગ નવી લાઇન ઉમેરવામાં આવે છે.

TMOUT

જો શૂન્ય કરતા વધારે મૂલ્ય પર સેટ હોય તો, TMOUT ને વાંચેલ બિલ્ટિન માટે ડિફૉલ્ટ સમયસમાપ્તિ તરીકે ગણવામાં આવે છે. પસંદ કરેલ કમાન્ડ ટર્મિનેટેડ હોય છે જો ટર્મિનલમાંથી ઇનપુટ આવે છે ત્યારે ઇનપુટ TMOUT સેકંડ પછી આવતું નથી. ઇન્ટ્રેક્ટિવ શેલમાં, પ્રાથમિક પ્રોમ્પ્ટને અદા કર્યા પછી ઇનપુટ માટે રાહ જોવા માટે સેકંડની સંખ્યા તરીકે મૂલ્યનું અર્થઘટન કરવામાં આવે છે. ઇનપુટ ન પહોંચે તો સેકન્ડોમાં તે સંખ્યા માટે રાહ જોયા બાદ બાસ બંધ થાય છે.

auto_resume

આ ચલ નિયંત્રિત કરે છે કે કેવી રીતે શેલ વપરાશકર્તા અને જોબ કન્ટ્રોલ સાથે ક્રિયાપ્રતિક્રિયા કરે છે. જો આ વેરીએબલ સેટ કરેલું હોય, તો રીડિરેંક્શન્સ વગરના સિંગલ વર્ડ સરળ આદેશોને હાલની સ્ટોપ જોબની પુનઃપ્રારંભ માટેના ઉમેદવારો તરીકે ગણવામાં આવે છે. ત્યાં કોઈ અનિશ્ચિતતા મંજૂરી નથી; જો ટાઇપ કરેલ શબ્દમાળાથી એક કરતાં વધુ નોકરી શરૂ થઈ હોય તો સૌથી વધુ તાજેતરમાં જ વાપરવામાં આવતી નોકરી પસંદ થયેલ છે. બંધ થતી નોકરીનું નામ , આ સંદર્ભમાં, તે શરૂ કરવા માટે ઉપયોગમાં લેવાતી આદેશ વાક્ય છે. જો મૂલ્ય પર ચોક્કસ સેટ હોય, તો પૂરી પાડવામાં આવેલ શબ્દ બરાબર બંધ થયેલ નોકરીના નામથી મેળ ખાતો હોવો જોઈએ; જો સબસ્ટ્રિંગ પર સુયોજિત હોય, તો સ્ટોપ પૂરી પાડવામાં આવતી જરૂરિયાતોને રોકીને નોકરીના નામની પેટાકંપની સાથે મેળ ખાતી હોય છે. સબસ્ટ્રીંગ વેલ્યુ % જેટલી વિધેય પૂરી પાડે છે ? જોબ ઓળખકર્તા (નીચે જોબ નિયંત્રણ જુઓ) જો કોઈ અન્ય મૂલ્ય પર સેટ હોય, તો આપેલી સ્ટ્રિંગ બંધ કરેલ નોકરીના નામનો ઉપસર્ગ હોવો જોઈએ; આ % નોકરી ઓળખકર્તાને સમાન કામગીરી પૂરી પાડે છે.

હિસ્તારો

બે અથવા ત્રણ અક્ષરો જે ઇતિહાસના વિસ્તરણ અને ટોકનિઝેશનને નિયંત્રિત કરે છે (નીચે ઇતિહાસ પ્રકાશન જુઓ) પ્રથમ અક્ષર એ ઇતિહાસ વિસ્તરણ પાત્ર છે, જે અક્ષરનો ઇતિહાસ વિસ્તરણની શરૂઆતનો સંકેત આપે છે, સામાન્ય રીતે ` ! '. બીજો અક્ષર એ ઝડપી અવેજીકરણ પાત્ર છે, જેનો આદેશ પાછલો આદેશ ફરીથી ચલાવવા માટે લહેરાઉંથ તરીકે ઉપયોગમાં લેવાય છે, અને આદેશમાં બીજા માટે એક શબ્દનો ઉપયોગ કરે છે. ડિફોલ્ટ ` ^ 'છે વૈકલ્પિક તૃતીય અક્ષર પાત્ર છે જે સૂચવે છે કે વાક્યની બાકીની એક ટિપ્પણી છે જ્યારે શબ્દના પ્રથમ અક્ષર તરીકે જોવા મળે છે, સામાન્ય રીતે ` # '. ઇતિહાસ ટિપ્પણી પાત્ર લીટી પરના બાકી શબ્દો માટે ઇતિહાસના સ્થાનાંતરણને છોડવા માટેનું કારણ બને છે. તે આવશ્યકપણે શેલ પાર્સરને લીટીની બાકીની ટિપ્પણીને ટિપ્પણી તરીકે કારણ આપતું નથી.

એરેઝ

બાસ એક પરિમાણીય એરે ચલો પૂરી પાડે છે. કોઈપણ વેરિયેબલને એરે તરીકે ઉપયોગમાં લઇ શકાય છે; જાહેર કરેલા બિલ્ટિન સ્પષ્ટપણે એક એરે જાહેર કરશે. એરેના કદ પર મહત્તમ મર્યાદા નથી, ન તો કોઇ જરૂરિયાત કે સભ્યોને અનુક્રમિત અથવા અસાધારણ રીતે સોંપવામાં આવે છે. એરેસ પૂર્ણાંકનો ઉપયોગ કરીને અનુક્રમિત થાય છે અને શૂન્ય આધારિત છે.

કોઈ એરે સિન્ટેક્સ નામ [ સબસ્ક્રિપ્ટ ] = મૂલ્યનો ઉપયોગ કરવા માટે અસાઇન કરવામાં આવે છે તો આપમેળે બનાવવામાં આવે છે. સબસ્ક્રીપ્ટને અંકગણિત અભિવ્યક્તિ તરીકે ગણવામાં આવે છે જેનો આંકડો શૂન્ય કરતા વધારે અથવા તેના બરાબર મૂલ્યાંકન કરે છે. સ્પષ્ટપણે એક એરે જાહેર કરો, declare -a નામનો ઉપયોગ કરો (નીચે શેલ બિલ્ટિન કમાન્ડ્સ જુઓ). જાહેર કરો - એક નામ [ સબસ્ક્રિપ્ટ ] પણ સ્વીકારવામાં આવે છે; સબસ્ક્રિપ્ટ અવગણવામાં આવે છે. ડિલર અને રીડનેલી બિલ્ડિન્સનો ઉપયોગ કરીને એરે વેરિયેબલ માટે વિશિષ્ટતાઓ નિર્દિષ્ટ કરી શકાય છે. દરેક લક્ષણ એરેના તમામ સભ્યોને લાગુ પડે છે.

એરેને ફોર્મ નામ = ( મૂલ્ય 1 ... મૂલ્ય n ) ની સંયોજન સોંપણીઓનો ઉપયોગ કરવા માટે સોંપવામાં આવે છે, જ્યાં દરેક મૂલ્ય ફોર્મ [ સબસ્ક્રિપ્ટ ] = શબ્દમાળા છે . ફક્ત શબ્દમાળા જરૂરી છે. જો વૈકલ્પિક કૌંસ અને સબસ્ક્રીપ્ટ આપવામાં આવે, તો ઇન્ડેક્સને સોંપવામાં આવે છે; અન્યથા એલિમેન્ટની ઇન્ડેક્સ સ્ટેટમેન્ટ વત્તા વન દ્વારા સોંપેલ છેલ્લો ઇન્ડેક્સ છે. અનુક્રમણિકા શૂન્ય પર શરૂ થાય છે. આ વાક્યરચના એ ઘોષણા બિલ્ટિન દ્વારા પણ સ્વીકારવામાં આવે છે. વ્યક્તિગત ઍરે તત્વોને ઉપરોક્ત રજૂ કરવામાં આવેલ નામ [ સબસ્ક્રિપ્ટ ] = મૂલ્ય વાક્યરચનાનો ઉપયોગ કરવા માટે અસાઇન થઈ શકે છે.

અનસેટ બિલ્ટિનનો ઉપયોગ એરેને નાશ કરવા માટે થાય છે. નામ અનસેટ કરો [ સબસ્ક્રિપ્ટ ] અનુક્રમણિકા સબસ્ક્રીપ્ટ પર એરે તત્વને નાશ કરે છે. નામ અનસેટ કરો , જ્યાં નામ એરે છે, અથવા નામનું નામ [ સબસ્ક્રિપ્ટ ] છે, જ્યાં સબસ્ક્રીપ્ટ * અથવા @ છે , તે સમગ્ર એરેને દૂર કરે છે.

જાહેરાત , સ્થાનિક અને ફક્ત વાંચવા માટેના બિલ્ટિન્સ, એરેને સ્પષ્ટ કરવા માટે -a વિકલ્પને સ્વીકારે છે. પ્રમાણભૂત ઇનપુટમાંથી એક એરે સુધી વાંચેલા શબ્દોની સૂચિને અસાઇન કરવા માટે, વાંચેલ બિલ્ટિન એ -a વિકલ્પ સ્વીકારે છે. સમૂહ અને બિલ્ડિન્સ એરે મૂલ્યોને એવી રીતે પ્રદર્શિત કરે છે જે તેમને અસાઇનમેન્ટ તરીકે ફરી ઉપયોગમાં લેવાની મંજૂરી આપે છે.

વિસ્તરણ

વિસ્તરણ શબ્દોમાં વિભાજિત કરવામાં આવે તે પછી આદેશ વાક્ય પર કરવામાં આવે છે. બ્રાસ વિસ્તરણ , ટિલ્ડ વિસ્તરણ , પરિમાણ અને ચલ વિસ્તરણ , આદેશ સ્થાનાંતરણ , અંકગણિત વિસ્તરણ , શબ્દ સ્પ્લિટિંગ , અને પાથનામા વિસ્તરણ : ત્યાં સાત પ્રકારની વિસ્તરણ કરવામાં આવે છે.

વિસ્તરણનો ક્રમ છે: તાણ વિસ્તરણ, ટિલ્ડ વિસ્તરણ, પરિમાણ, ચલ અને અંકગણિત વિસ્તરણ અને આદેશની અવેજી (ડાબા-થી-જમણા ફેશનમાં પૂર્ણ), શબ્દ સ્પ્લિટિંગ, અને પાથનામા વિસ્તરણ.

સિસ્ટમો કે જે તેને આધાર આપી શકે છે, ત્યાં એક વધારાના વિસ્તરણ ઉપલબ્ધ છે: પ્રક્રિયા અવેજી .

બ્રેસ્સ વિસ્તરણ

બ્રેસ વિસ્તરણ એક પદ્ધતિ છે જેના દ્વારા મનસ્વી શબ્દમાળાઓ પેદા થઈ શકે છે. આ પદ્ધતિ પથનામના વિસ્તરણ જેવું જ છે, પરંતુ અસ્તિત્વમાં રહેલા ફાઇલનામ અસ્તિત્વમાં નથી. તાણ વધારી શકાય તેટલા વિકલ્પો વૈકલ્પિક પ્રસ્તાવના સ્વરૂપમાં લઇ જાય છે, ત્યારબાદ કૌંસ-વિભાજિત શબ્દોની શ્રેણીબદ્ધ બ્રેસની જોડી વચ્ચે, વૈકલ્પિક પોસ્ટસ્ક્રિપ્ટ દ્વારા અનુસરવામાં આવે છે. આ પ્રસ્તાવના એ કૌંસમાં સમાયેલ દરેક સ્ટ્રિંગ માટે પ્રિફિક્સ કરેલું છે, અને પોસ્ટસ્ક્રિપ્ટ પછી દરેક પરિણામી શબ્દમાળાને જોડવામાં આવે છે, જે ડાબેથી જમણે વિસ્તરે છે.

બ્રેસ વિસ્તરણ નેસ્ટ થઈ શકે છે. દરેક વિસ્તારેલી સ્ટ્રિંગના પરિણામો સૉર્ટ કરેલ નથી; જમણે હુકમથી બચેલું છે. ઉદાહરણ તરીકે, { d, c, b } અને 'એડેઈ એસે અબી' માં વિસ્તરે છે.

કૌંસનું વિસ્તરણ કોઈપણ અન્ય વિસ્તરણ પહેલાં કરવામાં આવે છે, અને અન્ય વિસ્તરણ માટેના કોઈપણ અક્ષરો પરિણામમાં સાચવેલ છે. તે કડક લખાણ છે. બાસ વિસ્તરણનાં સંદર્ભમાં અથવા કૌંસ વચ્ચેનો ટેક્સ્ટ કોઈપણ વાક્યરચનાના અર્થઘટનને લાગુ કરતું નથી.

આ નિર્માણ ખાસ કરીને લઘુલિપિ તરીકે ઉપયોગમાં લેવાય છે જ્યારે શબ્દમાળાઓનો સામાન્ય ઉપસર્ગ ઉત્પન્ન થતો હોવો તે ઉપરના ઉદાહરણની તુલનામાં લાંબું છે:

mkdir / usr / local / src / bash / {જૂની, નવો, ડિસ્ટ, બગ્સ}

અથવા

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

બ્રેડ વિસ્તરણ SH ની ઐતિહાસિક આવૃત્તિઓ સાથે થોડો અસંગતતાનો પરિચય આપે છે. sh ઉઘાડી અથવા બંધ કૌંસને ખાસ કરીને જ્યારે તે કોઈ શબ્દના ભાગ રૂપે દેખાય છે અને તેને આઉટપુટમાં સાચવતો નથી. બાસ તાણના વિસ્તરણના પરિણામે શબ્દોથી કૌંસ દૂર કરે છે. ઉદાહરણ તરીકે, ફાઈલ {1,2} તરીકે sh માં દાખલ કરેલ શબ્દ આઉટપુટમાં સમાન રીતે દેખાય છે. આ જ શબ્દ બૅશ દ્વારા વિસ્તરણ પછી file1 file2 તરીકે આઉટપુટ છે. જો SH સાથે કડક સુસંગતતા ઇચ્છિત હોય તો, + B વિકલ્પ સાથે પ્રારંભ કરો અથવા સેટ કમાન્ડમાં + B વિકલ્પ સાથે તાણના વિસ્તરણને અક્ષમ કરો (નીચે શેલ બિલ્ટિન કમાન્ડ્સ જુઓ).

ટિલ્ડ વિસ્તરણ

જો કોઈ શબ્દ અવક્ષયિત ટિલ્ડે અક્ષર (` ~ ') સાથે શરૂ થાય છે, તો પ્રથમ ન જોડાયેલી સ્લેશ (અથવા બધા અક્ષરો, જો કોઈ અવતરણ ન હોય તેવા સ્લેશ હોય તો) પહેલાના તમામ અક્ષરોને ટિલ્ડ-પ્રીફિક્સ ગણવામાં આવે છે. જો ટિલ્ડ-પ્રીફિક્સમાંના કોઈ પણ અક્ષરને ટાંકવામાં ન આવે, તો ટિલ્ડને અનુસરીને ટિલ્ડ-પ્રીફિક્સમાંના અક્ષરો સંભવિત લૉગિન નામ તરીકે ગણવામાં આવે છે. જો આ લૉગિન નામ એ નલ સ્ટ્રિંગ છે, તો ટીલ્ડને શેલ પરિમાણ HOME ની કિંમત સાથે બદલવામાં આવે છે. જો HOME અનસેટ છે, તો શેલ એક્ઝિક્યુટ કરવાના વપરાશકર્તાની હોમ ડિરેક્ટર તેના બદલે અવેજી છે. અન્યથા, ટિલ્ડ-પ્રીફિક્સ એ ચોક્કસ લૉગિન નામ સાથે સંકળાયેલ ઘર ડિરેક્ટરી સાથે બદલવામાં આવે છે.

જો ટિલ્ડ-પ્રીફિક્સ `~ + 'હોય, તો શેલ ચલ PWD ની કિંમત ટિલ્ડ-પ્રીફિક્સને બદલે છે જો ટિલ્ડ-પ્રીફિક્સ `~ - 'હોય, તો શેલ ચલ OLDPWD નું મૂલ્ય, જો તે સેટ કરેલું હોય, તો તે સ્થાનાંતરિત છે. જો ટિલ્ડ-પ્રીફિક્સમાં ટિલ્ડને અનુસરતા અક્ષરો સંખ્યા N નો સમાવેશ કરે છે, વૈકલ્પિક રીતે `+ 'અથવા' - 'દ્વારા પ્રિફિક્સ કરેલું હોય, તો ટિલ્ડ-પ્રીફિક્સ ડિરેક્ટર સ્ટેકથી સંબંધિત ઘટક સાથે બદલાઈ જાય છે, કારણ કે તે પ્રદર્શિત થશે એક દલીલ તરીકે ટિલ્ડે-પ્રીફિક્સ સાથે જોડાયેલ ડર્સ બિલ્ટિન દ્વારા. જો ટિલ્ડ-પ્રીફિક્સમાં ટિલ્ડને અનુસરતા અક્ષરો અગ્રણી `+ 'અથવા` -' વગર નંબર ધરાવે છે, તો `+ 'ધારવામાં આવે છે.

જો લૉગિન નામ અમાન્ય છે, અથવા ટિલ્ડ વિસ્તરણ નિષ્ફળ જાય છે, તો શબ્દ બદલાયો નથી.

દરેક વેરિયેબલ અસાઇન્મેન્ટ, અવતરણ ટિલ્ડ-પ્રીફિક્સિસ માટે તરત જ ચકાસાયેલ છે : અથવા = . આ કિસ્સાઓમાં, ટિલ્ડ વિસ્તરણ પણ કરવામાં આવે છે. પરિણામે, કોઈ પણ ફાઈલ નામોને પીએટીએચ , મેઈલપેટ , અને સીડીપીએટીએચમાં સોંપણીમાં ટીલ્ડ્સ સાથે ઉપયોગ કરી શકે છે, અને શેલ વિસ્તૃત મૂલ્યને સોંપે છે.

પેરામીટર વિસ્તરણ

` $ 'અક્ષર પરિમાણ વિસ્તરણ, આદેશ અવેજીકરણ અથવા અંકગણિત વિસ્તરણ રજૂ કરે છે. પેરામીટર નામ અથવા પ્રતીકને વિસ્તૃત કરવા માટે કૌંસમાં બંધ કરવામાં આવી શકે છે, જે વૈકલ્પિક છે પણ તે પછીના પાત્રોમાંથી વિસ્તૃત કરવા માટે વેરિયેબલને રક્ષણ આપવાનું કામ કરે છે જે નામના ભાગ તરીકે અર્થઘટન કરી શકાય છે.

જ્યારે કૌંસનો ઉપયોગ કરવામાં આવે છે, ત્યારે બંધબેસતા અંત તાણવું એ સૌપ્રથમ ` } 'છે જે બૅકસ્લેશ દ્વારા અથવા ટાંકવામાં આવેલ શબ્દમાળામાં બચી શક્યું નથી, અને તે કોઈ એમ્બેડ કરેલા અંકગણિત વિસ્તરણ, આદેશની અવેજીમાં અથવા પેરામીટર વિસ્તરણમાં નથી.

પરિમાણ મૂલ્ય અવેજી છે. પરિમાણ એક કરતાં વધુ અંક સાથે સ્થાયી પરિમાણ છે ત્યારે કૌંસ જરૂરી છે, અથવા જ્યારે પરિમાણ એક અક્ષર દ્વારા અનુસરવામાં આવે છે કે જે તેનું નામના ભાગરૂપે અર્થઘટન કરતું નથી.

નીચેના દરેક કેસમાં, શબ્દ ટિલ્ડ વિસ્તરણ, પરિમાણ વિસ્તરણ, આદેશ સ્થાનાંતરણ અને અંકગણિત વિસ્તરણને આધીન છે. જ્યારે સબસ્ટ્રિંગ વિસ્તરણ ન કરતું હોય ત્યારે, અનસેટ અથવા નલ હોય તેવા પેરામીટર માટે બેશ પરીક્ષણો; કોલન પરિણામોને માત્ર એક પેરામીટર માટે પરીક્ષણમાં છોડીને જે અનસેટ છે.

ડિફૉલ્ટ મૂલ્યોનો ઉપયોગ કરો જો પેરામીટર અનસેટ અથવા નલ હોય, તો શબ્દનો વિસ્તરણ બદલાય છે. નહિંતર, પરિમાણ મૂલ્ય અવેજી છે.

ડિફૉલ્ટ મૂલ્યોને અસાઇન કરો જો પરિમાણ અનસેટ અથવા નલ હોય, તો શબ્દનો વિસ્તરણ પેરામીટરને સોંપવામાં આવે છે . પેરામીટરનું મૂલ્ય ત્યારબાદ બદલવામાં આવે છે. સ્થાનાંતર પરિમાણો અને વિશિષ્ટ પરિમાણોને આ રીતે સોંપી શકાશે નહીં.

નલ અથવા અનસેટ જો દર્શાવો ભૂલ . જો પરિમાણ નલ અથવા અનસેટ છે, તો શબ્દનો વિસ્તરણ (અથવા જો શબ્દ હાજર ન હોય તો તે સંદેશનો સંદેશ) પ્રમાણભૂત ભૂલ અને શેલ પર લખાય છે, જો તે ઇન્ટરેક્ટિવ નથી, તો બહાર નીકળે છે. નહિંતર, પરિમાણ મૂલ્ય અવેજી છે.

વૈકલ્પિક મૂલ્યનો ઉપયોગ કરો . જો પરિમાણ નલ અથવા અનસેટ છે, તો કંઇ બદલાયું નથી, નહીં તો શબ્દનો વિસ્તૃત સ્થાનારો છે.

ચલોના નામોને વિસ્તૃત કરો જેમના નામો ઉપસર્ગથી શરૂ થાય છે, IFS વિશિષ્ટ ચલના પ્રથમ અક્ષર દ્વારા અલગ.

પરિમાણના મૂલ્યના અક્ષરોની લંબાઈ અવેજીમાં છે. જો પરિમાણ * અથવા @ હોય , તો બદલાયેલ મૂલ્ય સ્થાનિક પરિમાણોની સંખ્યા છે. જો પરિમાણ એક એરે નામ * અથવા @ દ્વારા સબસ્ક્રીપ્ટ હોય, તો અવેજીમાં મૂલ્ય એરેમાં ઘટકોની સંખ્યા છે.

પાથનામ વિસ્તરણની જેમ જ પેટર્ન બનાવવા માટે શબ્દ વિસ્તર્યો છે. જો પેટર્ન પેરામીટરના મૂલ્યની શરૂઆત સાથે મેળ ખાય છે, તો પછી વિસ્તરણનું પરિણામ એ ટૂંકી બંધબેસતી પેટર્ન (`` # '' કેસ) અથવા સૌથી લાંબો બંધબેસતી પેટર્ન (`` ## ' 'કેસ) કાઢી નાખ્યો જો પેરામીટર @ અથવા * હોય , તો પેટર્ન દૂર કરવાની કામગીરી દરેક સ્થિતિકીય પરિમાણોને બદલામાં લાગુ પડે છે, અને વિસ્તરણ પરિણામ યાદી છે. જો પરિમાણ A અથવા વેરિયેબલ @ અથવા * સાથે સબસ્ક્રીપ્ટેડ છે, તો પેટર્ન દૂર કરવાની કામગીરી એરેના દરેક સભ્યને બદલામાં લાગુ કરવામાં આવે છે, અને વિસ્તરણ પરિણામ યાદી છે.

પાથનામ વિસ્તરણની જેમ જ પેટર્ન બનાવવા માટે શબ્દ વિસ્તર્યો છે. જો પેટર્ન પેરામીટરના વિસ્તૃત મૂલ્યના પાછળના ભાગ સાથે મેળ ખાય છે, તો પછી વિસ્તરણનું પરિણામ એ ટૂંકી બંધબેસતી પેટર્ન (`` % '' કેસ) અથવા સૌથી લાંબો બંધબેસતી પેટર્ન (`` % % '' કેસ) કાઢી નાખ્યો જો પેરામીટર @ અથવા * હોય , તો પેટર્ન દૂર કરવાની કામગીરી દરેક સ્થિતિકીય પરિમાણોને બદલામાં લાગુ પડે છે, અને વિસ્તરણ પરિણામ યાદી છે. જો પરિમાણ A અથવા વેરિયેબલ @ અથવા * સાથે સબસ્ક્રીપ્ટેડ છે, તો પેટર્ન દૂર કરવાની કામગીરી એરેના દરેક સભ્યને બદલામાં લાગુ કરવામાં આવે છે, અને વિસ્તરણ પરિણામ યાદી છે.

પાથનામ વિસ્તરણની જેમ પેટર્નનું નિર્માણ કરવા માટે પેટર્ન વિસ્તૃત છે. પેરામીટર વિસ્તરણ કરવામાં આવે છે અને તેના મૂલ્યની વિરુદ્ધ પેટર્નનું સૌથી લાંબી મેચ બદલાયેલ છે. પ્રથમ સ્વરૂપમાં, ફક્ત પ્રથમ મેચ બદલવામાં આવે છે. બીજું ફોર્મ શબ્દમાળા સાથે બદલી શકાય તેવી પેટર્નના તમામ મેળ ખાતો બનાવે છે. જો પેટર્ન # થી શરૂ થાય છે, તો તે પેરામીટરના વિસ્તૃત મૂલ્યની શરૂઆતમાં મેચ થવો જોઈએ. જો પેટર્ન % થી શરૂ થાય છે, તો તે પેરામીટરના વિસ્તૃત મૂલ્યના અંતે મેળ ખાતું હોવું જોઈએ. જો શબ્દમાળા નલ હોય તો, પેટર્નની મેચો કાઢી નાખવામાં આવે છે અને / નીચેની પેટર્ન અવગણી શકાય છે. જો પેરામીટર @ અથવા * હોય , તો સ્થાનાંતર પ્રક્રિયા દરેક સ્થાનાંતર પરિમાણોને બદલામાં લાગુ કરવામાં આવે છે, અને વિસ્તરણ પરિણામ યાદી છે. જો પરિમાણ એરે અથવા @ સાથે સબસ્ક્રીપ્ટ કરેલ એરે વેરીએબલ છે, તો અવેજીની ક્રિયા એરેના દરેક સભ્યને બદલામાં લાગુ કરવામાં આવે છે, અને વિસ્તરણ પરિણામ યાદી છે.

આદેશ અવેજીકરણ

કમાન્ડ રિપ્લેસમેન્ટ આદેશના નામને બદલવા માટે આદેશના આઉટપુટને પરવાનગી આપે છે. બે સ્વરૂપો છે:

$ ( કમાન્ડ )

અથવા

` આદેશ`

બાસ આદેશ ચલાવીને અને કમાન્ડનું પ્રમાણભૂત આઉટપુટ બદલીને આદેશના પ્રમાણભૂત આઉટપુટને બદલીને વિસ્તરણ કરે છે, કોઈપણ પાછળના નવી લાઇનો કાઢી નાખવામાં સાથે. જડિત નવી લાઇન કાઢી નાંખવામાં આવી નથી, પરંતુ શબ્દ સ્પ્લિટિંગ દરમિયાન તેને દૂર કરી શકાય છે. આદેશ અવેજી $ (બિલાડી ફાઇલ ) ને સમકક્ષ પરંતુ ઝડપી $ (< ફાઇલ ) દ્વારા બદલી શકાય છે.

જયારે જૂના-શૈલીના બેકક્વોટ ફોર્મનો ઉપયોગ કરવામાં આવે છે ત્યારે બેકસ્લેશ $ , ` , અથવા \ ' દ્વારા અનુસરતા તેના શાબ્દિક અર્થને જાળવી રાખે છે. બેકસ્લેશ દ્વારા આગળની બેકક્વોટ ન હોય તે પછી આદેશ સ્થાનાંતરણને સમાપ્ત કરે છે. $ ( કમાન્ડ ) ફોર્મનો ઉપયોગ કરતી વખતે, કૌંસ વચ્ચેના બધા અક્ષરો આદેશ બનાવે છે; કંઈ વિશેષરૂપે વ્યવહાર નથી.

આદેશની ફેરબદલને નેસ્ટ કરી શકાય છે. બેકક્વોટ કરેલા ફોર્મનો ઉપયોગ કરતી વખતે માળામાં, બેકસ્લેશ્સ સાથેના આંતરિક બેકક્વોટ્સથી છટકી.

જો સ્થાનાંતરણ બેવડા અવતરણમાં દેખાય છે, શબ્દ વિભાજન અને પાથનામને વિસ્તરણ પરિણામો પર કરવામાં આવતી નથી.

અંકગણિત વિસ્તરણ

અંકગણિત વિસ્તરણ એ અંકગણિત અભિવ્યક્તિનું મૂલ્યાંકન અને પરિણામના સ્થાનાંતરણને મંજૂરી આપે છે. અંકગણિત વિસ્તરણ માટેનો ફોર્મેટ છે:

$ (( અભિવ્યક્તિ ))

અભિવ્યક્તિને માનવામાં આવે છે જો તે બેવડા અવતરણમાં હોય, પરંતુ કૌંસની અંદર એક ડબલ અવતરણ ખાસ રીતે કરવામાં આવતું નથી. અભિવ્યક્તિમાં બધા ટોકન્સ પરિમાણો વિસ્તરણ, સ્ટ્રિંગ વિસ્તરણ, આદેશ સ્થાનાંતરણ, અને ક્વોટ નિરાકરણ પસાર કરે છે. એરિથમેટિક અવેજીકરણ નેસ્ટ થઈ શકે છે.

મૂલ્યાંકન એરેથમિક મૂલ્યાંકન હેઠળ નીચે સૂચિબદ્ધ નિયમો અનુસાર કરવામાં આવે છે . જો અભિવ્યક્તિ અમાન્ય છે, તો bash એ નિષ્ફળતાનો સંકેત આપતો મેસેજ છાપે છે અને કોઈ ફેરબદલ થાય નહીં.

પ્રક્રિયા અવેજીકરણ

ઓપરેલી ફાઇલોને નામ આપવા માટેની નામવાળી પાઇપ્સ ( ફિફા ) અથવા / dev / fd પદ્ધતિને સપોર્ટ કરતી સિસ્ટમો પર પ્રક્રિયા અસ્થાયિત્વને સપોર્ટેડ છે. તે <( સૂચિ ) અથવા > ( સૂચિ ) નું સ્વરૂપ લે છે. પ્રોસેસ સૂચિ એફઆઈએફઓ સાથે જોડાયેલ તેના ઇનપુટ અથવા આઉટપુટ સાથે ચાલે છે અથવા / dev / fd માં અમુક ફાઇલ. આ ફાઇલનું નામ વિસ્તરણના પરિણામે વર્તમાન આદેશમાં દલીલ તરીકે પસાર થયું છે. જો > ( સૂચિ ) ફોર્મનો ઉપયોગ થાય છે, તો ફાઇલમાં લખવાથી યાદી માટે ઇનપુટ આપવામાં આવશે. જો <( યાદી ) ફોર્મનો ઉપયોગ થાય છે, તો યાદીના આઉટપુટને મેળવવા માટે દલીલ તરીકે પસાર થયેલી ફાઈલ વાંચવા જોઇએ.

જ્યારે ઉપલબ્ધ હોય ત્યારે, પરિમાણ અને ચલ વિસ્તરણ, આદેશ સ્થાનાંતરણ, અને અંકગણિત વિસ્તરણ સાથે એકસાથે પ્રક્રિયાની પ્રતિસ્થાપન કરવામાં આવે છે.

શબ્દ સ્પ્લિટિંગ

શેલ પેરામીટર વિસ્તરણ, કમાન્ડ રિપ્લેશન અને એરિથમેટિક વિસ્તરણના પરિણામોને સ્કેન કરે છે જે શબ્દ વિભાજન માટે ડબલ અવતરણમાં થતી નથી.

શેલ એક અક્ષર તરીકે આઇએફએસ ( IFS)) ના દરેક પાત્રને વર્તે છે, અને અન્ય વર્ણનોના પરિણામોને આ અક્ષરો પરના શબ્દોમાં વિભાજિત કરે છે. જો IFS અનસેટ છે, અથવા તેની કિંમત બરાબર છે , મૂળભૂત, તો પછી IFS અક્ષરો કોઈપણ ક્રમ શબ્દો delimit માટે સેવા આપે છે. જો IFS પાસે મૂળભૂત કરતાં અન્ય કિંમત હોય, તો પછી સફેદજગ્યાના અક્ષરોની જગ્યા અને ટેબ શબ્દના શરૂઆત અને અંતે અવગણવામાં આવે છે, જ્યાં સુધી સફેદજગ્યાના અક્ષર IFS ( IFS વ્યુસસેસ અક્ષર) ની કિંમતમાં હોય. આઇએફએસ ( IFS) વ્હાઇટસ્પેસ ન હોવાના કોઈપણ અક્ષરમાં, કોઈપણ અડીને આવેલા આઇએફએસ (IFS) વ્હાઇટસ્પેસ અક્ષરો સાથેના કોઈ પણ અક્ષર, ક્ષેત્રને સીમાંક કરે છે. આઇએફએસ ( IFS) વ્હાઇટસ્પેસ અક્ષરોનો ક્રમ પણ સીમાચિહ્ન તરીકે ગણવામાં આવે છે. જો IFS ના મૂલ્ય નલ હોય, તો કોઈ શબ્દ સ્પ્લિટિંગ થાય નહીં.

સ્પષ્ટ નલ દલીલો ( "" અથવા "' ) જાળવી રાખવામાં આવે છે. અનક્વેટ થયેલ ગર્ભિત નલ દલીલો, જે કોઈ મૂલ્ય ધરાવતી પરિમાણોના વિસ્તરણથી પરિણમે છે, દૂર કરવામાં આવે છે. જો કોઈ વેલ્યુ સાથેનો પરિમાણ બે અવતરણચિહ્નોમાં વિસ્તરેલું છે, નલ દલીલ પરિણામો અને જાળવી રાખવામાં આવે છે.

નોંધ કરો કે જો કોઈ વિસ્તરણ થતું નથી, તો કોઈ વિભાજન કરવામાં આવતું નથી.

પાથનામા વિસ્તરણ

શબ્દ વિભાજન પછી, જ્યાં સુધી -f વિકલ્પ સેટ કરવામાં ન આવે ત્યાં સુધી, bash અક્ષરો * , માટે દરેક શબ્દ સ્કેન કરે છે ? , અને [ . જો આમાંથી કોઈ અક્ષરો દેખાય છે, તો શબ્દને પેટર્ન તરીકે ગણવામાં આવે છે, અને પેટર્નથી મેળ ખાતા ફાઇલના નામોની મૂળાક્ષરે ક્રમમાં ગોઠવેલ સૂચિ સાથે બદલવામાં આવે છે. જો કોઈ બંધબેસતી ફાઇલ નામો મળ્યાં નથી, અને શેલ વિકલ્પ nullglob અક્ષમ છે, તો શબ્દ બદલાયેલ નથી. જો nullglob વિકલ્પ સુયોજિત છે, અને કોઈ મેળ મળ્યાં નથી, શબ્દ દૂર કરવામાં આવે છે. જો શેલ વિકલ્પ nocaseglob સક્રિય કરેલ હોય, તો મેચ આલ્ફાબેટીક અક્ષરોના કિસ્સામાં ધ્યાનમાં લીધા વગર કરવામાં આવે છે. પાથનામને વિસ્તરણ માટે પેટર્નનો ઉપયોગ કરવામાં આવે ત્યારે, નામની શરૂઆતમાં અક્ષર ``. '' અથવા તરત જ સ્લેશને અનુસરીને સ્પષ્ટ રીતે મેળ ખાતું હોવું જોઈએ, જ્યાં સુધી શેલ વિકલ્પ dotglob સેટ ન હોય. પાથનામને મળતી વખતે, સ્લેશ અક્ષર હંમેશા સ્પષ્ટ રીતે મેળ ખાતો હોવો જોઈએ. અન્ય કિસ્સાઓમાં, ``. '' પાત્રને ખાસ રીતે ગણવામાં આવતો નથી. Nocaseglob , nullglob અને dotglob શેલ વિકલ્પોના વર્ણન માટે શેલ્લ બિલ્ટિન કમાન્ડ્સ હેઠળ નીચે shopt ના વર્ણન જુઓ.

ગ્લોબિનિયર શૅલ ચલનો ઉપયોગ પેટર્નથી મેળ ખાતા ફાઇલના નામોને નિયંત્રિત કરવા માટે થઈ શકે છે. જો GLOBIGNORE સેટ કરેલું હોય, તો દરેક મેળ ખાતી ફાઇલ નામ, જે GLOBIGNOUT માં કોઈ એક પેટર્ન સાથે મેળ ખાય છે તે મેચોની સૂચિમાંથી દૂર કરવામાં આવે છે ફાઇલ નામો ``. '' અને `` .. '' હંમેશાં અવગણવામાં આવે છે, ભલે ગ્લોબિયનોર સેટ હોય. જો કે, GLOBIGNOU સેટ કરવાથી dotglob શેલ વિકલ્પ સક્રિય કરવાની અસર હોય છે, તેથી ``. '' થી શરૂ થતાં અન્ય તમામ ફાઇલ નામો મેચ કરશે. ``. '' થી શરૂ થતાં ફાઇલ નામોને અવગણવાની જૂની વર્તણૂક મેળવવા માટે, '`. *' ' ગ્લોબિનિયરે એક પેટર્ન બનાવો . GLOBIGNORE અનસેટ થવા પર dotglob વિકલ્પ અક્ષમ કરેલ છે.

પેટર્ન મેચિંગ

કોઈપણ પાત્ર, જે પેટર્નમાં દેખાય છે, નીચે વર્ણવેલ વિશિષ્ટ પેટર્ન અક્ષરો સિવાય, પોતે મેળ ખાય છે NUL પાત્ર પેટર્નમાં ન આવી શકે. વિશિષ્ટ પેટર્ન અક્ષરો જો તેઓ શાબ્દિક મેળ ખાતા હોય

વિશિષ્ટ પેટર્ન અક્ષરોમાં નીચેના અર્થો છે:

*

નલ સ્ટ્રિંગ સહિત કોઈપણ સ્ટ્રિંગ સાથે મેળ ખાય છે.

?

કોઈપણ અક્ષર સાથે મેળ ખાય છે

[...]

બંધાયેલ અક્ષરો પૈકી કોઇ એક સાથે મેળ ખાય છે. હાયફન દ્વારા અલગ પામેલા અક્ષરોની જોડી શ્રેણી અભિવ્યક્તિને સૂચવે છે; વર્તમાન અક્ષરની સંકુચિત અનુક્રમ અને અક્ષર સેટનો ઉપયોગ કરીને તે બે અક્ષરો વચ્ચે સંકળાયેલો કોઈ પણ અક્ષર, તે મેળ ખાતો હોય છે. જો પ્રથમ અક્ષર નીચેના [ છે ! અથવા ^ તો કોઈ પણ અક્ષરને બંધબેસતું નથી. રેંજ સમીકરણોમાં અક્ષરોનો સૉર્ટિંગ ક્રમાંક વર્તમાન લોકેલ દ્વારા નક્કી કરવામાં આવે છે અને જો સેટ હોય તો LC_COLLATE શેલ વેરિયેબલનું મૂલ્ય. A - તેને સેટમાં પ્રથમ કે છેલ્લા અક્ષર તરીકે શામેલ કરીને મેળ ખાતી થઈ શકે છે. A ] ના સેટમાં પ્રથમ અક્ષર તરીકે તેને સામેલ કરીને મેળ ખાશે.

[ અને ] ની અંદર અક્ષર વર્ગોને વાક્યરચના [[ class :]] નો ઉપયોગ કરીને સ્પષ્ટ કરી શકાય છે, જ્યાં વર્ગ POSIX.2 પ્રમાણભૂતમાં વ્યાખ્યાયિત નીચેના વર્ગોમાંનો એક છે:

આલ્ન્મમ આલ્ફા એસીસી ખાલી કોન્યુટીએલ અંક ગ્રાફ ઓછી પ્રિન્ટ પંચ્ક્ટ જગ્યા ઉપલા શબ્દ xdigit
એક પાત્ર વર્ગ તે વર્ગના કોઈ પાત્ર સાથે મેળ ખાય છે. અક્ષર અક્ષર શબ્દ અક્ષરો, અંકો, અને અક્ષર _ સાથે મેળ ખાય છે.

[ અને ] અંદર, સિન્ટેક્સ [= c =] નો ઉપયોગ કરીને સમકક્ષતા વર્ગને ઉલ્લેખિત કરી શકાય છે, જે પાત્રની જેમ જ સમાનતા વજન (વર્તમાન લોકેલ દ્વારા વ્યાખ્યાયિત) સાથેના બધા અક્ષરો સાથે મેળ ખાય છે.

[ અને ] અંદર, વાક્યરચના [. સંજ્ઞા .] કોટિંગ પ્રતીક પ્રતીક સાથે મેળ ખાય છે.

જો shopgl builtin ઉપયોગ કરીને extglob શેલ વિકલ્પ સક્ષમ છે, તો ઘણા વિસ્તૃત પેટર્ન બંધબેસતા ઓપરેટરો ઓળખાય છે. નીચેના વર્ણનમાં પેટર્ન-યાદી એ એક અથવા વધુ પેટર્નની યાદી છે . સંયુક્ત પેટર્ન એક અથવા વધુ નીચેની પેટા પેટર્ન મદદથી રચના થઈ શકે છે:

? ( પેટા-સૂચિ )

શૂન્ય અથવા આપેલ દાખલાની એક ઘટના સાથે મેળ ખાય છે

* ( પેટા-યાદી )

આપેલ દાખલાની શૂન્ય અથવા વધુ સંજોગો સાથે મેળ ખાય છે

+ ( પેટા-સૂચિ )

આપેલ દાખલાની એક અથવા વધુ સંજોગો સાથે મેળ ખાય છે

@ ( પેટા-સૂચિ )

આપેલ દાખલાની બરાબર એક મેળ ખાય છે

! ( પેટા-યાદી )

આપેલા દાખલાઓમાંથી કોઈ એક સાથે મેળ ખાય છે

ભાવ દૂર

પૂર્વવર્તી વિસ્તરણ પછી, \ , ' , અને ' ' ઉપરોક્ત વિસ્તરણ પૈકીના એકનો પરિણામી ન હોય તેવા તમામ બિન-અવરોધિત ઘટનાઓ દૂર કરવામાં આવે છે.

રીડાયરેક્શન

આદેશ ચલાવવા પહેલાં, તેના ઇનપુટ અને આઉટપુટને શેલ દ્વારા અર્થઘટન કરાયેલ ખાસ નોટેશનનો ઉપયોગ કરીને રીડાયરેક્ટ કરી શકાય છે. વર્તમાન શેલ એક્ઝેક્યુશન પર્યાવરણ માટે ફાઇલોને ખોલવા અને બંધ કરવા માટે ફરીથી રીડાયરેક્શનનો ઉપયોગ કરી શકાય છે. નીચેના પુનર્નિર્દેશન ઓપરેટર્સ સરળ આદેશની અંદર ક્યાંય પણ હોઈ શકે છે અથવા દેખાય છે અથવા આદેશને અનુસરી શકે છે પુનઃક્રમાંકિતોને ક્રમમાં દેખાતી પ્રક્રિયામાં ડાબેથી જમણે, પ્રક્રિયા કરવામાં આવે છે.

નીચેના વર્ણનોમાં, જો ફાઇલ વર્ણનકર્તા સંખ્યા અવગણવામાં આવે છે, અને પુનર્નિર્દેશન ઓપરેટરનું પ્રથમ અક્ષર < , પુનર્નિર્દેશન પ્રમાણભૂત ઇનપુટ (ફાઇલ વર્ણનકર્તા 0) નો સંદર્ભ લે છે. જો પુનર્નિર્દેશન ઑપરેટરનું પ્રથમ અક્ષર છે > , પુનર્નિર્દેશન પ્રમાણભૂત આઉટપુટ (ફાઇલ વર્ણનકર્તા 1) નો ઉલ્લેખ કરે છે.

નીચે જણાવેલા વર્ણનોમાં પુનર્નિર્દેશન ઓપરેટરને અનુસરતા શબ્દ, જ્યાં સુધી સૂચિત ન હોય ત્યાં સુધી, બ્રેસ વિસ્તરણ, ટિલ્ડ વિસ્તરણ, પરિમાણ વિસ્તરણ, આદેશ સ્થાનાંતરણ, અંકગણિત વિસ્તરણ, ક્વોટ દૂર, પાથનામ વિસ્તરણ, અને શબ્દ વિભાજનને આધિન છે. જો તે એક કરતાં વધુ શબ્દ સુધી વિસ્તરે છે, તો bash ભૂલની જાણ કરે છે

નોંધ કરો કે પુનઃદિશામાનનો ક્રમ નોંધપાત્ર છે ઉદાહરણ તરીકે, આદેશ

ls > ડિલિસ્ટ 2 > & 1

ફાઇલ ડ્રીલિસ્ટને પ્રમાણભૂત આઉટપુટ અને સ્ટાન્ડર્ડ એરર બંને દિશામાન કરે છે, જ્યારે આદેશ

ls 2 > & 1 > ડર્લિસ્લાસ્ટ

ડર્લિસ્ટ ફાઈલ કરવા માટે માત્ર પ્રમાણભૂત આઉટપુટ નિર્દેશિત કરે છે, કારણ કે સ્ટાન્ડર્ડ આઉટપુટ ડર્લિસ્ટે રીડાયરેક્ટ કરાયા તે પહેલાં પ્રમાણભૂત ભૂલને સ્ટાન્ડર્ડ આઉટપુટ તરીકે ડુપ્લિકેટ કરવામાં આવ્યું હતું.

બૅશ કેટલીક ફાઇલનામો ખાસ સંભાળે છે, જ્યારે તેઓ નીચેના કોષ્ટકમાં વર્ણવ્યા પ્રમાણે પુનઃનિર્દેશકોમાં ઉપયોગમાં લેવાય છે.

/ dev / fd / fd

જો એફડી માન્ય પૂર્ણાંક છે, તો ફાઈલ ડિસ્ક્રીપ્ટર એફડી ડુપ્લિકેટ છે.

/ dev / stdin

ફાઇલ વર્ણનકર્તા 0 ડુપ્લિકેટ થયેલ છે.

/ dev / stdout

ફાઇલ વર્ણનકર્તા 1 ડુપ્લિકેટ થયેલ છે.

/ dev / stderr

ફાઇલ વર્ણનકર્તા 2 ડુપ્લિકેટ છે.

/ dev / tcp / host / port

જો યજમાન માન્ય યજમાનનામ અથવા ઈન્ટરનેટ સરનામું છે, અને પોર્ટ એક પૂર્ણાંક પોર્ટ નંબર અથવા સર્વિસ નામ છે, તો સંબંધિત સોકેટમાં TCP જોડાણ ખોલવા માટેના પ્રયાસો.

/ dev / udp / host / port

જો યજમાન માન્ય યજમાનનામ અથવા ઇન્ટરનેટ સરનામું છે, અને બંદર પૂર્ણાંક પોર્ટ નંબર અથવા સર્વિસ નામ છે, તો બાઉશ અનુરૂપ સોકેટમાં UDP કનેક્શન ખોલવાનો પ્રયાસ કરે છે.

ફાઇલ ખોલવા અથવા બનાવવા માટે નિષ્ફળતા પુનઃદિશામાન કરવા નિષ્ફળ થાય છે.

ઇનપુટ રીડાયરેક્ટ કરી રહ્યું છે

ઇનપુટના પુનઃનિર્માણ ફાઇલને કારણભૂત બનાવે છે જેની નામ ફાઈલ ડિસ્ક્રીપ્ટર એન , અથવા પ્રમાણભૂત ઇનપુટ (ફાઇલ ડિસ્ક્રીપ્ટર 0) પર વાંચવા માટે ખુલ્લા શબ્દના વિસ્તરણમાંથી પરિણમે છે જો n એ ઉલ્લેખિત નથી.

ઇનપુટને રીડાયરેક્ટ કરવા માટેનો સામાન્ય ફોર્મેટ છે:

[ n ] < શબ્દ

પુનઃદિશામાન આઉટપુટ

આઉટપુટનું પુનર્નિર્દેશન ફાઇલનું કારણ બને છે, જેની નામ ફાઈલ ડિસ્ક્રીપ્ટર એન , અથવા પ્રમાણભૂત આઉટપુટ (ફાઇલ ડિસ્ક્રીપ્ટર 1) પર લખવા માટે શબ્દના વિસ્તરણમાંથી પરિણમે છે જો n એ ઉલ્લેખિત નથી. જો ફાઇલ અસ્તિત્વમાં નથી તો તે બનાવવામાં આવેલ છે; જો તે અસ્તિત્વમાં ન હોય તો તેને શૂન્ય કદમાં કાપવામાં આવે છે.

આઉટપુટ રીડાયરેક્ટ કરવા માટેનો સામાન્ય ફોર્મેટ છે:

[ n ] > શબ્દ

જો પુનર્નિર્દેશન ઑપરેટર છે > , અને સેટ બિલ્ડિન પરના noclobber વિકલ્પને સક્ષમ કરવામાં આવ્યું છે, તો પુનર્નિર્દેશન નિષ્ફળ જશે જો ફાઇલ જેની વિસ્તરણ શબ્દના નામથી પરિણમે છે અને નિયમિત ફાઇલ છે. જો રીડિરેક્શન ઓપરેટર છે > | , અથવા પુનર્નિર્દેશન ઑપરેટર છે > અને સેટ બિલ્ડિન કમાન્ડમાં noclobber વિકલ્પ સક્રિય કરેલ નથી, પુનર્નિર્દેશનનો પ્રયાસ થાય છે જો શબ્દ દ્વારા નામ થયેલ ફાઇલ અસ્તિત્વમાં હોય તો પણ.

પુનઃદિશામાન થયેલ આઉટપુટ જોડવું

આ ફેશનમાં આઉટપુટનું પુનર્નિર્દેશન ફાઇલનું કારણ બને છે, જેનું નામ ફાઈલ ડિસ્ક્રીપ્ટર એન , અથવા પ્રમાણભૂત આઉટપુટ (ફાઇલ ડિસ્ક્રીપ્ટર 1) પર ઉમેરવા માટે શબ્દના વિસ્તરણમાંથી પરિણમે છે જો n એ ઉલ્લેખિત નથી. જો ફાઇલ અસ્તિત્વમાં નથી તો તે બનાવવામાં આવે છે.

ઍન્ડિડંગ આઉટપુટ માટેનો સામાન્ય ફોર્મેટ છે:

[ n ] >> શબ્દ

સ્ટાન્ડર્ડ આઉટપુટ અને સ્ટાન્ડર્ડ ભૂલ રીડાયરેક્ટ કરી રહ્યું છે

બાસ પ્રમાણભૂત આઉટપુટ (ફાઇલ ડિસ્ક્રીપ્ટર 1) અને પ્રમાણભૂત ભૂલ આઉટપુટ (ફાઇલ વર્ણનકર્તા 2) ને ફાઇલ પર રીડાયરેક્ટ કરવા માટે પરવાનગી આપે છે જેની નામ આ કંસ્ટ્રક્શન સાથે શબ્દનું વિસ્તરણ છે.

સ્ટાન્ડર્ડ આઉટપુટ અને સ્ટાન્ડર્ડ એરર રીડાયરેક્ટ કરવા માટે બે ફોર્મેટ છે:

&> શબ્દ

અને

> અને શબ્દ

બે સ્વરૂપોમાંથી, પ્રથમ પસંદ કરવામાં આવે છે. આ અર્થમાં સમકક્ષ છે

> શબ્દ 2 > & 1

અહીં દસ્તાવેજો

રીડાયરેક્શનના આ પ્રકારના શેલને વર્તમાન સ્રોતમાંથી ઇનપુટ વાંચવા માટે સૂચન કરે છે જ્યાં સુધી માત્ર શબ્દ (કોઈ પાછળના બ્લેન્ક વગર) ન હોય ત્યાં સુધી એક લીટી દેખાય છે. તે બિંદુ સુધી વાંચેલા તમામ રેખાઓ પછી આદેશ માટે પ્રમાણભૂત ઇનપુટ તરીકે ઉપયોગ થાય છે.

અહીં-દસ્તાવેજોનો ફોર્મેટ છે:

<< [ - ] શબ્દ અહીં-દસ્તાવેજ સીમાચિહ્ન છે

કોઈ પરિમાણ વિસ્તરણ, આદેશ અવેજી, અંકગણિત વિસ્તરણ, અથવા પાથનામને વિસ્તરણ શબ્દ પર કરવામાં આવે છે શબ્દના કોઈપણ અક્ષરોને ટાંકવામાં આવે છે, તો ડેલિમિટર શબ્દ પર ક્વોટ દૂર કરવાનો પરિણામ છે, અને અહીં-દસ્તાવેજની લીટીઓ વિસ્તૃત નથી. જો શબ્દ ન જોડાય તો, અહીં-દસ્તાવેજની બધી લીટીઓ પરિમાણ વિસ્તરણ, આદેશ સ્થાનાંતરણ અને અંકગણિત વિસ્તરણને આધિન છે. બાદમાંના કિસ્સામાં, અક્ષર ક્રમાંક \ અવગણવામાં આવે છે, અને \ અક્ષરો, $ , અને ` ને ઉદ્ધત કરવા માટે વપરાવું જોઈએ.

જો પુનર્નિર્દેશન ઑપરેટર << - છે , તો, બધા અગ્રણી ટેબ અક્ષરો ઇનપુટ લીટીઓ અને રેખાવાળું રેખા ધરાવે છે. આ શેલ સ્ક્રિપ્ટ્સની અંદર-દસ્તાવેજોને કુદરતી ફેશનમાં ઇન્ડેન્ટેડ કરવાની પરવાનગી આપે છે.

અહીં સ્ટ્રીંગ્સ

અહીંના દસ્તાવેજોનો એક પ્રકાર છે, ફોર્મેટ છે:

<<< શબ્દ

શબ્દ વિસ્તૃત અને આદેશ તેના પ્રમાણભૂત ઇનપુટ પર પૂરી પાડવામાં આવે છે.

ફાઇલ ડિસ્ક્રીપ્ટર ડુપ્લિકેટિંગ

પુનર્નિર્દેશન ઑપરેટર

[ n ] <અને શબ્દ

ઇનપુટ ફાઇલ ડિસ્ક્રીપ્ટર ડુપ્લિકેટ કરવા માટે વપરાય છે જો શબ્દ એક અથવા વધુ અંકો સુધી વિસ્તરે છે, તો ફાઈલ ડિસ્ક્રીપ્ટર એન દ્વારા સૂચવવામાં આવે છે જે તે ફાઇલ ડિસ્ક્રીપ્ટરની એક નકલ તરીકે બનાવવામાં આવે છે. જો શબ્દોમાંના અંકો ઇનપુટ માટે ખુલ્લા ફાઇલ વર્ણનકર્તાને નિર્દિષ્ટ નથી કરતા, તો પુનર્નિર્દેશનની ભૂલ થાય છે. જો શબ્દ મૂલ્યાંકન કરે છે - , ફાઇલ વર્ણનકર્તા n બંધ થાય છે. જો n એ ઉલ્લેખિત નથી, તો પ્રમાણભૂત ઇનપુટ (ફાઇલ વર્ણનકર્તા 0) નો ઉપયોગ કરવામાં આવે છે.

ઓપરેટર

[ n ] > અને શબ્દ

તે જ રીતે આઉટપુટ ફાઈલ ડિસ્ક્રીપ્ટર ડુપ્લિકેટ કરવા માટે વપરાય છે. જો n એ ઉલ્લેખિત ન હોય, તો પ્રમાણભૂત આઉટપુટ (ફાઇલ વર્ણનકર્તા 1) નો ઉપયોગ કરવામાં આવે છે. જો શબ્દોમાંના આંકડાઓ આઉટપુટ માટે ખુલ્લા ફાઇલ વર્ણનકર્તાને સ્પષ્ટ કરતી નથી, તો એક રીડિરેક્શન ભૂલ થાય છે. વિશિષ્ટ કેસ તરીકે, જો n અવગણવામાં આવે છે, અને શબ્દ એક અથવા વધુ અંકો સુધી વિસ્તૃત નથી, તો પ્રમાણભૂત આઉટપુટ અને પ્રમાણભૂત ભૂલને અગાઉ વર્ણવ્યા મુજબ રીડાયરેક્ટ કરવામાં આવે છે.

ફાઈલ ડિસ્ક્રીપ્ટર ખસેડવું

પુનર્નિર્દેશન ઑપરેટર

[ n ] <અને અંક -

ફાઈલ ડિસ્ક્રીપ્ટર એન , અથવા પ્રમાણભૂત ઈનપુટ (ફાઈલ ડિસ્ક્રીપ્ટર 0) ફાઇલ કરવા માટે ફાઇલ ડિસ્ક્રીપ્ટર ડિજિટલ ખસે છે જો n એ ઉલ્લેખિત નથી. n ને ડુપ્લિકેટ કર્યા પછી અંક બંધ છે

એ જ રીતે, રીડાયરેક્શન ઑપરેટર

[ n ] > અને અંક -

ફાઈલ ડિસ્ક્રીપ્ટર એન , અથવા પ્રમાણભૂત આઉટપુટ (ફાઇલ ડિસ્ક્રીપ્ટર 1) ફાઇલ કરવા માટે ફાઈલ ડિસ્ક્રીપ્ટર ડિજિટલ ખસે છે જો n એ ઉલ્લેખિત ન હોય.

વાંચન અને લેખન માટે ફાઇલ ડિસ્ક્રીપ્ટર્સ ખુલે છે

પુનર્નિર્દેશન ઑપરેટર

[ n ] <> શબ્દ

ફાઇલનું નામ કારણભૂત છે કે જેનું નામ ફાઈલ ડિસ્ક્રીપ્ટર n પર વાંચવા અને લખવા માટે, અથવા ફાઇલ વર્ણનકર્તા પર જો ખોલવામાં આવે તે શબ્દનો વિસ્તરણ છે જો n એ ઉલ્લેખિત નથી. જો ફાઇલ અસ્તિત્વમાં નથી, તો તે બનાવવામાં આવે છે.

એલિયસ

ઉપનામ શબ્દને શબ્દ માટે બદલવાની મંજૂરી આપે છે જ્યારે તે સરળ આદેશના પ્રથમ શબ્દ તરીકે ઉપયોગમાં લેવાય છે. શેલ ઉપનામોની સૂચિને જાળવે છે જે ઉપનામ અને અનલિઆઝ બિલ્ટિન કમાન્ડ્સ સાથે સેટ અને અનસેટ થઈ શકે છે (નીચે શેલ બિલ્ટિન કમાન્ડ્સ જુઓ). દરેક આદેશનો પ્રથમ શબ્દ, જો અવતરણ ન હોય તો, તે ઉપનામ છે કે નહીં તે જોવા માટે ચકાસાયેલ છે. જો આમ હોય, તો તે શબ્દને ઉપનામના લખાણ દ્વારા બદલવામાં આવે છે. ઉપનામ નામ અને રિપ્લેસમેન્ટ ટેક્સ્ટમાં કોઈપણ માન્ય શેલ ઇનપુટ સમાવી શકે છે, ઉપરોક્ત મેટાકાર્ટર સહિત ઉપનામમાં ઉપનામના નામમાં = રિપ્લેસમેન્ટ ટેક્સ્ટનો પ્રથમ શબ્દ ઉપનામો માટે ચકાસાયેલ છે, પરંતુ ઉપનામ વિસ્તરણ માટે સમાન શબ્દ બીજી વખત વિસ્તૃત કરવામાં આવ્યો નથી. આનો અર્થ એ થાય કે એક એલઆઈએસ એલએસ-એલ (LS -F) ને , દાખલા તરીકે, અને બાશ રિપ્લેસમેન્ટ ટેક્સ્ટનો પુનરાવર્તિત થવાનો પ્રયાસ કરતું નથી. જો ઉપનામ મૂલ્યનો છેલ્લો અક્ષર ખાલી છે , તો ઉપનામના પગલે આગામી આદેશ શબ્દને ઉપનામ વિસ્તરણ માટે પણ તપાસવામાં આવે છે.

ઉપનામો ઉપનામ આદેશ સાથે બનાવવામાં આવે છે અને સૂચિબદ્ધ થાય છે, અને અલિઆસ કમાન્ડથી દૂર કરવામાં આવે છે.

રિપ્લેસમેન્ટ ટેક્સ્ટમાં દલીલોનો ઉપયોગ કરવાની કોઈ પદ્ધતિ નથી. જો દલીલોની જરૂર હોય તો, શેલ ફંક્શનનો ઉપયોગ થવો જોઈએ (નીચેની ફંક્શન્સ જુઓ)

જયારે શેલ ઇન્ટરેક્ટિવ ન હોય ત્યારે ઉપનામો વિસ્તરેલી નથી, જ્યાં સુધી exp_aliases શેલ વિકલ્પ shopt નો ઉપયોગ કરીને સેટ કરવામાં આવે છે (નીચે SHELL BUILTIN COMMANDS હેઠળ shopt નું વર્ણન જુઓ).

ઉપનામોની વ્યાખ્યા અને ઉપયોગને લગતા નિયમો અંશે ગૂંચવણમાં મૂકે છે. બૅશ હંમેશા તે લીટી પરના કોઈપણ આદેશો ચલાવવા પહેલાં ઓછામાં ઓછી એક સંપૂર્ણ ઇનપુટની ઇનપુટ વાંચે છે. જ્યારે આદેશ ચલાવવામાં આવે ત્યારે ઉપનામો વિસ્તૃત થાય છે, જ્યારે તે ચલાવવામાં આવે ત્યારે. તેથી, અન્ય આદેશની જેમ જ લીટી પર દેખાય ઉપનામની વ્યાખ્યા અસરમાં નથી લેતી જ્યાં સુધી ઇનપુટની આગામી લાઇન વાંચી ન જાય. તે લીટી પરના ઉપનામની વ્યાખ્યાના આદેશો નવા ઉપનામથી પ્રભાવિત નથી. વિધેયો ચલાવવામાં આવે ત્યારે આ વર્તન પણ એક સમસ્યા છે. જ્યારે ફંક્શનની વ્યાખ્યા વાંચવામાં આવે ત્યારે ઉપનામો વિસ્તૃત થાય છે, જ્યારે કાર્ય થતું નથી, કારણ કે ફંક્શનની વ્યાખ્યા પોતે એક સંયોજન કમાન્ડ છે. પરિણામે, ફંક્શનમાં વ્યાખ્યાયિત એલિયાઝ તે કાર્ય પછી ચલાવવામાં આવે ત્યાં સુધી ઉપલબ્ધ નથી. સલામત રહેવા માટે, એક અલગ રેખા પર હંમેશા ઉપનામની વ્યાખ્યાઓ મૂકો, અને ઉપનામને સંયોજન આદેશોમાં ઉપયોગ કરતા નથી.

લગભગ દરેક હેતુ માટે, ઉપનામ શેલ ફંક્શન્સ દ્વારા રદ કરવામાં આવે છે.

કાર્યો

શેલ ફંક્શન, જે શેલ્લેગ્રામની ઉપર વર્ણવેલ છે તે વ્યાખ્યાયિત કરે છે , પછીથી અમલ માટે શ્રેણીબદ્ધ આદેશો સંગ્રહિત કરે છે. જ્યારે શેલ ફંકશનનું નામ સરળ આદેશ નામ તરીકે ઉપયોગમાં લેવાય છે, તે ફંક્શન નામ સાથે સંકળાયેલ આદેશોની સૂચિ ચલાવવામાં આવે છે. વર્તમાન શેલના સંદર્ભમાં કાર્યો ચલાવવામાં આવે છે; તેમને સમજાવવા માટે કોઈ નવી પ્રક્રિયા બનાવવામાં આવી નથી (શેલ સ્ક્રિપ્ટના એક્ઝેક્યુશન સાથે વિપરીત). જ્યારે કાર્ય ફંક્શ થાય છે, ફંક્શનની દલીલો તેના એક્ઝેક્યુશન દરમિયાન સ્થાયી પરિમાણો બની જાય છે. વિશિષ્ટ પરિમાણ # એ ફેરફારને પ્રતિબિંબિત કરવા અપડેટ કરવામાં આવે છે. સ્થાનીય પરિમાણ 0 યથાવત છે FUNCNAME વેરીએબલ ફંક્શનના નામ પર સેટ કરેલ છે, જ્યારે કાર્ય ચાલુ છે. શેલ એક્ઝેક્યુશન વાતાવરણના અન્ય તમામ પાસાઓ ફંક્શન અને તેના કોલ કરનાર વચ્ચે સમાન છે જે DEBUG ફાંટા ( નીચે શેલ્લે બિલ્ટિન કમાન્ડ હેઠળના છટકાંના વર્ણનને જુઓ) વારસામાં નથી જ્યાં સુધી કાર્યને ટ્રેસ એટ્રીબ્યુટ આપવામાં ન આવે ( નીચે જણાવેલ જાહેરાતનું વર્ણન જુઓ).

વિધેયને સ્થાનિક સ્થાનીય બિલ્ડિન કમાન્ડ દ્વારા જાહેર કરી શકાય છે. સામાન્ય રીતે, ચલો અને તેમની કિંમતો કાર્ય અને તેના કોલ કરનાર વચ્ચે વહેંચાય છે.

વિધેયમાં બિલ્ટિન કમાન્ડ રીટર્ન એક્ઝિક્યુટ થાય છે, તો ફંક્શન કોલ પછી કાર્ય પૂર્ણ થાય છે અને એક્ઝેક્યુશન ફરી શરૂ થાય છે. જયારે કોઈ કાર્ય પૂર્ણ થાય ત્યારે, સ્થાનીય પરિમાણો અને વિશિષ્ટ પરિમાણોના મૂલ્ય # એ ફંક્શનના એક્ઝેક્યુશનની પહેલાંના મૂલ્યોને પુનઃસ્થાપિત કરે છે.

ફંક્શન નામો અને વ્યાખ્યાઓ -f વિકલ્પ સાથે ડિલકેર અથવા ટાઇપસેટ બિલ્ટઇન આદેશો સાથે સૂચિબદ્ધ થઈ શકે છે. જાહેર કરવા માટે અથવા ટાઇપસેટના વિકલ્પ -F ફક્ત ફંક્શન નામોની યાદી આપશે. કાર્યોને નિકાસ કરી શકાય છે જેથી સબશેલ્સએ તેમને આપમેળે -f વિકલ્પ સાથે નિર્ધારિત નિર્માણમાં વ્યાખ્યાયિત કર્યા છે.

કાર્યો ફરી યાદ આવવું હોઈ શકે છે રિકર્સિવ કૉલ્સની સંખ્યા પર કોઈ મર્યાદા લાદવામાં આવી નથી.

એર્થિમેટિક મૂલ્યાંકન

શેલ ચોક્કસ પરિસ્થિતિઓ હેઠળ અંકગણિત સમીકરણોનું મૂલ્યાંકન કરવા માટે પરવાનગી આપે છે (જુઓ બિલ્ટિન કમાન્ડ અને અંકગણિત વિસ્તરણ જુઓ ). મૂલ્યાંકન નિશ્ચિત-પહોળવા પૂર્ણાંકોમાં થાય છે, ઓવરફ્લો માટે કોઈ ચેક નથી, છતાં 0 દ્વારા વિભાજીત ફસાઇ છે અને ભૂલ તરીકે ફ્લેગ કરવામાં આવે છે. ઑપરેટર્સ અને તેમની પ્રાધાન્યતા અને સહયોગીતા સી ભાષાની જેમ જ છે. ઓપરેટરોની નીચેની સૂચિ સમાન-અગ્રતા ઓપરેટર્સના સ્તરોમાં જૂથ થયેલ છે. સ્તર ઘટતા અગ્રતા ની ક્રમમાં યાદી થયેલ છે

id ++ id -

ચલ પોસ્ટ-ઇન્ક્રીમેન્ટ અને પોસ્ટ-ડિગ્રિમેન્ટ

++ id - id

વેરિયેબલ પ્રિ-ઇન્ક્રીમેન્ટ અને પ્રિ-ડીક્રીમેન્ટ

- +

નબળી વત્તા અને વત્તા

! ~

લોજિકલ અને બીટવ્યૂઝ નેગેશન

**

ઘાતાંક

* /%

ગુણાકાર, ડિવિઝન, બાકી

+ -

વધુમાં, બાદબાકી

<< >>

ડાબી અને જમણી બીટwise પાળી

<=> = <>

સરખામણી

==! =

સમાનતા અને અસમાનતા

&

bitwise અને

bitwise વિશિષ્ટ અથવા

|

bitwise અથવા

&&

લોજિકલ AND

||

લોજિકલ અથવા

expr ? expr : expr

શરતી મૂલ્યાંકન

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

સોંપણી

expr1 , expr2

અલ્પવિરામ

શેલ ચલોને ઓપરેન્ડ્સ તરીકે મંજૂરી છે; સમીકરણનું મૂલ્યાંકન થાય તે પહેલાં પરિમાણ વિસ્તરણ કરવામાં આવે છે. કોઈ અભિવ્યક્તિ અંદર, શેલ ચલોનું નામ પેરામીટર વિસ્તરણ સિન્ટેક્ષનો ઉપયોગ કર્યા વગર પણ સંદર્ભિત થઈ શકે છે. ચલનું મૂલ્ય જ્યારે સંદર્ભિત થાય ત્યારે અંકગણિત અભિવ્યક્તિ તરીકે મૂલ્યાંકન થયેલ છે. શેલ ચલને તેની પૂર્ણાંક લક્ષણને અભિવ્યક્તિમાં ઉપયોગમાં લેવાની જરૂર નથી.

અગ્રણી 0 સાથેના સ્થિરાંકોને અષ્ટાંકી સંખ્યા તરીકે વ્યાખ્યાયિત કરવામાં આવે છે. અગ્રણી 0x અથવા 0x હેક્સાડેસિમલ સૂચવે છે. નહિંતર, સંખ્યાઓ ફોર્મ [ આધાર # ] n લે છે, જ્યાં બેઝ અને બે વચ્ચેનો દશાંશ સંખ્યા અંકગણિત આધારને રજૂ કરે છે, અને n તે આધારની સંખ્યા છે. જો આધાર # નાબૂદ કરવામાં આવે, તો આધાર 10 નો ઉપયોગ થાય છે. 9 કરતા વધારે અંકો, તે ક્રમમાં લોઅરકેસ અક્ષરો, મોટા અક્ષરો, @, અને _ દ્વારા રજૂ થાય છે. જો આધાર 36 થી ઓછો અથવા તેની બરાબર છે, તો લોઅરકેસ અને મોટા અક્ષરોનો ઉપયોગ 10 અને 35 ની વચ્ચેની સંખ્યાને પ્રતિનિધિત્વ કરવા માટે એકબીજાના ઉપયોગ માટે થઈ શકે છે.

ઓપરેટર્સ અગ્રતાના ક્રમમાં મૂલ્યાંકન કરવામાં આવે છે. કૌંસમાં પેટા-સમીકરણો પ્રથમ મૂલ્યાંકન કરવામાં આવે છે અને ઉપરોક્ત પ્રાધાન્યતા નિયમોને ઓવરરાઇડ કરે છે.

શરદજનક અભિવ્યક્તિઓ

શરતી અભિવ્યક્તિઓ [[ સંયોજન કમાન્ડ અને ટેસ્ટ અને [ આંતરિક આદેશો દ્વારા ફાઇલ લક્ષણો ચકાસવા અને સ્ટ્રિંગ અને અંકગણિત તુલના કરવા માટે વપરાય છે. અભિવ્યક્તિ નીચેના અનરાયી અથવા બાયનરી પ્રિમરીઓમાંથી બનેલી છે. પ્રાયમરીમાંના કોઈ પણ ફાઇલ દલીલ ફોર્મ / dev / fd / n નો છે , તો પછી ફાઇલ વર્ણનકર્તા n ચકાસાયેલ છે. જો કોઈ પ્રાયમરીમાં ફાઇલ દલીલ એ / dev / stdin , / dev / stdout , અથવા / dev / stderr , ફાઇલ વર્ણનકર્તા 0, 1, અથવા 2 છે, અનુક્રમે, ચકાસાયેલ છે.

-એક ફાઇલ

જો ફાઈલ અસ્તિત્વમાં છે તે સાચું છે.

-b ફાઇલ

સાચું જો ફાઇલ અસ્તિત્વમાં છે અને બ્લોક વિશેષ ફાઇલ છે.

-c ફાઇલ

સાચું જો ફાઇલ અસ્તિત્વમાં છે અને એક અક્ષર વિશેષ ફાઇલ છે.

-d ફાઇલ

સાચું જો ફાઇલ અસ્તિત્વમાં છે અને ડિરેક્ટરી છે.

-e ફાઇલ

જો ફાઈલ અસ્તિત્વમાં છે તે સાચું છે.

-f ફાઈલ

સાચું જો ફાઇલ અસ્તિત્વમાં છે અને એક નિયમિત ફાઇલ છે.

-જી ફાઈલ

સાચું જો ફાઇલ અસ્તિત્વમાં છે અને સેટ-સમૂહ- id છે

-હ ફાઈલ

સાચું જો ફાઇલ અસ્તિત્વમાં છે અને સાંકેતિક કડી છે.

-k ફાઇલ

સાચું છે જો ફાઇલ અસ્તિત્વમાં છે અને તેનો `સ્ટીકી 'બીટ સેટ છે.

-p ફાઇલ

સાચું જો ફાઇલ અસ્તિત્વમાં છે અને એક નામવાળી પાઇપ (ફિફા) છે.

-r ફાઇલ

સાચું જો ફાઇલ અસ્તિત્વમાં છે અને વાંચનીય છે.

-s ફાઇલ

સાચું છે જો ફાઇલ અસ્તિત્વમાં છે અને શૂન્યથી મોટો કદ ધરાવે છે.

-ટી એફડી

સાચું જો ફાઈલ ડિસ્ક્રીપ્ટર એફડી ખુલ્લું છે અને ટર્મિનલનો ઉલ્લેખ કરે છે.

-u ફાઇલ

સાચું જો ફાઇલ અસ્તિત્વમાં છે અને તેના સેટ-વપરાશકર્તા-આઇડી બીટ સેટ છે.

-w ફાઇલ

સાચું જો ફાઇલ અસ્તિત્વમાં છે અને લખી શકાય તેવી છે.

-x ફાઇલ

સાચું જો ફાઇલ અસ્તિત્વમાં છે અને એક્ઝેક્યુટેબલ છે.

-ઓ ફાઈલ

સાચું જો ફાઇલ અસ્તિત્વમાં છે અને તેની અસરકારક વપરાશકર્તા ID દ્વારા માલિકી છે

-જી ફાઇલ

સાચું જો ફાઇલ અસ્તિત્વમાં છે અને અસરકારક જૂથ id દ્વારા તેની માલિકી છે.

-L ફાઇલ

સાચું જો ફાઇલ અસ્તિત્વમાં છે અને સાંકેતિક કડી છે.

-S ફાઇલ

સાચું જો ફાઇલ અસ્તિત્વમાં છે અને સોકેટ છે

-N ફાઇલ

સાચું જો ફાઇલ અસ્તિત્વમાં છે અને તે છેલ્લે વાંચવામાં આવે ત્યારથી સુધારવામાં આવી છે.

file1 - nt file2

સાચું છે જો file1 ફાઇલર કરતાં નવી (ફેરફારની તારીખ પ્રમાણે) નવું છે , અથવા ફાઇલ 1 અસ્તિત્વમાં છે અને ફાઈલ 2 નથી.

file1 - ot file2

સાચું છે જો file1 ફાઇલ 2 કરતા જૂનું છે , અથવા જો ફાઇલ 2 અસ્તિત્વમાં છે અને ફાઇલ 1 નથી.

file1 -ef ફાઇલ 2

જો સાચું હોય તો file1 અને file2 એ જ ઉપકરણ અને આઇનોડ નંબરોનો સંદર્ભ લો.

-ઓ optname

સાચું જો શેલ વિકલ્પ optname સક્રિય કરેલ હોય. નીચેના સેટ બિલ્ડિનમાં -o વિકલ્પના વર્ણન હેઠળ વિકલ્પોની સૂચિ જુઓ.

-z શબ્દમાળા

સાચું છે જો શબ્દમાળાની લંબાઈ શૂન્ય છે.

-n શબ્દમાળા

શબ્દમાળા

સાચું છે જો શબ્દમાળાની લંબાઈ બિન-શૂન્ય છે.

string1 == string2

સાચું છે જો શબ્દમાળાઓ સમાન હોય છે. = કડક POSIX પાલન માટે == ની જગ્યાએ ઉપયોગ કરી શકે છે.

string1 ! = string2

સાચું જો શબ્દમાળાઓ સમાન નથી.

string1 < string2

સાચું જો સ્ટ્રીંગ 1 સ્ટ્રીંગ 2 પહેલાં લેક્સિકોગ્રાફિકલીથી વર્તમાન લોકેલમાં.

સ્ટ્રિંગ 1 > સ્ટ્રિંગ 2

સાચું જો સ્ટ્રીંગ 1 શબ્દમાળા પછી હાલના લોકેલમાં લેક્સિકોગ્રાફિકલી પ્રમાણે.

arg1 OP arg2

ઓ.પી. - ઇક , -એ , -એલટી , -લે , -જીટી , અથવા -ગેજમાંથી એક છે . આ અંકગણિત દ્વિસંગી ઓપરેટર્સ સાચું પાછી આપે છે જો arg1 બરાબર, અનુક્રમે બરાબર, ઓછું, ઓછું અથવા સમાન, મોટી કરતાં, અથવા arg2 ની સમકક્ષ અથવા તેના બરાબર છે. Arg1 અને arg2 હકારાત્મક કે નકારાત્મક પૂર્ણાંકો હોઈ શકે છે.

સરળ કમાન્ડ વિસ્તરણ

જ્યારે સરળ આદેશ ચલાવવામાં આવે છે, ત્યારે શેલ નીચેના વિસ્તરણ, સોંપણીઓ, અને રીડાયરેક્શનને ડાબેથી જમણે કરે છે

1

શબ્દ જે પાર્સરને વેરિયેબલ અસાઇનમેન્ટ તરીકે ચિહ્નિત કરેલા છે (તે કમાન્ડ નામની પહેલાની છે) અને રીડાયરેક્શન્સ પાછળથી પ્રોસેસિંગ માટે સાચવવામાં આવે છે.

2.

જે શબ્દો અસાધારણ અસાઇનમેન્ટ અથવા પુનર્નિર્દેશન ન હોય તે વિસ્તૃત થાય છે. વિસ્તરણ પછી કોઈ પણ શબ્દ બાકી રહે તો, પ્રથમ શબ્દ આદેશનું નામ લેવાય છે અને બાકીના શબ્દો દલીલો છે.

3

REDIRECTION હેઠળ ઉપર વર્ણવ્યા મુજબ રીડાયરેશન્સ કરવામાં આવે છે.

4.

દરેક વેરીએબલ અસાઇનમેન્ટમાં = પછી લખાણ વેરિયેબલને સોંપવામાં આવે તે પહેલા ટિલ્ડ વિસ્તરણ, પરિમાણ વિસ્તરણ, આદેશ સ્થાનાંતરણ, અંકગણિત વિસ્તરણ અને ક્વોટ દૂર કરે છે.

જો કોઈ કમાન્ડ નામ પરિણામો નથી, તો વેરિયેબલ અસાઇનમેન્ટ વર્તમાન શેલ પર્યાવરણને અસર કરે છે. નહિંતર, ચલો એ ચલાવવામાં આદેશના પર્યાવરણમાં ઉમેરાય છે અને વર્તમાન શેલ પર્યાવરણને અસર કરતા નથી. જો કોઇપણ સોંપણી ફક્ત વાંચવા માટેનાં ચલને મૂલ્ય આપવાનો પ્રયાસ કરે છે, તો એક ભૂલ આવી છે, અને આદેશ બિન-શૂન્ય સ્થિતિ સાથે બહાર નીકળે છે.

જો કોઈ આદેશ નામ પરિણામો, રીડિરેંક્શન્સ કરવામાં આવતાં નથી, પરંતુ વર્તમાન શેલ પર્યાવરણને અસર કરતા નથી. પુનર્નિર્દેશનની ભૂલ એ નોન-શૂન્ય સ્થિતિથી બહાર નીકળવા માટે આદેશનો ઉપયોગ કરે છે.

જો વિસ્તરણ પછી કોઈ આદેશનું નામ બાકી છે, તો નીચે જણાવેલ મુજબ અમલની રકમ. નહિંતર, આદેશ બહાર નીકળે છે. જો કોઈ વિસ્તરણમાં આદેશ અવેજી સમાયેલ હોય, તો આદેશની બહાર નીકળો સ્થિતિ એ છે કે અંતિમ આદેશના સ્થાનાંતરણની બહાર નીકળો સ્થિતિ. જો ત્યાં કોઈ આદેશની ફેરબદલ ન હોય તો, આદેશ શૂન્યની સ્થિતિ સાથે બંધ થાય છે.

COMMAND અમલ

આદેશને શબ્દોમાં વિભાજિત કર્યા પછી, જો તે સરળ આદેશ અને દલીલોની એક વૈકલ્પિક સૂચિમાં પરિણમે છે, તો નીચેની ક્રિયાઓ લેવામાં આવે છે.

જો આદેશ નામમાં કોઈ સ્લેશ ન હોય તો, શેલ તેને શોધવાનો પ્રયાસ કરે છે. જો ત્યાં તે નામથી શેલ ફંક્શન છે, તો તે ફંક્શનમાં ઉપર વર્ણવ્યા મુજબ ફંક્શન લાગુ કરવામાં આવે છે. જો નામ કોઈ કાર્ય સાથે મેળ ખાતું નથી, તો શેલ શેલ બિલ્ડિન્સની સૂચિમાં તેના માટે શોધ કરે છે. જો મેચ મળી આવે, તો બિલ્ટિનને બોલાવવામાં આવે છે.

જો નામ ન તો શેલ કાર્ય અથવા બિલ્ટિન છે, અને તેમાં કોઈ સ્લેશ નથી, તો તે નામ દ્વારા એક્ઝેક્યુટેબલ ફાઇલ ધરાવતી ડિરેક્ટરી માટે પાથેની દરેક ઘટક શોધે છે. બાસ એક્ઝેક્યુટેબલ ફાઇલોના સંપૂર્ણ પાથનામોને યાદ રાખવા માટે હેશ ટેબલનો ઉપયોગ કરે છે (નીચે શેલ્લ બિલ્ટિન કમાન્ડ્સ હેઠળ હેશ જુઓ). PATH ની ડિરેક્ટરીઓની સંપૂર્ણ શોધ માત્ર ત્યારે જ થાય છે જો હેશ ટેબલમાં આદેશ ન મળે. શોધ અસફળ હોય તો, શેલ ભૂલ સંદેશ છાપે છે અને 127 ની બહાર નીકળો સ્થિતિ પાછો આપે છે

જો શોધ સફળ થાય છે, અથવા જો આદેશ નામમાં એક અથવા વધુ સ્લેશ હોય, તો શેલ એક અલગ અમલ પર્યાવરણમાં નામવાળી પ્રોગ્રામને ચલાવે છે. દલીલ 0 નામ આપવામાં આવ્યું છે, અને આદેશ બાકીની દલીલો આપવામાં આવેલ દલીલો માટે સુયોજિત છે, જો કોઈ હોય તો.

જો આ એક્ઝેક્યુશન નિષ્ફળ થાય છે કારણ કે ફાઇલ એક્ઝેક્યુટેબલ ફોરમેટમાં નથી, અને ફાઇલ ડિરેક્ટરી નથી, તે શેલ સ્ક્રિપ્ટ હોવાની ધારણા છે, ફાઇલ શેલ આદેશો ધરાવે છે એક સબશેલ તેને ચલાવવા માટે પેદા થાય છે. આ સબશેલ પોતે પુનઃપ્રયત્નિત કરે છે, જેથી અસર એ છે કે સ્ક્રીપ્ટને નિયંત્રિત કરવા માટે નવા શેલનો ઉપયોગ કરવામાં આવ્યો હતો, અપવાદ સાથે કે જે માતાપિતા ( શેલ્લ બિલ્ટિન કમાન્ડ હેઠળ નીચે હેશ જુઓ) દ્વારા યાદ કરવામાં આવે છે, તે બાળક દ્વારા જાળવવામાં આવે છે.

જો પ્રોગ્રામ ફાઇલ # સાથે શરૂ થાય છે ! , પ્રથમ રેખાના બાકીનો કાર્યક્રમ માટે દુભાષિયાને સ્પષ્ટ કરે છે. શેલ ઓપરેટીંગ સિસ્ટમો પર સ્પષ્ટ થયેલ ઈન્ટરપ્રીટરને ચલાવે છે કે જે આ એક્ઝેક્યુટેબલ ફોર્મેટને પોતાને સંભાળી શકતા નથી. દુભાષિયાની દલીલોમાં પ્રોગ્રામની પ્રથમ લીટી પર ઈન્ટરપ્રીટર નામના એક વૈકલ્પિક વૈકલ્પિક દલીલનો સમાવેશ થાય છે, પ્રોગ્રામના નામ દ્વારા અનુસરવામાં આવે છે, પછી આદેશ દલીલો, જો કોઈ હોય તો.

COMMAND અમલીકરણ પર્યાવરણ

શેલ એક્ઝેક્યુશન વાતાવરણ ધરાવે છે , જેમાં નીચેનાનો સમાવેશ થાય છે:

*

ખુલ્લા ફાઇલોને શેલ દ્વારા ઇનોવેશનમાં વારસામાં મળી છે, જેમ કે આર્મ બિલ્ડિને પૂરા પાડવામાં આવેલ રીડિરેંક્શન્સ દ્વારા સંશોધિત

*

સીડી , પુશ , અથવા પોપે દ્વારા સેટ કરાયેલ વર્તમાન કાર્યકારી ડિરેક્ટરી, અથવા શરુ દ્વારા ઇનોવેશનમાં વારસાગત

*

ફાઈલ બનાવટ સ્થિતિ માસ્ક જે umask દ્વારા સુયોજિત છે અથવા શેલનાં પિતૃમાંથી વારસાગત છે

*

છટકું દ્વારા સેટ વર્તમાન ફાંસો

*

શેલ પરિમાણો કે જે વેરિયેબલ અસાઇનમેન્ટ દ્વારા અથવા સેટ સાથે અથવા પર્યાવરણમાં શેલના માતાપિતા પાસેથી વારસામાં મળેલ છે

*

શેલ ફંક્શન્સ એક્ઝેક્યુશન દરમિયાન વ્યાખ્યાયિત અથવા પર્યાવરણમાં શેલના પિતૃમાંથી વારસાગત

*

ઓપ્શનમાં (ડિફોલ્ટ દ્વારા અથવા કમાન-વાક્ય દલીલો દ્વારા અથવા સેટ દ્વારા) સક્ષમ કરેલ વિકલ્પો

*

Shopt દ્વારા સક્ષમ વિકલ્પો

*

ઉપનામ સાથે વ્યાખ્યાયિત શેલ ઉપનામો

*

બેકગ્રાઉન્ડ જોબ્સ સહિતની વિવિધ પ્રક્રિયા ID, $ $ નું મૂલ્ય અને $ PPID નું મૂલ્ય

જ્યારે બિલ્ટિન અથવા શેલ ફંક્શન સિવાયની એક સરળ આદેશ ચલાવવાની છે, ત્યારે તેને અલગ અમલ પર્યાવરણમાં લાગુ કરવામાં આવે છે જેમાં નીચેનાનો સમાવેશ થાય છે. જ્યાં સુધી સૂચિત ન હોય ત્યાં સુધી, મૂલ્યો શેલમાંથી વારસામાં મળે છે.

*

શેલની ખુલ્લી ફાઇલો, વત્તા કોઈપણ ફેરફારો અને વધારાઓ આદેશને પુનર્નિર્દેશન દ્વારા નિર્દિષ્ટ કરે છે

*

વર્તમાન કામ કરતી ડિરેક્ટરી

*

ફાઈલ બનાવટ સ્થિતિ માસ્ક

*

નિકાસ માટે ચિહ્નિત થયેલ શેલ ચલો, આદેશ માટે નિકાસ ચલો સાથે, પર્યાવરણમાં પસાર

*

શેલ દ્વારા પડેલા ફાંસો શેલના માતાપિતા પાસેથી વારસામાં મળેલ મૂલ્યો પર રીસેટ થાય છે અને શેલ દ્વારા અવગણના ફાંસોને અવગણવામાં આવે છે

આ અલગ પર્યાવરણમાં ચલાવવામાં આવેલ આદેશ શેલના એક્ઝેક્યુશન વાતાવરણને અસર કરી શકતું નથી.

આદેશ અવેજી અને અસુમેળ આદેશો શેલ વાતાવરણની ડુપ્લિકેટ છે, સિવાય કે શેલ વાતાવરણમાં ડુપ્લિકેટ થાય છે, સિવાય કે શેલ દ્વારા પડેલા ફાંસો મૂલ્ય પર રીસેટ થાય છે જે શેલને તેના પિતૃમાંથી બોલાવે છે. આંતરિક આદેશો કે જે પાઇપલાઇનના ભાગ રૂપે લાગુ કરવામાં આવે છે તે પણ સબહેલ પર્યાવરણમાં ચલાવવામાં આવે છે. સબહેલ વાતાવરણમાં કરવામાં આવેલ ફેરફારો શેલના એક્ઝેક્યુશન વાતાવરણને અસર કરી શકતા નથી.

જો આદેશ એ એન્ડ એન્ડ જોબ કંટ્રોલ દ્વારા અનુસરવામાં આવે તો સક્રિય નથી, આદેશ માટેનો મૂળભૂત સ્ટાન્ડર્ડ ઇનપુટ ખાલી ફાઇલ / dev / null છે નહિંતર, પુન: નિર્દેશો દ્વારા સંશોધિત તરીકે બોલાવેલ શેલની ફાઇલ ડિસ્ક્રીપ્ટર્સ બોલાવે છે.

આ પણ જુઓ

બાસ સંદર્ભ મેન્યુઅલ , બ્રાયન ફૉક્સ અને ચેટ રેમી

ધી જીન્યુ રીડલાઇન લાઇબ્રેરી , બ્રાયન ફૉક્સ અને ચેટ રેમી

ધી જીન્યુ હિસ્ટરી લાઇબ્રેરી , બ્રાયન ફૉક્સ અને ચેટ રેમી

પોર્ટેબલ ઓપરેટિંગ સિસ્ટમ ઇન્ટરફેસ (પોસિક્સ) ભાગ 2: શેલ અને ઉપયોગિતાઓ , આઇઇઇઇ

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

emacs (1), vi (1)

રીડલાઇન (3)