பெயர்
bash - குனு பார்ன்-மீண்டும் ஷெல்
சுருக்கம்
bash [options] [file]
விளக்கம்
பாஷ் என்பது ஒரு தகுதியான கட்டளை மொழி மொழிபெயர்ப்பாளர், அது நிலையான உள்ளீடு அல்லது கோப்பில் இருந்து படிக்கப்படும் கட்டளைகளை செயல்படுத்துகிறது. பாஷ் கோர்ன் மற்றும் சி ஷெல்ஸ் ( கிஷ் மற்றும் சிஎஸ் ) ஆகியவற்றிலிருந்து பயனுள்ள அம்சங்களையும் உள்ளடக்கியுள்ளது.
IEEE POSIX ஷெல் மற்றும் கருவிகள் குறிப்பீடு (IEEE பணிக்குழு 1003.2) ஆகியவற்றின் ஒத்திசைவான செயல்பாடாக பாஷ் கருதப்படுகிறது.
விருப்பங்கள்
தொகுக்கப்பட்ட கட்டளை கட்டளையை விவரிப்பதில் ஒற்றை-கதாபாத்திரம் ஷெல் விருப்பங்களுக்கும் கூடுதலாக, அதைப் பயன்படுத்தும்போது, பின்வரும் விருப்பங்களைக் குறிப்பிடுகிறது:
-c சரம்
-c விருப்பம் இருந்தால், கட்டளைகளை சரத்திலிருந்து படிக்கவும். சரம் பிறகு வாதங்கள் இருந்தால், அவர்கள் $ 0 தொடங்கி, நிலை அளவுருக்கள் ஒதுக்கப்படும்.
-நான்
-i விருப்பம் இருந்தால், ஷெல் ஊடாடும் .
-l
ஒரு உள்நுழைவு ஷெல் என அழைக்கப்பட்டிருந்தால் (கீழே உள்ள INVOCATION ஐப் பார்க்கவும்) தோல்வியுற்றது .
-r
-r விருப்பம் இருந்தால், ஷெல் கட்டுப்படுத்தப்படும் (கீழே வரையறுக்கப்பட்ட ஷெல் பார்க்கவும்).
-s
-s விருப்பம் இருந்தால், அல்லது விருப்பத்தேர்வு செயலாக்கத்திற்கு பிறகு வாதங்கள் இல்லாவிட்டால், கட்டளைகளை நிலையான உள்ளீட்டில் படிக்கலாம். இந்த விருப்பம் ஒரு ஊடாடத்தக்க ஷெல் ஐ அழைக்கும்போது நிலைப்படுத்தப்பட்ட அளவுருக்கள் அமைக்கப்பட அனுமதிக்கிறது.
-D
$ 2 க்கு முந்தைய அனைத்து இரட்டை மேற்கோள் சரங்களின் பட்டியல் நிலையான ouput இல் அச்சிடப்படுகிறது. தற்போதைய மொழி C அல்லது POSIX அல்ல போது மொழி மொழிபெயர்ப்புக்கு உட்பட்ட சரங்கள் இவை. இது -n விருப்பத்தை குறிக்கிறது; எந்த கட்டளைகளும் செயல்படுத்தப்படாது.
[- +] ஓ [ shopt_option ]
shopt_option என்பது ஷெல் கட்டப்பட்டது (ஷெல் பில்டின் கட்டளைகளைக் கீழே காண்க) ஷெல் விருப்பங்களில் ஒன்றாகும். Shopt_option இருப்பின், -O அந்த விருப்பத்தின் மதிப்பை அமைக்கிறது; + ஓ அதை மறக்கவில்லை. Shopt_option வழங்கப்படவில்லை என்றால், ஷெல் விருப்பங்களின் பெயர்கள் மற்றும் மதிப்புகள் ஸ்டாண்டர்ட் வெளியீட்டில் அச்சிடப்படும். Invocation விருப்பம் + O என்றால், வெளியீடு ஒரு வடிவமைப்பில் காட்டப்படும், இது மீண்டும் உள்ளீட்டாக பயன்படுத்தப்படலாம்.
-
A - விருப்பங்கள் முடிவுக்கு சமிக்ஞைகளும் மேலும் விருப்பத்தேர்வு செயலாக்கத்தை முடக்கும். பின்னர் எந்த வாதங்களையும் - கோப்பு பெயர்கள் மற்றும் வாதங்கள் என கருதப்படுகிறது. ஒரு வாதம் - சமமானதாகும் - .
பல பன்முக விருப்பத் தேர்வுகள் பலவற்றையும் பாஷ் விளக்குகிறார். ஒற்றை-கதாபாத்திர விருப்பங்களை அங்கீகரிப்பதற்கு முன் கட்டளை வரியில் இந்த விருப்பங்கள் தோன்ற வேண்டும்.
--dump-போ-சரங்களை
-D க்கு சமம் , ஆனால் வெளியீடு குனு கெட்டெக்ஸ்ட் போ (போர்ட்டபிள் ஆப்ஜெக்ட்) கோப்பு வடிவத்தில் உள்ளது.
--dump-சரங்களை
-D க்கு சமமானதாகும்.
--உதவி
நிலையான வெளியீட்டில் பயன்பாடு செய்தியைக் காண்பித்தல் மற்றும் வெற்றிகரமாக வெளியேறவும்.
--init கோப்பு கோப்பு
--rcfile கோப்பு
ஷெல் ஊடாடும் போது நிலையான தனிநபர் துவக்கக் கோப்பு ~ / .bashrc க்குப் பதிலாக கோப்பில் இருந்து கட்டளைகளை இயக்கவும் (கீழே உள்ள INVOCATION ஐப் பார்க்கவும்).
--உள் நுழை
-l க்கு சமமானதாகும்.
--noediting
ஷெல் ஊடாடும் போது கட்டளை வரிகளைப் படிக்க GNU readline நூலகத்தை பயன்படுத்த வேண்டாம்.
--noprofile
கணினி அளவிலான தொடக்க கோப்பு / etc / profile அல்லது தனிப்பட்ட துவக்க மென்பொருட்களையோ வாசிக்க வேண்டாம் ~ /. Bash_profile , ~ / .bash_login , அல்லது ~ / .profile . முன்னிருப்பாக, இந்த கோப்புகள் ஒரு உள்நுழைவு ஷெல் என அழைக்கப்படும் போது (கீழே உள்ள INVOCATION ஐப் பார்க்கவும்) படிக்கும்.
--norc
ஷெல் ஊடாடும் போது தனிப்பட்ட துவக்க கோப்பை ~ /. Bashrc ஐ வாசித்து இயக்கவும். ஷெல் ஷோ என அழைக்கப்படும் என்றால் இந்த விருப்பத்தை முன்னிருப்பாக உள்ளது.
--posix
நிலையான ( posix mode ) பொருத்தமாக POSIX 1003.2 தரநிலையிலிருந்து இயல்புநிலை செயல்பாடு வேறுபடுகையில், பாஷ் இன் நடத்தை மாற்றவும்.
--restricted
ஷெல் கட்டுப்படுத்தப்படும் (கீழே வரையறுக்கப்பட்ட ஷெல் பார்க்கவும்).
--rpm-தேவைப்படுகிறது
ஷெல் ஸ்கிரிப்ட் இயக்க தேவையான கோப்புகள் பட்டியலை தயாரிக்கவும். இது '-n' எனக் குறிக்கிறது, மேலும் சிக்கல் நேர பிழை சோதனை சரிபார்ப்பு போன்ற அதே வரம்புகளுக்கு உட்பட்டது; Backticks, [] சோதனைகள், மற்றும் evuls ஆகியவை பாகுபடுத்தப்படவில்லை, இதனால் சில சார்புகள் தவறாக இருக்கலாம். --verbose -v க்கு சமமானதாகும்.
--version
நிலையான வெளியீட்டில் இந்த நிகழ்வுக்கான பாயின் பதிப்பு தகவலைக் காண்பி மற்றும் வெற்றிகரமாக வெளியேறவும்.
வாதங்கள்
விருப்பத்தேர்வு செயலாக்கத்திற்கு பிறகு வாதங்கள் இருக்கும், மற்றும் -c அல்லது -s விருப்பம் வழங்கப்படவில்லை என்றால், முதல் வாதம் ஷெல் கட்டளைகளைக் கொண்டுள்ள கோப்பின் பெயராக கருதப்படுகிறது. இந்த பாணியில் பாஷ் அழைக்கப்படுமானால், கோப்பின் பெயருக்கு $ 0 அமைக்கப்பட்டிருக்கும், மற்றும் நிலை அளவுருக்கள் மீதமுள்ள வாதங்களுக்கு அமைக்கப்பட்டிருக்கும். பாஷ் இந்த கோப்பில் இருந்து கட்டளைகளைப் படித்து இயக்கும், பின்னர் வெளியேறும். பாஷ் வெளியேறும் நிலை என்பது ஸ்கிரிப்டில் செயல்படுத்தப்பட்ட கடைசி கட்டளையின் வெளியேறும் நிலை. எந்த கட்டளையும் நிறைவேற்றப்படவில்லை என்றால், வெளியேறும் நிலை 0 ஆகும். தற்போதைய அடைவில் கோப்பை திறக்க முதலில் ஒரு முயற்சி மேற்கொள்ளப்பட்டது, மற்றும் கோப்பு காணப்படவில்லை எனில், ஷெல் ஸ்கிரிப்டிற்கான PATH இல் உள்ள கோப்பகங்களை தேடுகிறது.
பிரார்த்தனையுடன்
ஒரு உள்நுழைவு ஷெல் , அதன் முதல் எழுத்து வாதம் பூஜ்ஜியம் - ஒன்று, அல்லது ஒரு --login விருப்பத்துடன் தொடங்கப்பட்டது.
ஒரு இடைசெயல் ஷெல் அல்லாத விருப்பத்தை வாதங்கள் இல்லாமல் தொடங்கியது மற்றும் -c விருப்பம் இல்லாமல் அதன் நிலையான உள்ளீடு மற்றும் வெளியீடு டெர்மினல்கள் ( asatty (3) தீர்மானிக்கப்பட்டது), அல்லது ஒரு -i விருப்பத்தை தொடங்கியது. PS1 அமைக்கப்பட்டது மற்றும் $ - பாஷ் என்பது ஊடாடும் போது ஷெல் ஸ்கிரிப்ட் அல்லது துவக்க கோப்பை இந்த மாநிலத்தை சோதிக்க அனுமதிக்கிறது.
பின்வரும் பத்திகள் பஷ் எப்படி தொடக்க கோப்புகளை இயக்கும் என்பதை விவரிக்கின்றன. கோப்புகளில் ஏதேனும் இருப்பினும் அவை வாசிக்கப்படாமல் இருந்தால், பஷ் பிழைகளை அறிவிக்கிறது. விரிதாள் பிரிவில் டில்டே விரிவாக்கத்தின் கீழ் கீழே விவரிக்கப்பட்டபடி கோப்பு பெயர்களில் டைல்டுகள் விரிவாக்கப்படுகின்றன .
ஒரு உள்நுழைவு ஷெல்லாக , அல்லது -login விருப்பத்துடன் அல்லாத இடைசெயல் ஷெல் என பேஷ் அழைக்கப்படும் போது, அது கோப்பு / etc / profile கோப்பில் இருந்து கட்டளைகளை முதலில் படித்து இயங்குகிறது. அந்தக் கோப்பைப் படித்த பிறகு, அந்த வரிசையில் ~ /. Bash_profile , ~ /. Bash_login , மற்றும் / / .profile ஆகியவற்றைக் காணலாம் , இருப்பினும் , முதலில் உள்ளது மற்றும் படிக்கக்கூடிய கட்டளைகளை படித்து முடிக்கிறது. இந்த நடத்தை தடுக்க ஷெல் துவங்கும்போது --noprofile விருப்பம் பயன்படுத்தப்படலாம்.
ஒரு உள்நுழைவு ஷெல் வெளியேறும் போது, பாஷ் அதைக் கொண்டிருந்தால் , கோப்பு / / bash_logout கோப்பில் இருந்து கட்டளைகளை படித்து முடிக்கிறது.
ஒரு உள்நுழைவு ஷெல் இல்லை என்று ஒரு ஊடாடும் ஷெல் போது, பாஷ் படித்து மற்றும் அந்த கோப்பு இருந்தால், ~ /. Bashrc இருந்து கட்டளைகளை செயல்படுத்துகிறது. இது --norc விருப்பத்தைப் பயன்படுத்தி தடுக்கப்பட்டிருக்கலாம். --rcfile கோப்பு விருப்பம், / / . Bashrc க்குப் பதிலாக கோப்பில் இருந்து கட்டளைகளை படிக்கவும் இயக்கவும் பாஷ் செயல்படுகிறது.
உதாரணமாக, ஷெல் ஸ்கிரிப்ட்டை இயக்குவதற்கு, பேஷ் அல்லாத இடைச்செருகலாக இயங்கும் போது, சூழலில் மாறும் BASH_ENV க்கு அது தோன்றுகிறது, அதன் மதிப்பு அங்கு தோன்றினால் அது விரிவடைகிறது, விரிவாக்கப்பட்ட மதிப்பை ஒரு கோப்பு பெயராக படிக்கவும் . பின்வரும் கட்டளை நிறைவேற்றப்பட்டால் பாஷ் செயல்படுவது:
[-0 "$ BASH_ENV"]; பிறகு . "$ BASH_ENV"; புனைகதை
ஆனால் பாத் மாறியின் மதிப்பு கோப்பு பெயரை தேட பயன்படவில்லை .
பெயர் ஷா என்ற பெயரில் பெயரிடப்பட்டால், POSIX தரநிலையுடன் பொருந்துகின்ற அதே சமயத்தில் ஷாவின் வரலாற்று பதிப்புகளின் தொடக்க நடத்தை போலவே இது சாத்தியமாகிறது. ஒரு உள்நுழைவு ஷெல்லாக , அல்லது -login விருப்பத்துடன் ஒரு அல்லாத பரிமாற்ற ஷெல் என அழைக்கப்பட்ட போது, அது முதலில் / etc / profile மற்றும் / அல்லது . இந்த நடத்தை தடுக்க --noprofile விருப்பம் பயன்படுத்தப்படலாம். பெயர் ஷாவுடன் ஒரு ஊடாடத்தக்க ஷெல் என அழைக்கப்பட்ட போது, மாறி ENV க்கு பாஷ் தோன்றுகிறது, அது வரையறுக்கப்பட்டிருந்தால் அதன் மதிப்பை விரிவுபடுத்துகிறது, விரிவாக்கப்பட்ட மதிப்பை ஒரு கோப்பு பெயராக படிக்கவும் இயக்கவும் பயன்படுத்துகிறது. வேறு எந்த தொடக்க கோப்புகளிலிருந்தும் கட்டளைகளை வாசிக்கவும் செயல்படுத்தவும் முயற்சிக்காததால், ஷெல்லால் ஷெல் பயன்படுத்தப்படவில்லை என்பதால், --rcfile விருப்பத்திற்கு எந்த விளைவும் இல்லை. வேறு பெயரிடாத கோப்புகளைப் படிக்க முயற்சி செய்யாத ஷெல்லுடன் ஒரு அல்லாத இடைவினை ஷெல் இல்லை. ஷா என அழைக்கப்பட்டால், துவக்க கோப்புகள் படிக்கும்பின்னர் போஸி மோடம் போகிறது .
போஸிஸ் பயன்முறையில் துவக்கப்படும்போது , --posix கட்டளை வரி விருப்பத்துடன், அது தொடக்க கோப்புகளை POSIX தரநிலையை பின்பற்றுகிறது. இந்த பயன்முறையில், ஊடாடும் குண்டுகள் ENV மாறினை விரிவுபடுத்துகின்றன, மேலும் கட்டளைகளை விரிவாக்கப்பட்ட மதிப்பைக் கொண்டிருக்கும் படிவத்திலிருந்து படிக்கலாம் மற்றும் செயல்படுத்தப்படுகிறது. மற்ற தொடக்க கோப்புகளை படிக்கவில்லை.
பொதுவாக, ஷெல் டீமானால் இயக்கப்படும் போது தீர்மானிக்க பஷ் முயற்சிக்கிறது , பொதுவாக rshd . Bash அதை rshd ஆல் இயங்குகிறது என்பதை உறுதிசெய்தால் , அந்த கோப்பு உள்ளது மற்றும் வாசிக்கக்கூடியதாக இருந்தால், அது ~ / .bashrc இலிருந்து கட்டளைகளை படித்து முடிக்கிறது. ஷோ என அழைக்கப்பட்டால் இது செய்யாது. இந்த நடத்தை தடுக்க, --norc விருப்பம் பயன்படுத்தப்படலாம், மேலும் --rcfile விருப்பத்தை மற்றொரு கோப்பு வாசிக்கப்படும்படி பயன்படுத்தப்படலாம், ஆனால் rshd பொதுவாக அந்த விருப்பங்களுடன் ஷெல் ஐ அழைக்கவோ அல்லது அவற்றை குறிப்பிடவோ அனுமதிக்காது.
உண்மையான பயனர் (குழு) ஐடிக்கு சமமாக இல்லாத பயனாளர் குழு (குழு) ஐடியுடன் ஷெல் தொடங்கப்பட்டால், மற்றும் -p விருப்பம் வழங்கப்படவில்லை, துவக்க கோப்புகள் படிக்கப்படமாட்டாது, ஷெல் செயல்பாடுகளை சூழலில் இருந்து பெற முடியாது, ஷெல்போட்ஸ் மாறி, அது சூழலில் தோன்றினால், புறக்கணிக்கப்படும், மற்றும் பயனுள்ள பயனர் ஐடி உண்மையான பயனர் ஐடிக்கு அமைக்கப்படுகிறது. -p விருப்பம் அழைப்பிதழில் வழங்கப்பட்டால், தொடக்க நடத்தை ஒன்று தான், ஆனால் பயனுள்ள பயனர் ஐடி மீட்டமைக்கப்படவில்லை.
வரையறைகள்
இந்த ஆவணத்தின் எஞ்சியுள்ள பின்வரும் வரையறைகள் பயன்படுத்தப்படுகின்றன.
வெற்று
ஒரு இடம் அல்லது தாவல்.
சொல்
ஷெல் ஒரு ஒற்றை அலகு கருதப்படுகிறது எழுத்துக்கள் ஒரு வரிசை. டோக்கன் என்றும் அழைக்கப்படுகிறது.
பெயர்
ஒரு சொல் மட்டுமே எண்ணெழுத்து எழுத்துகள் மற்றும் அடிக்கோடிட்டுகளைக் கொண்டிருக்கும், மேலும் ஒரு அகரவரிசை அல்லது ஒரு அடிக்கோடிலிருந்து தொடங்குகிறது. அடையாளங்காட்டி எனவும் குறிப்பிடப்படுகிறது.
மெட்டா எழுத்துக்குறி
ஒரு எழுத்துக்குறி, சொற்கள் பிரிக்கும்போது ஒரு பாத்திரம். பின்வருவனவற்றில் ஒன்று:
| &; () <> ஸ்பேஸ் தாவல்
கட்டுப்பாட்டு ஆபரேட்டர்
கட்டுப்பாட்டு செயல்பாட்டைச் செய்யும் டோக்கன் . இது பின்வரும் குறியீடுகள் ஒன்றாகும்:
|| &&&; ;; () | <வரியில் முடிவதற்கு சற்று>
சேமிக்கப்பட்ட வார்த்தைகள்
ஒதுக்கப்பட்ட சொற்கள் ஷெல்லுக்கு ஒரு சிறப்பு அர்த்தம் கொண்ட சொற்கள். பின்வரும் வார்த்தைகளை ஒதுக்கப்படாத போது, ஒரு எளிய கட்டளையின் முதல் சொல்லை (கீழே உள்ள ஷெல் கிராம்மேர் பார்க்கவும்) அல்லது ஒரு வழக்கின் மூன்றாவது வார்த்தை அல்லது கட்டளை:
! இச்செய்தியில் வேறு எதேனும் செய்ய வேண்டும் என்றால், தேர்வு செய்தால், [time]
ஷெல் கிராமர்
எளிய கட்டளைகள்
ஒரு எளிய கட்டளையானது விருப்ப மாறிப்பார்வைகளின் வரிசைமுறையாகும், அதன்பிறகு வெறுமனே வெற்று வார்த்தைகள் மற்றும் திசைமாற்றங்கள் மற்றும் ஒரு கட்டுப்பாட்டு ஆபரேட்டரால் நிறுத்தப்படும். முதல் வார்த்தை நிறைவேற்றப்பட வேண்டிய கட்டளையை குறிப்பிடுகிறது, மேலும் வாதம் பூஜ்ஜியமாக அனுப்பப்படுகிறது. மீதமுள்ள வார்த்தைகள் வேண்டுமென்றே கட்டளைக்கு வாதங்கள் என அனுப்பப்படுகின்றன.
ஒரு எளிய கட்டளையின் திரும்ப மதிப்பு அதன் வெளியேறும் நிலை, அல்லது 128 + n ஐ சமிக்ஞை n மூலம் கட்டளையிடப்பட்டால்.
பைப்லைன்ஸ்
ஒரு குழாய் என்பது ஒன்று அல்லது அதற்கு மேற்பட்ட கட்டளைகளின் தன்மை ஆகும் . குழாய் வடிவமைப்பிற்கான வடிவமைப்பு:
[ நேரம் [ -p ]] [! ] கட்டளை [ | கட்டளை 2 ...]
கட்டளையின் நிலையான வெளியீடு கட்டளை 2 இன் நிலையான உள்ளீட்டுக்கு குழாய் வழியாக இணைக்கப்பட்டுள்ளது. கட்டளையால் குறிப்பிடப்பட்ட எந்த திசை திருப்பல்களுக்கும் முன் இந்த இணைப்பு செய்யப்படுகிறது (கீழே REDIRECTION பார்க்கவும்).
ஒதுக்கப்பட்ட வார்த்தை என்றால் ! ஒரு குழாய் முன், அந்த குழாய் வெளியேறும் நிலை கடைசி கட்டளையின் வெளியேறும் நிலையை தருக்க அல்ல. இல்லையெனில், குழாயின் நிலை கடைசி கட்டளையின் வெளியேறும் நிலை. ஒரு மதிப்பு திரும்புவதற்கு முன் குழாய் உள்ள அனைத்து கட்டளைகளுக்கும் ஷெல் காத்திருக்கிறது.
நேரம் ஒதுக்கப்பட்ட வார்த்தை ஒரு குழாய்த்திட்டத்திற்கு முந்தியிருந்தால், குழாய்த்திட்டம் முடிவடைந்தவுடன் அது நிறைவேற்றப்பட்டால் முடிந்த அளவினையும் பயனீட்டாளரும் முறைமையும் தெரிவிக்கப்படும். -p விருப்பம் POSIX குறிப்பிட்டுள்ள வெளியீடு வடிவமைப்பை மாற்றுகிறது. நேர தகவல் எவ்வாறு காட்டப்பட வேண்டும் என்பதைக் குறிப்பிடும் ஒரு வடிவம் சரத்திற்கு TIMEFORMAT மாறி அமைக்கப்படலாம்; ஷெல் வரியின் கீழ் TIMEFORMAT இன் விளக்கத்தைப் பார்க்கவும்.
ஒரு குழாயிலுள்ள ஒவ்வொரு கட்டளையும் ஒரு தனி செயல்முறையாக (அதாவது, துணை நிறத்தில்) செயல்படுத்தப்படுகிறது.
பட்டியல்கள்
ஒரு பட்டியல் என்பது ஒன்று அல்லது அதற்கு மேற்பட்ட குழாய்த்திட்டங்கள் செய்பவர்களால் பிரிக்கப்பட்ட ஒரு வரிசை ஆகும் ; , & , && , அல்லது || , மற்றும் ஒரு விருப்பமாக ஒரு மூலம் நிறுத்தப்பட்டது ; , & , அல்லது <புதியது> .
இந்த பட்டியல் ஆபரேட்டர்கள், && மற்றும் || அதற்கு சமமான முன்னுரிமை உள்ளது ; மற்றும் , இது சமமான முன்னுரிமை கொண்டது.
ஒன்று அல்லது அதற்கு மேற்பட்ட புதிய வரிகளின் வரிசையை அரைப்புள்ளிக்கு பதிலாக பட்டியல்களில் காணலாம் .
ஒரு கட்டளை கட்டுப்பாட்டு ஆபரேட்டரால் நிறுத்தப்பட்டிருந்தால், ஷெல் துணை நிறத்தில் பின்னணியில் கட்டளையை இயக்கும். ஷெல் கட்டளையை முடிக்க காத்திருக்காது, மற்றும் திரும்ப நிலை 0 ஆகும். ஒரு கட்டளை மூலம் பிரிக்கப்பட்ட கட்டளைகள் ; தொடர்ச்சியாக செயல்படுத்தப்படுகிறது; ஒவ்வொரு கட்டளையிலும் ஷெல் முடிவடைகிறது. திரும்ப நிலைமை கடைசி கட்டளையின் வெளியேறும் நிலையை நிர்வகிக்கிறது.
கட்டுப்பாட்டு ஆபரேட்டர்கள் && மற்றும் || மேற்கோள் மற்றும் பட்டியல்கள் மற்றும் பட்டியல்கள், முறையே. ஒரு பட்டியல் மற்றும் வடிவம் உள்ளது
command1 && கட்டளை 2
கட்டளை 2 செயல்படுத்தப்பட்டால், மற்றும் command1 ஆனது பூஜ்ஜியத்தின் வெளியேறும் நிலைக்குத் திரும்பினால் மட்டுமே.
ஒரு பட்டியல் அல்லது பட்டியல் உள்ளது
command1 || command2
கட்டளை 2 ஒரு பூஜ்ய வெளியேறும் நிலையை கொடுக்கிறது என்றால் மட்டுமே கட்டளை 2 செயல்படுத்தப்படுகிறது. பட்டியலிடப்பட்ட கடைசி கட்டளையின் வெளியேறும் நிலை மற்றும் OR பட்டியல்களின் பட்டியல்.
கூட்டு கட்டளைகள்
ஒரு கூட்டு கட்டளை பின்வருவதில் ஒன்றாகும்:
( பட்டியல் )
பட்டியல் ஒரு சங்கிலியில் செயல்படுத்தப்படுகிறது. ஷெல் சூழலை பாதிக்கும் மாறும் பணிகள் மற்றும் கட்டளை கட்டளைகள் கட்டளை முடிந்தவுடன் நடைமுறையில் இருக்காது. திரும்ப நிலை என்பது பட்டியல் வெளியேறும் நிலை.
{ list ; }
பட்டியல் தற்போதைய ஷெல் சூழலில் செயல்படுத்தப்படுகிறது. பட்டியல் ஒரு புதியலைன் அல்லது அரைப்புள்ளியுடன் நிறுத்தப்பட வேண்டும். இது குழு கட்டளையாக அறியப்படுகிறது. திரும்ப நிலை என்பது பட்டியல் வெளியேறும் நிலை. மெட்டாச்சார்ட்டர்ஸ் ( மற்றும் ) போலல்லாமல், { மற்றும் } ஒதுக்கப்பட்ட சொற்கள் மற்றும் ஒரு ஒதுக்கப்பட்ட சொல்லை அங்கீகரிக்க அனுமதிக்கப்பட வேண்டும். அவர்கள் ஒரு வார்த்தை இடைவெளிக்கு காரணமாக இல்லை, அவர்கள் இடைவெளி மூலம் பட்டியலில் இருந்து பிரிக்கப்பட்ட.
(( வெளிப்பாடு ))
வெளிப்பாடு மதிப்பீடு கீழ் கீழே விவரித்தார் விதிகள் படி வெளிப்பாடு மதிப்பிடப்படுகிறது . வெளிப்பாட்டின் மதிப்பு பூஜ்யம் இல்லையென்றால், திரும்ப நிலை 0 0; இல்லையெனில் திரும்ப நிலை 1. இது " வெளிப்பாடு " அனுமதிக்க சரியாக உள்ளது.
[[ வெளிப்பாடு ]]
நிபந்தனை வெளிப்பாடு வெளிப்பாடு மதிப்பீடு பொறுத்து 0 அல்லது 1 ஒரு நிலை திரும்ப. கருத்துக்கள் கீழ் வெளிப்பாடுகள் கீழ் கீழே விவரிக்கப்படும் அடிப்படைகளை உருவாக்குகின்றது . வார்த்தை பிரித்தல் மற்றும் பாதைபெயர் விரிவாக்கம் [[ ]] மற்றும் [[ ]] ஆகியவற்றுக்கு இடையேயான வார்த்தைகளில் நிகழவில்லை; tilde விரிவாக்கம், அளவுரு மற்றும் மாறி விரிவாக்கம், கணித விரிவாக்கம், கட்டளை மாற்று, செயல்முறை பதிலீடு, மற்றும் மேற்கோள் நீக்கம் செய்யப்படுகின்றன.
== மற்றும் = = ஆபரேட்டர்கள் பயன்படுத்தும் போது, ஆபரேட்டரின் வலதுபுறத்தில் உள்ள சரம் ஒரு வடிவமாகக் கருதப்படுகிறது மற்றும் பேட்டர்ன் மேனிங் கீழ் கீழே விவரிக்கப்பட்டுள்ள விதிகள் படி பொருந்தும் . சரம் பொருந்துகிறதா அல்லது முறையே பொருந்தவில்லை என்றால், 0, அல்லது 1 இல்லையென்றால் return value 0. எந்த ஒரு பகுதியும் ஒரு சரமாக பொருந்துமாறு நிரூபிக்க மேற்கோள் காட்டப்படலாம்.
முன்னுரிமையைக் குறைப்பதில் பட்டியலிடப்பட்டுள்ள பின்வரும் ஆபரேட்டர்களைப் பயன்படுத்துவதன் மூலம் வெளிப்பாடுகள் இணைக்கப்படலாம்:
( வெளிப்பாடு )
வெளிப்பாட்டின் மதிப்பை அளிக்கும். இது ஆபரேட்டர்களின் வழக்கமான முன்னுரிமையை புறக்கணிக்க பயன்படுகிறது.
! வெளிப்பாடு
வெளிப்பாடு தவறானது என்றால் உண்மை.
expression1 && expression2
இரு expression1 மற்றும் expression2 ஆகியவை உண்மை என்றால் உண்மை.
expression1 || expression2 ஒன்று expression1 அல்லது expression2 உண்மை என்றால் உண்மை.
&& மற்றும் || வெளிப்பாடு 1 மதிப்பு முழு நிபந்தனை வெளிப்பாட்டின் திரும்ப மதிப்பை தீர்மானிக்க போதுமானதாக இருந்தால், operators expression2 ஐ மதிப்பீடு செய்யவில்லை.
பெயர்ச்சொல்; பட்டியல் செய் ; முடிந்ததாகக்
பின்வரும் வார்த்தைகளின் பட்டியல் விரிவுபடுத்தப்பட்டு, உருப்படிகளின் பட்டியலை உருவாக்குகிறது. இந்த பட்டியலில் ஒவ்வொரு உறுப்புக்கும் மாறி பெயர் அமைக்கப்பட்டுள்ளது, ஒவ்வொரு முறையும் பட்டியல் செயல்படுத்தப்படுகிறது. சொற்களில் தவிர்க்கப்பட்டால், கட்டளை அமைக்கப்பட்ட ஒவ்வொரு பிசினஸ் அளவுருவிற்கும் ஒரு முறை பட்டியலிடுகிறது. (கீழே உள்ள PARAMETERS பார்க்கவும்). மீண்டும் நிலை என்பது இறுதி கட்டளையின் வெளியேறும் நிலை. ஒரு வெற்றுப்பட்டியலில் முடிவுகளைத் தொடர்ந்து உருப்படிகளை விரிவாக்கம் செய்தால், எந்த கட்டளையும் நிறைவேற்றப்படாது, மற்றும் திரும்ப நிலை 0 ஆகும்.
(( expr1 ; expr2 ; expr3 )); பட்டியல் செய் ; முடிந்ததாகக்
முதலில், அரிதான கணிதத்தின் கீழ் கீழே விவரிக்கப்பட்ட விதிகள் படி கணித வெளிப்பாடு expr1 மதிப்பிடப்படுகிறது . கணித வெளிப்பாடு expr2 பின்னர் பூஜ்யம் மதிப்பீடு வரை மீண்டும் மீண்டும் மதிப்பீடு செய்யப்படுகிறது. பூஜ்ஜிய மதிப்பில் ஒவ்வொரு முறையும் expr2 மதிப்பீடு செய்கிறது, பட்டியல் செயல்படுத்தப்படுகிறது மற்றும் கணித வெளிப்பாடு expr3 மதிப்பிடப்படுகிறது. ஏதேனும் வெளிப்பாடு விலக்கப்பட்டிருந்தால், அது 1 க்கு மதிப்பீடு செய்தால் அது செயல்படும். Return value என்பது இறுதிக் கட்டளையின் இறுதி கட்டளையானது நிறைவேற்றப்பட்ட பட்டியலில் அல்லது தவறான வெளிப்பாடுகள் தவறாக இருந்தால் தவறானது.
பெயர் [ வார்த்தைகளில் ] தேர்ந்தெடு; பட்டியல் செய் ; முடிந்ததாகக்
பின்வரும் வார்த்தைகளின் பட்டியல் விரிவுபடுத்தப்பட்டு, உருப்படிகளின் பட்டியலை உருவாக்குகிறது. விரிவாக்கப்பட்ட வார்த்தைகளின் தொகுப்பு நிலையான பிழை, ஒவ்வொன்றும் முன்னால் அச்சிடப்படுகிறது. வார்த்தை தவிர்க்கப்பட்டால், நிலைப்படுத்தப்பட்ட அளவுருக்கள் அச்சிடப்படும் (கீழே உள்ள PARAMETERS பார்க்கவும்). பிஎஸ் 3 வரியில் காட்டப்படும் மற்றும் நிலையான உள்ளீடு இருந்து ஒரு வரி வாசிக்க. வரி ஒரு காட்டப்படும் வார்த்தைகள் ஒன்று தொடர்புடைய ஒரு எண் இருந்தால், பின்னர் பெயர் மதிப்பு அந்த வார்த்தை அமைக்கப்படுகிறது. வரி காலியாக இருந்தால், வார்த்தைகள் மற்றும் வரியில் மீண்டும் காண்பிக்கப்படும். EOF வாசிக்கப்பட்டால், கட்டளை முடிகிறது. வேறு எந்த மதிப்பு வாசிக்கும் பெயர் பூஜ்யமாக அமைக்கப்பட வேண்டும். வரி வாசிப்பு மாறி மாற்றியமைக்கப்படுகிறது. ஒரு இடைவெளி கட்டளை செயல்படுத்தப்படும் வரை ஒவ்வொரு தேர்விலும் பட்டியல் செயல்படுத்தப்படுகிறது. தேர்ந்தெடுக்கப்பட்ட வெளியேறும் நிலை பட்டியலில் கடைசி கமாண்டின் வெளியேறும் நிலை, அல்லது எந்த கட்டளைகளும் செயல்படுத்தப்படவில்லை என்றால் பூஜ்யம்.
[[]] முறை [ |
ஒரு வழக்கு கட்டளை முதலில் வார்த்தைகளை விரிவுபடுத்துகிறது, மேலும் ஒவ்வொரு முறைக்கு எதிராக அதை பொருத்துவதற்கும் முயற்சி செய்கின்றது, பாதையில் விரிவாக்கத்திற்கான அதே பொருந்தும் விதிகள் (கீழே பாதை விரிவாக்கம் பார்க்க) பயன்படுத்துகிறது. ஒரு போட்டியை காணும்போது, தொடர்புடைய பட்டியல் செயல்படுத்தப்படுகிறது. முதல் ஆட்டத்திற்குப் பிறகு, அடுத்தடுத்த போட்டிகளில் எந்த முயற்சியும் மேற்கொள்ளப்படவில்லை. எந்த மாதிரி பொருந்தும் என்றால் வெளியேறும் நிலை பூஜ்யம். இல்லையெனில், அது பட்டியலில் செயல்படுத்தப்படும் கடைசி கட்டளையின் வெளியேறும் நிலை.
பட்டியல் ; பட்டியல்; [ elif பட்டியல் ; பட்டியல் ; ] ... [ வேறு பட்டியல் ; ] fi
பட்டியல் செயல்படுத்தப்பட்டால். அதன் வெளியேறும் நிலை பூஜ்ஜியமாக இருந்தால், பின் பட்டியல் செயல்படுத்தப்படும். இல்லையெனில், ஒவ்வொரு elif பட்டியலும் இயக்கப்படுகிறது, மற்றும் அதன் வெளியேறும் நிலை பூஜ்ஜியமாக இருந்தால், தொடர்புடைய பின் செயல்படுத்தப்படும் மற்றும் கட்டளை முடிகிறது. இல்லாவிட்டால், வேறு பட்டியல் செயல்படுத்தப்படும். வெளியேறும் நிலை என்பது கடைசியாக கட்டளையின் கடைசி வெளியீட்டின் நிலை அல்லது எந்த நிபந்தனையும் உண்மை இல்லை என்றால் பூஜ்யம்.
பட்டியல் ; பட்டியல் செய் ; முடிந்ததாகக்
பட்டியல் வரை ; பட்டியல் செய் ; முடிந்ததாகக்
பட்டியலின் கடைசி கட்டளையை பூஜ்ஜியத்தின் வெளியேறும் நிலைக்கு வரும் வரைக்கும் கட்டளை தொடர்ந்து செய்யும் பட்டியலை இயக்கும். சோதனையைத் தவிர்த்து, அந்த கட்டளையை தவிர, கட்டளைக்கு ஒத்ததாக இருக்கும்; பட்டியலின் கடைசி கட்டளையை பூஜ்ஜிய வெளியேற்ற நிலைக்கு வழங்கும் வரை, பட்டியல் பட்டியல் செயல்படுத்தப்படுகிறது . போது வெளியேறும் நிலை மற்றும் கட்டளைகள் வரை செயல்படாத கடைசி பட்டியல் கட்டளையின் வெளியேறும் நிலை அல்லது எவரும் செயல்படுத்தப்படவில்லை என்றால் பூஜ்யம்.
[ செயல்பாடு ] பெயர் () { பட்டியல் ; }
இது பெயர் பெயரிடப்பட்ட செயல்பாடு வரையறுக்கிறது. செயல்பாடு உடல் என்பது {மற்றும்} இடையே உள்ள கட்டளைகளின் பட்டியல் ஆகும். ஒரு எளிய கட்டளையின் பெயராக பெயர் குறிப்பிடும்போது இந்த பட்டியல் செயல்படுத்தப்படுகிறது. ஒரு செயல்பாட்டின் வெளியேறும் நிலை என்பது உடலில் இயக்கப்பட்ட கடைசி கட்டளையின் வெளியேறும் நிலை. (கீழே செயல்பாடுகளை காண்க.)
கருத்துகள்
ஒரு அல்லாத ஊடாடும் ஷெல், அல்லது ஒரு ஊடாடும் ஷெல் உள்ள கடையில் கட்டப்பட்டது விருப்பத்தை interact_comments விருப்பத்தை செயல்படுத்தப்படும் (கீழே ஷெல் பில்டின் கட்டளைகளை பார்க்கவும்), ஆரம்பத்தில் ஒரு வார்த்தை # அந்த வார்த்தை மற்றும் அந்த வரி மீதமுள்ள அனைத்து பாத்திரங்கள் புறக்கணிக்க வேண்டும். இயலுமைப்படுத்தக்கூடிய ஒருங்கிணைந்த ஷெல் விருப்பமின்றி, கருத்துரைகளை அனுமதிக்காது. Interactive_comments விருப்பம் முன்னிருப்பாக ஊடாடும் குண்டுகளில் உள்ளது.
மேற்கோள்
குறிப்பிட்ட எழுத்துகள் அல்லது சொற்களின் சிறப்பு அர்த்தத்தை ஷெல்க்கு அகற்றுவதற்கு மேற்கோள் பயன்படுத்தப்படுகிறது. மேற்கோள் தேவை சிறப்புக் கதாபாத்திரங்களுக்கு சிறப்பு சிகிச்சையை முடக்க, ஒதுக்கப்பட்ட வார்த்தைகளை அடையாளம் காணப்படுவதை தடுக்கவும், அளவுரு விரிவாக்கத்தைத் தடுக்கவும் பயன்படுத்தலாம்.
DEFINITIONS இன் கீழ் மேலே பட்டியலிடப்பட்ட மெட்டச்சார்பேர் ஒவ்வொன்றும் ஷெல்க்கு விசேஷமான அர்த்தம் உள்ளது, மேலும் அது தன்னை பிரதிநிதித்துவப்படுத்துவதாக இருந்தால் மேற்கோள் காட்டப்பட வேண்டும்.
கட்டளை வரலாற்று விரிவாக்கம் வசதிகள் பயன்படுத்தப்பட்டு வருகையில் , பொதுவாக வரலாற்று விரிவாக்கம் தன்மை ! வரலாற்று விரிவாக்கத்தை தடுக்க மேற்கோளிடப்பட வேண்டும்.
மூன்று மேற்கோள்களை கொண்ட வழிமுறைகள் உள்ளன: தப்பிக்கும் பாத்திரம் , ஒற்றை மேற்கோள், இரட்டை மேற்கோள்.
ஒரு அல்லாத மேற்கோள் பின்சாய்வுக்கோடானது ( \ ) தப்பிக்கும் பாத்திரம் ஆகும் . இது அடுத்த புதினத்தின் உண்மையான மதிப்பைப் பராமரிக்கிறது, இது
ஒற்றை மேற்கோள்களில் உள்ள எழுத்துக்கள் அடங்கிய மேற்கோள்களின் ஒவ்வொரு தன்மையின் உண்மையான மதிப்பையும் பாதுகாக்கிறது. ஒற்றை மேற்கோள்களுக்கு இடையில் ஒரு ஒற்றை மேற்கோள் இருக்கக்கூடாது, பின்னோக்கி முந்தியிருந்தாலும் கூட.
இரட்டை மேற்கோள்களில் உள்ள எழுத்துக்கள் மேற்கோள்களுக்குள் உள்ள அனைத்து எழுத்துக்களின் உண்மையான மதிப்பையும், $ , ` , மற்றும் \ தவிர . கதாபாத்திரங்கள் $ மற்றும் ` இரட்டை மேற்கோள்களுக்குள் தங்கள் சிறப்பு அர்த்தத்தை தக்க வைத்துக் கொள்ளுங்கள். $ , ` , " , அல்லது
இரட்டை மேற்கோள்களில் சிறப்பு அளவுருக்கள் * மற்றும் @ க்கு சிறப்பு அர்த்தம் இருக்கிறது (கீழே PARAMETERS ஐப் பார்க்கவும்).
வடிவம் $ string 'சொற்கள் சிறப்பாக சிகிச்சை. வார்த்தை சரத்திற்கு விரிவடைகிறது, ANSI சி தரநிலையால் குறிப்பிடப்பட்டிருக்கும் பின்ஸ்லாஷ்-தப்பி எழுத்துகள் மாற்றப்பட்டுள்ளன. பின்ஸ்லாஷ் தற்கால காட்சிகளை, தற்போது இருந்தால், பின்வருமாறு டிகோட் செய்யப்படுகின்றன:
\ ஒரு
எச்சரிக்கை (மணி)
\ ஆ
பின்னிட
\ இ
ஒரு தப்பிக்கும் பாத்திரம்
\ ஊ
படிவம் ஊட்டம்
\ N
புதிய கோடு
\ ஆர்
வண்டி திரும்பும்
\ டி
கிடைமட்ட தாவல்
\ வி
செங்குத்து தாவல்
\\
பின்சாய்வுக்கோடானது
\ '
ஒற்றை மேற்கோள்
\ nn
எட்டு பிட் பாத்திரம் அதன் மதிப்பு ஆல்டால் மதிப்பு nnn (ஒன்று முதல் மூன்று இலக்கங்கள்)
\ x HH
எட்டு-பிட் தன்மை யாருடைய மதிப்பு ஹெக்டேடைசிமல் மதிப்பு HH (ஒன்று அல்லது இரண்டு ஹெக்ஸ் இலக்கங்கள்)
\ c x
ஒரு கட்டுப்பாடு- x தன்மை
விரிவாக்கப்பட்ட முடிவு டாலர் குறியீடாக இல்லாவிட்டால், ஒற்றை மேற்கோள் ஆகும்.
ஒரு டாலர் குறியீட்டை ( $ ) முன் ஒரு இரட்டை மேற்கோள் சரம் தற்போதைய மொழியின் படி சரத்தை மொழிபெயர்க்கும். தற்போதைய மொழி C அல்லது POSIX என்றால், டாலர் குறியை புறக்கணிக்க வேண்டும். சரம் மொழிபெயர்க்கப்பட்டு, மாற்றப்பட்டால், மாற்றீடு இரட்டை மேற்கோள் ஆகும்.
பாராமீட்டர்கள்
மதிப்புகள் சேமிப்பதற்கான ஒரு அளவுரு ஒரு அளவுருவாகும் . இது சிறப்பு வரம்பின்கீழ் கீழே உள்ள சிறப்பு பெயரில் ஒரு பெயர் , எண், அல்லது ஒன்று. ஷெல் நோக்கங்களுக்காக, ஒரு மாறி ஒரு பெயர் குறிக்கப்பட்ட அளவுரு ஆகும். ஒரு மாறி மதிப்பு மற்றும் பூஜ்ஜியம் அல்லது அதிக பண்புகளை கொண்டுள்ளது . பண்புகளை கட்டியெழுப்ப கட்டளையைப் பயன்படுத்தி ஒதுக்கீடு செய்யப்படுகின்றன (ஷெல் பில்டின் கட்டளைகளில் கீழே உள்ளதைக் காட்டுக).
ஒரு மதிப்பு ஒதுக்கப்படும் என்றால் ஒரு அளவுரு அமைக்கப்படுகிறது. பூஜ்ய சரம் சரியான மதிப்பு. ஒரு மாறி அமைக்கப்பட்டால், அதை அமைக்காமல் உள்ளமைக்கப்பட்ட கட்டளைப் பயன்படுத்தி மட்டுமே அமைக்கப்படாமல் இருக்கலாம் (கீழே உள்ள ஷெல் பில்டின் கட்டளைகளைக் காண்க).
ஒரு மாறி வடிவம் ஒரு அறிக்கை மூலம் ஒதுக்கப்படும்
பெயர் = [ மதிப்பு ]
மதிப்பு கொடுக்கப்படவில்லை என்றால், மாறி பூஜ்யமாக சரளமாக ஒதுக்கப்படுகிறது. அனைத்து மதிப்புகளும் tilde விரிவாக்கம், அளவுரு மற்றும் மாறி விரிவாக்கம், கட்டளை பதிலீடு, கணித விரிவாக்கம் மற்றும் மேற்கோள் நீக்கம் (கீழே பார்க்க EXPANSION ). மாறி அதன் முழுமையான பண்புக்கூறு அமைக்கப்பட்டிருந்தால், $ ((...)) விரிவாக்கம் பயன்படுத்தப்படாவிட்டாலும் மதிப்பானது , கணித விரிவாக்கத்திற்கு உட்பட்டது (கீழே உள்ள அரித்மெடிக் விரிவாக்கம் பார்க்கவும்). விசேஷ வரம்புகளின்கீழ் கீழே விளக்கப்பட்டுள்ளபடி, "$ @" விதிவிலக்கு தவிர வேர்ட் பிரிப்பிங் செய்யப்படவில்லை. Pathname விரிவாக்கம் செய்யப்படவில்லை. அறிவிப்பு அறிக்கைகள் அறிவிப்பு , தட்டச்சு , ஏற்றுமதி , வாசிப்பு மற்றும் உள்ளூர் கட்டடக் கட்டளைகளுக்கு வாதங்களாகக் காட்டப்படும்.
நிலைப்படுத்தப்பட்ட அளவுருக்கள்
ஒரு புள்ளி அளவுரு ஒரு ஒற்றை இலக்கத்தைத் தவிர வேறு ஒன்று அல்லது அதற்கு மேற்பட்ட இலக்கங்களால் குறிக்கப்பட்ட ஒரு அளவுரு ஆகும். அது பதப்படுத்தப்பட்ட போது ஷெல் வாதங்கள் இருந்து பதப்படுத்தப்பட்ட அளவுருக்கள் ஒதுக்கப்படுகின்றன. நியமிக்கப்பட்ட அறிக்கையுடன் முதிர்வு அளவுருக்கள் ஒதுக்கப்படக்கூடாது. ஒரு ஷெல் செயல்பாட்டை இயக்கினால், நிலைப்படுத்தப்பட்ட அளவுருக்கள் தற்காலிகமாக மாற்றப்படும் (கீழே உள்ள FUNCTIONS ஐ பார்க்கவும்).
ஒரே ஒரு இலக்கத்தை விட கூடுதலாக ஒரு நிலை அளவுரு விரிவடைந்தால், அது ப்ரேஸில் இணைக்கப்பட வேண்டும் (கீழே பார்க்கவும் EXPANSION ).
சிறப்பு அளவுருக்கள்
ஷெல் சிறப்பாக பல அளவுருக்கள் நடத்துகிறது. இந்த அளவுருக்கள் மட்டுமே குறிப்பிடப்படலாம்; அவர்களுக்கு நியமிப்பு அனுமதிக்கப்படவில்லை.
*
ஒரு தொடங்கி, பதனிட்ட அளவுருக்கள் விரிவடைகிறது. இரட்டை மேற்கோள்களுக்குள் விரிவாக்கம் நிகழும்போது, அது IFS சிறப்பு மாறியின் முதல் தன்மையால் பிரிக்கப்பட்ட ஒவ்வொரு அளவுருவிற்கும் ஒரு ஒற்றை வார்த்தையுடன் விரிவடைகிறது. அதாவது, " $ * " என்பது " $ 1 சி $ 2 கேட்ச் ... " க்கு சமம் ஆகும், அங்கு c ஐ IFS மாறியின் மதிப்பு முதல் எழுத்து ஆகும். IFS அமைக்காமல் இருந்தால், அளவுருக்கள் இடைவெளிகளால் பிரிக்கப்படுகின்றன. IFS பூஜ்யமாக இருந்தால், அளவுருக்கள் தற்காலிக பிரிப்பாளர்களாக இல்லாமல் இணைந்துள்ளன.
@
ஒரு தொடங்கி, பதனிட்ட அளவுருக்கள் விரிவடைகிறது. இரட்டை மேற்கோளில் விரிவாக்கம் நிகழும்போது, ஒவ்வொரு அளவுருவும் ஒரு தனி வார்த்தைக்கு விரிவடைகிறது. " $ 1 " " $ 1 " க்கு சமமானதாகும். " $ 2 " க்கு சமமானதாகும் ... எந்த பதவிநிலை அளவுருக்கள் இல்லாத போதும், " $ @ " மற்றும் $ @ விரிவாக்கலாம் (அதாவது அவை அகற்றப்படும்).
#
தசம தரவரிசை அளவுருக்கள் எண்ணிக்கைக்கு விரிவடைகிறது.
?
மிக சமீபத்தில் செயல்படுத்தப்பட்ட முன்புற குழாய் நிலையை விரிவுபடுத்துகிறது.
-
உள்ளீட்டு கட்டளையால் குறிப்பிடப்பட்டவாறு தற்போதைய விருப்பமான கொடிகளை விரிவாக்குகிறது, அல்லது செட் தானாக அமைக்கப்படும் ( -i விருப்பம் போன்றது).
$
ஷெல் செயல்முறை ID க்கு விரிவடைகிறது. ஒரு () subshell இல், இது தற்போதைய ஷெல் செயல்முறை ஐடிக்கு விரிவடைகிறது, துணை நிறத்தில் இல்லை.
!
மிக சமீபத்தில் செயல்படுத்தப்பட்ட பின்னணி (ஒத்தியங்கா) கட்டளையின் செயல்முறை ID க்கு விரிவடைகிறது.
0
ஷெல் அல்லது ஷெல் ஸ்கிரிப்டின் பெயர் விரிவடைகிறது. இது ஷெல் துவக்கத்தில் அமைக்கப்பட்டுள்ளது. கட்டளை கோப்பில் கோப்பைப் பயன்படுத்தினால், $ 0 அந்த கோப்பின் பெயருக்கு அமைக்கப்பட்டிருக்கும். -c விருப்பத்துடன் bash துவங்கியிருந்தால், ஒரு இருந்தால், $ 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 builtins கோப்பகங்களை சேர்க்க மற்றும் நீக்க பயன்படுத்தப்பட வேண்டும். இந்த மாறியின் ஒதுக்கீடு நடப்பு கோப்பகத்தை மாற்றாது. DIRSTACK அமைக்காமல் இருந்தால், அதன் சிறப்பு பண்புகளை அது மீட்டமைத்தாலும் கூட இழக்கிறது.
EUID
நடப்பு பயனரின் பயனுள்ள பயனர் அடையாளத்தை விரிவாக்குகிறது, ஷெல் தொடக்கத்தில் ஆரம்பிக்கப்படுகிறது. இந்த மாறி வாசிக்கும்.
FUNCNAME
எந்த தற்போது செயல்படுத்தும் ஷெல் செயல்பாடு பெயர். ஒரு ஷெல் செயல்பாட்டை செயல்படுத்தும் போது மட்டுமே இந்த மாறி உள்ளது. FUNCNAME க்கான பணிகள் ஏதேனும் விளைவை ஏற்படுத்தவில்லை மற்றும் பிழை நிலை திரும்பவும். FUNCNAME அமைக்காமல் இருந்தால், அது அதன் சிறப்பு பண்புகளை இழக்க நேரிடும்.
GROUPS இல்
தற்போதைய பயனர் உறுப்பினராக இருக்கும் குழுவின் பட்டியல் கொண்ட ஒரு வரிசை மாறி. GROUPS க்கு ஒதுக்கப்பட்ட பணிகள் ஏதேனும் ஒரு விளைவை ஏற்படுத்தவில்லை மற்றும் பிழை நிலைக்கு திரும்பும். GROUPS அமைக்கப்படாவிட்டால், அதன் சிறப்பு பண்புகளை அது மீட்டமைத்தாலும் கூட இழக்கிறது.
HISTCMD
வரலாற்றின் எண், அல்லது வரலாற்றின் பட்டியலில் உள்ள அட்டவணை, தற்போதைய கட்டளையின். HISTCMD அமைக்கப்படாவிட்டால், அதன் சிறப்பு பண்புகள் இழக்கப்பட்டுவிட்டாலும், அதை மீட்டமைக்கலாம்.
HOSTNAME உடன்
தற்போதைய புரவலன் பெயரை தானாக அமைக்கவும்.
HOSTTYPE
தானாகவே ஒரு சரத்திற்கு அமைக்கவும், இது bash இயக்கும் கணினியின் வகையை விவரிக்கிறது. இயல்புநிலையாக கணினி சார்ந்தது.
LINENO
ஒவ்வொரு முறையும் இந்த அளவுரு குறிப்பிடப்படுகிறது, ஷெல் ஒரு ஸ்கிரிப்ட் அல்லது செயல்பாட்டிற்குள் நடப்பு வரிசை வரிசை எண் (1 உடன் தொடங்கி) குறிக்கும் ஒரு தசம எண். ஒரு ஸ்கிரிப்ட் அல்லது செயல்பாட்டில் இல்லையென்றால், அதற்கு மாற்றாக மதிப்பு அர்த்தமுள்ளதாக இருக்காது. LINENO அமைக்கப்படாவிட்டால், அதன் சிறப்பு பண்புகளை இழக்க நேர்ந்தாலும், அது மீண்டும் மீட்டமைக்கப்பட்டாலும் கூட.
MACHTYPE
நிலையான குனு CPU- நிறுவனம்-கணினி வடிவமைப்பில், பாஷ் செயல்படுத்துகின்ற கணினி வகையை முழுமையாக விவரிக்கும் ஒரு சரத்திற்கு தானாக அமைக்கப்படுகிறது. இயல்புநிலையாக கணினி சார்ந்தது.
OLDPWD
முந்தைய வேலை அடைவு cd கட்டளையால் அமைக்கப்பட்டது.
OPTARG
Getopts கட்டப்பட்ட கட்டளையால் செயல்படுத்தப்பட்ட கடைசி விருப்பத்தின் மதிப்பு மதிப்பு (கீழே உள்ள ஷெல் பில்டின் கட்டளைகள் பார்க்கவும்).
OPTIND
Getopts கட்டப்பட்ட கட்டளையால் செயல்படுத்தப்படும் அடுத்த வாதத்தின் குறியீடானது (கீழே உள்ள ஷெல் பில்டின் கட்டளைகளைக் காண்க).
OSTYPE
இயக்க முறைமை எந்த இயக்கத்தில் இயங்குகிறது என்பதை விவரிக்கும் ஒரு சரத்திற்கு தானாக அமைக்கப்படுகிறது. இயல்புநிலையாக கணினி சார்ந்தது.
PIPESTATUS
அண்மையில்-நிறைவேற்றப்பட்ட முன்புற குழாய் (இது ஒரு கட்டளையை மட்டும் கொண்டிருக்கும்) செயல்முறையில் இருந்து வெளியேறும் நிலை மதிப்புகளின் பட்டியலைக் கொண்ட ஒரு வரிசை மாறி (கீழே வரிசைகள் பார்க்கவும்).
PPID
ஷெல் பெற்றோர் செயல்முறை ஐடி. இந்த மாறி வாசிக்கும்.
பொதுப்பணித்துறை
தற்போதைய பணி அடைவு cd கட்டளையால் அமைக்கப்பட்டது.
சீரற்ற
ஒவ்வொரு முறையும் இந்த அளவுரு குறிப்பிடப்படுகிறது, 0 மற்றும் 32767 க்கு இடையில் ஒரு சீரற்ற முழு எண் உருவாக்கப்படுகிறது. சீரற்ற எண்களின் வரிசை RANDOM க்கு ஒரு மதிப்பை வழங்குவதன் மூலம் ஆரம்பிக்கப்படலாம். RANDOM அமைக்காமல் இருந்தால், அது அதன் சிறப்பு பண்புகளை இழந்து விடுகிறது.
REPLY
வாதங்கள் வழங்கப்படாவிட்டால் வாசிக்கப்பட்ட கட்டளை கட்டளை மூலம் வாசிக்கப்படும் உள்ளீட்டு வரிசையில் அமைக்கவும்.
நொடிகள்
ஒவ்வொரு முறையும் இந்த அளவுரு குறிப்பிடப்படுகிறது, ஷெல் பிரவுசர் திரும்பியதில் இருந்து விநாடிகளின் எண்ணிக்கை. ஒரு மதிப்பு SECONDS க்கு ஒதுக்கப்பட்டிருந்தால், அடுத்தடுத்த குறிப்புகள் மீது திரும்பிய மதிப்பு என்பது ஒதுக்கீட்டு மற்றும் ஒதுக்கப்பட்டுள்ள மதிப்பிலிருந்து விநாடிகளின் எண்ணிக்கை ஆகும். SECONDS அமைக்கப்படாவிட்டால், அதன் சிறப்பு பண்புகளை அது மீட்டமைத்தாலும் கூட இழக்கிறது.
SHELLOPTS
செயல்படுத்தப்பட்ட ஷெல் விருப்பங்களின் ஒரு பெருங்குடனான பிரிக்கப்பட்ட பட்டியலை. பட்டியலிலுள்ள ஒவ்வொரு வார்த்தையும் தொகுப்பு கட்டளை கட்டளைக்கு -o விருப்பத்திற்கான சரியான வாதம் ஆகும் (கீழே உள்ள ஷெல் பில்டின் கட்டளைகளைக் காண்க). ஷெல்லோப்டில் தோன்றும் விருப்பங்கள் செட் -ஓ மூலம் அறிவிக்கப்பட்டவை. Bash ஐ தொடங்கும் போது இந்த மாறி சூழலில் இருந்தால், பட்டியலில் உள்ள ஒவ்வொரு ஷெல் விருப்பமும் எந்த தொடக்க கோப்புகளையும் வாசிக்கும் முன் செயல்படுத்தப்படும். இந்த மாறி வாசிக்க மட்டுமே.
SHLVL
ஒவ்வொரு முறையும் ஒரு பாஷ் இன் நிகழ்வு துவங்கியது.
யூ.ஐ.டி
நடப்பு பயனரின் பயனர் ஐடிக்கு விரிவாக்குகிறது, ஷெல் தொடக்கத்தில் ஆரம்பிக்கப்படுகிறது. இந்த மாறி வாசிக்கும்.
பின்வரும் மாறிகள் ஷெல் மூலம் பயன்படுத்தப்படுகின்றன. சில சந்தர்ப்பங்களில், bash ஒரு மாறிக்கு ஒரு இயல்புநிலை மதிப்பை ஒதுக்குகிறது; இந்த வழக்குகள் கீழே குறிப்பிடப்பட்டுள்ளன.
BASH_ENV
Bash ஷெல் ஸ்கிரிப்ட்டை இயக்கும் போது இந்த அளவுரு அமைக்கப்பட்டிருந்தால், அதன் மதிப்பு ஷெல்லை ஆரம்பிக்கும் கட்டளைகளைக் கொண்டுள்ள கோப்புப்பெயர் என வரையறுக்கப்படுகிறது, இது ~ / .bashrc இல் உள்ளது . BASH_ENV இன் மதிப்பானது, அளவுரு விரிவாக்கம், கட்டளை மாற்றுதல், மற்றும் கணித விரிவாக்கம் ஆகியவை கோப்பு பெயராகப் புரிந்துகொள்ளப்படுவதற்கு முன்னர் உட்பட்டது. PATH ஆனது விளைவான கோப்பு பெயரை தேட பயன்படாது.
CDPATH
Cd கட்டளையின் தேடல் பாதை. இது cd கட்டளையால் குறிப்பிடப்பட்ட இலக்கு கோப்பகங்களுக்கான ஷெல் தோன்றுகின்ற கோலான்-பிரிக்கப்பட்ட பட்டியல்களின் பட்டியலாகும். ஒரு மாதிரி மதிப்பு ".::: Usr".
பத்திகள்
தேர்வு பட்டியலை அச்சிடும் போது முனையத்தின் அகலத்தை தீர்மானிக்க தேர்ந்தெடுக்கப்பட்ட கட்டளை கட்டளையால் பயன்படுத்தப்படுகிறது. ஒரு SIGWINCH ரசீது தானாக அமைக்கப்படும்.
COMPREPLY
நிரல் முடிக்க வசதி ( ஷாப்பிங் முடிந்தவரை கீழே பார்க்கவும்) ஒரு ஷெல் செயல்பாட்டினால் உருவாக்கப்பட்ட முடிந்த முடிவை பாஷ் வாசித்த ஒரு வரிசை மாறி.
FCEDIT
Fc கட்டளை கட்டளையின் இயல்புநிலை ஆசிரியர்.
FIGNORE
கோப்பு பெயர் முடிவடையும் போது புறக்கணிக்கப்பட்ட ஒரு பெருங்குடனான பிரிக்கப்பட்ட பட்டியல் ( READLINE கீழே காண்க). FIGNORE உள்ளீடுகளில் ஒன்றைப் பொருத்த ஒரு கோப்புப்பெயர் பொருத்தப்பட்ட கோப்பு பெயர்களில் இருந்து விலக்கப்பட்டுள்ளது. ஒரு மாதிரி மதிப்பு ".o: ~".
GLOBIGNORE
கோப்புகளின் தொகுப்பை வரையறுக்கும் முறைகளின் ஒரு பெருங்குடன-பிரிக்கப்பட்ட பட்டியல் பாதை பாதை விரிவாக்கம் மூலம் புறக்கணிக்கப்படும். ஒரு பாதைபெயர் விரிவாக்க முறையுடன் பொருந்தும் ஒரு கோப்புப்பெயர் GLOBIGNORE இன் வடிவங்களில் ஒன்றுடன் பொருந்தும் என்றால், அது போட்டிகளின் பட்டியலிலிருந்து நீக்கப்பட்டது.
HISTCONTROL
புறக்கணிக்கப்பட்ட ஒரு மதிப்புக்கு அமைக்கப்பட்டால், இடைவெளியைத் தொடங்கும் கோடுகள் வரலாற்றுப் பட்டியலில் சேர்க்கப்படவில்லை. புறக்கணிக்கப்பட்ட மதிப்புகளுக்கு அமைக்கப்பட்டால், கடைசி வரலாற்று வரிசைக்கு பொருந்துகின்ற வரிகள் உள்ளிடப்படவில்லை. புறக்கணிப்பு ஒரு மதிப்பு இரண்டு விருப்பங்களை ஒருங்கிணைக்கிறது. அமைக்கப்படாவிட்டால் அல்லது மேலே உள்ளதை விட வேறு மதிப்புக்கு அமைக்கப்பட்டால், பாகுபாட்டால் வாசிக்கப்படும் அனைத்து வரிகளும் HISTIGNORE மதிப்பிற்கு உட்பட்டு வரலாற்றுப் பட்டியலில் சேமிக்கப்படும். இந்த மாறியின் செயல்பாடு HISTIGNORE ஆல் அகற்றப்பட்டது . பல வரி கலவை கட்டளையின் இரண்டாம் மற்றும் அடுத்தடுத்த வரிகளை சோதனை செய்யவில்லை, மேலும் HISTCONTROL இன் மதிப்பைப் பொருட்படுத்தாமல் வரலாற்றில் சேர்க்கப்படுகின்றன.
HISTFILE
கட்டளை வரலாறு சேமிக்கப்படும் கோப்பின் பெயர் (கீழே உள்ள வரலாற்றைக் காண்க). முன்னிருப்பு மதிப்பு ~ /. Bash_history . அமைத்திருந்தால், ஒரு ஊடாடும் ஷெல் வெளியேறும் போது கட்டளை வரலாறு சேமிக்கப்படவில்லை.
HISTFILESIZE
வரலாற்று கோப்பில் உள்ள அதிகபட்ச வரிகளின் எண்ணிக்கை. இந்த மாறி மதிப்புக்கு ஒதுக்கப்படும் போது, வரலாற்று கோப்பானது தேவைப்பட்டால், அந்த வரிசையின் எண்ணிக்கையை விட அதிகமாக இல்லை. இயல்புநிலை மதிப்பு 500 ஆகும். ஒரு ஊடாடும் ஷெல் வெளியேறும் போது வரலாற்று கோப்பும் இந்த அளவுக்கு எழுதும்.
HISTIGNORE
வரலாற்றின் பட்டியலில் எந்த கட்டளை வரிகளை சேமிக்க வேண்டும் என்பதை தீர்மானிக்க பயன்படுத்தப்படும் ஒரு பெருங்குடல்-பிரிக்கப்பட்ட பட்டியலின் பட்டியல். ஒவ்வொரு வடிவமும் வரிசையின் தொடக்கத்தில் தொகுக்கப்பட்டு முழுமையான வரிசையுடன் பொருந்த வேண்டும் (எந்த உள்ளடக்கமும் சேர்க்கப்படவில்லை * ). HISTCONTROL குறிப்பிட்டுள்ள காசோலைகள் பயன்படுத்தப்படும் பின்னர் ஒவ்வொரு முறையும் வரிக்கு எதிராக சோதிக்கப்பட்டது. இயல்பான ஷெல் மாதிரிக்கும் பொருந்தும் கூடுதலாக, ` & 'முந்தைய வரலாற்று வரிசைக்கு பொருந்தும். ` & 'ஒரு பின்சாய்வுக் காட்சியைப் பயன்படுத்தி தப்பித்துக் கொள்ளலாம்; ஒரு போட்டியை முயற்சிக்கும் முன் பின்சாய்வு நீக்கப்படும். பல வரி கலவை கட்டளையின் இரண்டாவது மற்றும் அடுத்தடுத்த வரிசைகளில் சோதனை செய்யப்படவில்லை, மற்றும் HISTIGNORE மதிப்பைப் பொருட்படுத்தாமல் வரலாற்றில் சேர்க்கப்படுகின்றன.
HISTSIZE
கட்டளை வரலாற்றில் நினைவில் கொள்ள வேண்டிய கட்டளைகளின் எண்ணிக்கை (கீழே உள்ள வரலாறு காண்க). முன்னிருப்பு மதிப்பு 500 ஆகும்.
முகப்பு
தற்போதைய பயனரின் முகப்பு அடைவு; cd கட்டளை கட்டளைக்கு முன்னிருப்பு வாதம். Tilde விரிவாக்கம் செய்யும் போது இந்த மாறி மதிப்பு பயன்படுத்தப்படுகிறது.
HOSTFILE
ஷெல் ஒரு புரவலன் பெயரை முடிக்க வேண்டும் போது வாசிக்க வேண்டும் என்று அதே வடிவத்தில் ஒரு கோப்பு பெயர் / etc / hosts போன்ற கொண்டுள்ளது . ஷெல் இயங்கும் போது சாத்தியமான ஹோஸ்ட்பெயர் முடிப்புகளின் பட்டியல் மாறும்; மதிப்பு மாறிய பிறகு அடுத்த முறை ஹோஸ்ட்பெயர் முடித்தல் முயற்சி செய்யப்பட்டு, புதிய கோப்பின் உள்ளடக்கங்களை ஏற்கனவே உள்ள பட்டியலில் சேர்க்கும். HOSTFILE அமைக்கப்பட்டிருந்தால், ஆனால் மதிப்பு இல்லாதது, சாத்தியமான ஹோஸ்ட்பெயர் முடிப்புகளின் பட்டியலைப் பெறுவதற்கு / etc / hosts ஐ வாசிப்பதற்கான பஸ் முயற்சிகள். HOSTFILE அமைக்கப்படாவிட்டால், ஹோஸ்ட்பெயர் பட்டியல் அழிக்கப்படும்.
, IFS
விரிவாக்கத்திற்குப் பிறகு வார்த்தை பிளவுக்குப் பயன்படும் உள்ளமை புலம் பிரிப்பான் , கட்டப்பட்ட கட்டளை கட்டளையுடன் வார்த்தைகளாக பிளவுபடுத்துகிறது. முன்னிருப்பு மதிப்பு ``
IGNOREEOF
ஒரே ஒரு உள்ளீடாக EOF தன்மையை பெறுவதில் ஒரு ஊடாடும் ஷெல் நடவடிக்கையை கட்டுப்படுத்துகிறது. அமைக்கப்பட்டால், மதிப்பு தொடர்ச்சியான EOF கதாபாத்திரங்களின் எண்ணிக்கையாகும், இது பாஷ் வெளியேறும் முன் உள்ள உள்ளீட்டு வரியில் முதல் எழுத்துகளாக தட்டச்சு செய்யப்பட வேண்டும். மாறி உள்ளது ஆனால் ஒரு எண் மதிப்பு இல்லை, அல்லது மதிப்பு இல்லை என்றால், இயல்புநிலை மதிப்பு 10. அது இல்லை என்றால், EOF ஷெல் உள்ளீடு முடிவை குறிக்கிறது.
INPUTRC
Readline தொடக்க கோப்பிற்கான கோப்புப்பெயர், ~ / .inputrc இன் இயல்புநிலைக்கு பதிலளிப்பது ( READLINE கீழே காண்க).
LANG மொழியில்
எந்த வகையிலும் LC_ உடன் தொடங்கும் ஒரு மாறிடன் குறிப்பாக எந்த வகையிலும் தேர்ந்தெடுக்கப்படவில்லை என்பதைக் குறிக்க பயன்படுத்தப்படுகிறது .
LC_ALL
இந்த மாறி LANG இன் மதிப்பையும், வேறு எந்த LC_ மாறிட்டையும் ஒரு மொழி வகை குறிப்பிடுகிறது.
LC_COLLATE
பாதை மாறி விரிவடைவதன் முடிவுகளை வரிசைப்படுத்தும் போது இந்த மாறி பயன்படுத்தப்படுகிறது, மற்றும் வரம்பு வெளிப்பாடுகள், சமநிலை வகுப்புகள் மற்றும் பாதை வரிசை விரிவாக்கம் மற்றும் மாதிரி பொருத்துதல் உள்ள வரிசைப்படுத்துதல் காட்சிகள் ஆகியவற்றை நிர்ணயிக்கும்.
LC_CTYPE
இந்த மாறி பாத்திரங்களின் விளக்கம் மற்றும் பாத்திரம் விரிவாக்கம் மற்றும் மாதிரி பொருத்துதல்களுக்குள் எழுத்து வகுப்புகளின் நடத்தை தீர்மானிக்கிறது.
LC_MESSAGES
இந்த மாறி ஒரு டாலர் முன் இரட்டை மேற்கோள் சரங்களை மொழிபெயர்க்க பயன்படுத்தப்படும் மொழி தீர்மானிக்கிறது.
LC_NUMERIC
இந்த மாறி எண் வரிசைப்படுத்தலுக்காக பயன்படுத்தப்படும் லோகோ வகைகளை தீர்மானிக்கிறது.
கோடுகள்
அச்சிடும் தேர்வு பட்டியல்களின் நெடுவரிசை நீளத்தை தீர்மானிக்க தேர்ந்தெடுக்கப்பட்ட கட்டளை கட்டளையால் பயன்படுத்தப்படுகிறது. ஒரு SIGWINCH ரசீது தானாக அமைக்கப்படும்.
மின்னஞ்சல்
இந்த அளவுரு கோப்பு பெயருக்கு அமைக்கப்பட்டால் மற்றும் MAILPATH மாறி அமைக்கப்படவில்லை என்றால், குறிப்பிட்ட கோப்பில் அஞ்சல் வருகையின் பயனரைக் குறிப்பிடுகிறார்.
MAILCHECK
எவ்வளவு அடிக்கடி (விநாடிகளில்) அஞ்சல் அனுப்பும் என்பதைக் குறிப்பிடுகிறது. முன்னிருப்பு 60 விநாடிகள். மின்னஞ்சல் சரிபார்க்க நேரம் இருக்கும்போது, முதன்மை வரியில் தோன்றும் முன் ஷெல் செய்கிறது. இந்த மாறி அமைக்கப்படாவிட்டால், அல்லது பூஜ்ஜியத்தை விட அதிகமாகவோ அல்லது சமமாகவோ இல்லாத ஒரு மதிப்புக்கு அமைத்தால், ஷெல் மெயில் சோதனைக்கு முடக்குகிறது.
MAILPATH
அஞ்சல் கோப்பிற்கான ஒரு கோலான்-பிரிக்கப்பட்ட பட்டியல் கோப்புகளின் பட்டியல். ஒரு குறிப்பிட்ட கோப்பில் அஞ்சல் வரும் போது அச்சிடப்பட வேண்டிய செய்தி, '?' என்ற செய்தியிடமிருந்து கோப்புப் பெயரைப் பிரிப்பதன் மூலம் குறிப்பிடப்படலாம். செய்தியின் உரையில் பயன்படுத்தப்படும் போது, $ _ நடப்பு mailfile இன் பெயர் விரிவடைகிறது. உதாரணமாக:
MAILPATH = '/ var / mail / bfox? "உங்களுக்கு அஞ்சல் உள்ளது": ~ / shell-mail? "$ _ அஞ்சல் உள்ளது!"'
பாஷ் இந்த மாறிக்கு ஒரு முன்னிருப்பு மதிப்பை வழங்குகிறது, ஆனால் அது பயன்படுத்துகின்ற பயனர் அஞ்சல் கோப்புகளின் இடம் சார்ந்திருக்கும் (எ.கா., / var / mail / $ USER ).
OPTERR
மதிப்பு 1 க்கு அமைக்கப்பட்டால், பாஷ் காட்சிக்கான கட்டளை கட்டளையால் உருவாக்கப்படும் பிழை செய்திகளை காட்டுகிறது (கீழே உள்ள ஷெல் பில்டின் கட்டளைகளைக் காண்க). OPTR ஒவ்வொரு முறையும் 1 ஷெல் பயன்படுத்தப்படுகிறது அல்லது ஒரு ஷெல் ஸ்கிரிப்ட் செயல்படுத்தப்படுகிறது.
PATH இன்
கட்டளைகளுக்கான தேடல் பாதை. இது ஷெல் கட்டளைகளை தேடுகின்ற கோலான் -பிரிக்கப்பட்ட பட்டியல்களின் பட்டியலாகும் (கீழே உள்ள COMMAND செயல்முறை பார்க்கவும்). இயல்புநிலை பாதை system-dependent, மற்றும் bash ஐ நிறுவும் நிர்வாகியால் அமைக்கப்படுகிறது. ஒரு பொதுவான மதிப்பு `` / usr / gnu / bin: / usr / local / bin: / usr / ucb: / bin: / usr / bin: ''.
POSIXLY_CORRECT
இந்த மாறி சூழலில் துவங்கும் போது சூழலில், ஷெல் துவக்க கோப்புகளை படிக்கும் முன் posix பயன்முறையில் நுழைகிறது, - asixix invocation option வழங்கப்பட்டது போல. ஷெல் இயங்கும் போது அது அமைக்கப்பட்டிருந்தால் , கட்டளை அமை-போஸிக்ஸ் செயல்படுத்தப்பட்டால், பாஷ் போலிசின் பயன்முறையை செயல்படுத்துகிறது.
PROMPT_COMMAND
அமைக்கப்பட்டால், ஒவ்வொரு முதன்மை வரியில் வழங்குவதற்கு முன்னர் மதிப்பு ஒரு கட்டளையாக செயல்படுத்தப்படுகிறது.
ப்ளேஸ்டேசன் 1
இந்த அளவுருவின் மதிப்பு விரிவடைந்தது (கீழே உள்ள PROMPTING ஐ பார்க்கவும்) மற்றும் முதன்மை வரியில் சரம் பயன்படுத்தப்படுகிறது. முன்னிருப்பு மதிப்பு `` \ s- \ v \ $ ''.
பிஎஸ் 2
இந்த அளவுருவின் மதிப்பு PS1 உடன் விரிவாக்கப்பட்டு இரண்டாம் கட்டளை சரமாகப் பயன்படுகிறது. இயல்புநிலை `` > ''.
பிஎஸ் 3
இந்த அளவுருவின் மதிப்பு தேர்ந்தெடுத்த கட்டளையின் வரியில் பயன்படுத்தப்படுகிறது (மேலே SHELL GRAMMAR ஐ பார்க்கவும்).
PS4
இந்த அளவுருவின் மதிப்பு PS1 உடன் விரிவுபடுத்தப்படுகிறது மற்றும் ஒவ்வொரு கட்டளை பாஷ் காட்சிக்கும் ஒரு மரணதண்டனை நிகழ்விற்கு முன் மதிப்பு அச்சிடப்படுகிறது. PS4 இன் முதல் பாத்திரம் பல முறை திசைதிருப்பப்படுகிறது. இயல்புநிலை `` + ''.
நேர அமைப்பு
இந்த அளவுருவின் மதிப்பு, நேரம் ஒதுக்கிடப்பட்ட வார்த்தையுடன் முன்கூட்டப்பட்ட பைபின்களுக்கான நேர தகவலை எவ்வாறு காட்ட வேண்டும் என்பதை குறிப்பிடும் வடிவமைப்பு சரம் எனப் பயன்படுத்தப்படுகிறது. % பாத்திரம் ஒரு தற்காலிக காட்சியை அறிமுகப்படுத்துகிறது, அது ஒரு நேர மதிப்பு அல்லது பிற தகவல்களை விரிவாக்குகிறது. தப்பிக்கும் காட்சிகள் மற்றும் அவற்றின் அர்த்தங்கள் பின்வருமாறு; அடைப்புகள் விருப்பமான பகுதியைக் குறிக்கின்றன.
%%
ஒரு உண்மை % .
% [ ப ] [எல்] ஆர்
வினாடிகளில் மீதமுள்ள நேரம்.
% [ ப ] [எல்] யு
பயனர் பயன்முறையில் CPU விநாடிகளின் எண்ணிக்கை.
% [ ப ] [எல்] எஸ்
கணினி பயன்முறையில் CPU நொடிகளின் எண்ணிக்கை.
% பி
CPU சதவிகிதம், (% U +% S) /% R ஆக கணக்கிடப்பட்டது.
விருப்ப p என்பது துல்லியத்தைக் குறிப்பிடும் ஒரு இலக்கமாகும், தசம புள்ளிக்குப் பின் பின்னல் இலக்கங்களின் எண்ணிக்கை. 0 மதிப்பு ஒரு வெளியீடு இல்லை தசம புள்ளி அல்லது பின்னம் ஏற்படுகிறது. தசம புள்ளி குறிப்பிடப்பட்ட பின்னர் மூன்று இடங்களில்; p க்கும் 3 க்கும் அதிகமான மதிப்புகள் 3 க்கு மாற்றப்படுகின்றன. p குறிப்பிடப்படவில்லை என்றால் மதிப்பு 3 பயன்படுத்தப்படுகிறது.
விருப்ப L ஆனது நீண்ட வடிவத்தை குறிப்பிடுகிறது, இதில் நிமிடங்கள் உட்பட, வடிவம் MM m SS . FF கள். பியின் மதிப்பு சேர்க்கப்பட்டிருந்தாலும் அல்லது பிரிக்கப்படுமா என்பதை தீர்மானிக்கும்.
இந்த மாறி அமைக்கப்படாவிட்டால், மதிப்பு $ $ \ nreal \ t% 3lR \ nuser \ t% 3lU \ nsys% 3ls 'எனக் குறிக்கிறது . மதிப்பு பூஜ்யமாக இருந்தால், எந்த நேர தகவலும் காட்டப்படாது. வடிவம் சரம் காட்டப்படும் போது ஒரு முன்னிலைப்படுத்தப்பட்ட புதியலைன் சேர்க்கப்படும்.
TMOUT
பூஜ்ஜியத்தை விட அதிகமான மதிப்புக்கு அமைக்கப்பட்டால், TMOUT readin உள்ளமைப்பிற்கான இயல்புநிலை நேர முடிவாக கருதப்படுகிறது. உள்ளீடு ஒரு முனையிலிருந்து வரும் போது TMOUT விநாடிகளுக்குப் பின் உள்ளீடு இல்லையென்றால் தேர்ந்தெடுத்த கட்டளை முற்றுகிறது. ஒரு ஊடாடத்தக்க ஷெல் இல், முதன்மை வரியில் வழங்கப்பட்ட பிறகு உள்ளீட்டிற்கு காத்திருக்கும் வினாடிகளின் எண்ணிக்கை என மதிப்பிடப்படுகிறது. உள்ளீடு வரவில்லையென்றால், வினாடிகளின் எண்ணிக்கையில் காத்திருக்கும் பிறகு பாஷ் முடிவடைகிறது.
auto_resume
ஷெல் பயனர் மற்றும் வேலை கட்டுப்பாட்டில் எவ்வாறு தொடர்புகொள்கிறாரோ அதை இந்த மாறி கட்டுப்படுத்துகிறது. இந்த மாறி அமைக்கப்பட்டால், திசைதிருப்பல்கள் இல்லாமல் ஒற்றை வார்த்தையான எளிய கட்டளைகள் ஏற்கனவே இருக்கும் வேலை நிறுத்தத்தை மீண்டும் தொடங்குவதற்கான வேட்பாளர்களாக கருதப்படுகின்றன. அனுதாபம் அனுமதிக்கப்படவில்லை; தட்டச்சு செய்த சரத்துடனான ஒரு வேலைக்கு அதிகமாக இருந்தால், சமீபத்தில் அணுகப்பட்ட வேலை தேர்ந்தெடுக்கப்பட்டது. இந்த சூழலில் ஒரு வேலை நிறுத்தம் செய்யப்பட்ட வேலை, இது தொடங்குவதற்கு கட்டளை வரி. சரியான மதிப்புக்கு அமைக்கப்பட்டால், வழங்கப்பட்ட சரம் சரியாக வேலை நிறுத்தப்பட்ட பெயரை பொருத்த வேண்டும்; பொருத்தமாக அமைக்கப்பட்டால், சரம் வழங்கப்பட்ட வேலைகளின் பெயர் ஒரு பொருளை பொருத்த வேண்டும். பொருளின் மதிப்பு % க்கு ஒப்பான செயல்பாட்டை வழங்குகிறது . வேலை அடையாளங்காட்டி (கீழே உள்ள பணியிடத்தைக் காண்க). வேறு மதிப்புக்கு அமைக்கப்பட்டிருந்தால், வழங்கப்பட்ட சரம் நிறுத்தப்பட்ட வேலைகளின் பெயரின் முன்னொப்பாக இருக்க வேண்டும்; இது % job identifier க்கு ஒத்த செயல்பாடுகளை வழங்குகிறது.
histchars
வரலாற்று விரிவாக்கம் மற்றும் டோக்கனிசலை கட்டுப்படுத்தும் இரண்டு அல்லது மூன்று எழுத்துகள் (வரலாற்று விரிவாக்கம் கீழே காண்க). வரலாற்றின் விரிவாக்க தன்மை முதல் பாத்திரம் என்பது, வரலாற்றின் விரிவாக்கம் ஆரம்பமாக இருப்பதைக் குறிக்கும் தன்மை, பொதுவாக ` ! '. இரண்டாவது பாத்திரம் விரைவான பதிலீட்டு பாத்திரம் ஆகும், முந்தைய கட்டளையை மீண்டும் இயக்கும் சுருக்கமாகப் பயன்படுத்தப்படுகிறது, கட்டளைக்கு மற்றொரு சரத்தை மாற்றுகிறது. இயல்புநிலை என்பது ` ^ '. விருப்பமான மூன்றாம் தன்மை என்பது ஒரு சொற்களின் முதல் தன்மை, பொதுவாக ' # ' எனக் கண்டறியப்பட்டால் வரி எஞ்சியிருப்பதாகக் குறிப்பிடுகின்ற பாத்திரம் ஆகும். வரலாற்றின் கருத்துத் தன்மை வரலாற்றின் மாற்றீடானது, வரிக்கு மீதமுள்ள வார்த்தைகளுக்கு தவிர்க்கப்பட வேண்டும். ஷெல் பாகுபாட்டாளர் மற்ற வரிகளை ஒரு கருப்பொருளாக கருதுவதற்கு அவசியமில்லை.
வரிசைகள்
பாஷ் ஒரு பரிமாண வரிசை மாறிகள் வழங்குகிறது. எந்த மாறி ஒரு வரிசை பயன்படுத்தப்படுகிறது; அறிவிப்பு கட்டப்பட்டது வெளிப்படையாக ஒரு வரிசை அறிவிக்க வேண்டும். ஒரு வரிசை அளவு அதிகபட்ச வரம்பு இல்லை, அல்லது உறுப்பினர்கள் குறியீடாக்கம் அல்லது contiguously ஒதுக்கப்படும் எந்த தேவை. வரிசைகள் முழுமையாய் பயன்படுத்தி குறியிடப்பட்டு பூஜ்ஜிய அடிப்படையிலானவை.
எந்தவொரு மாறியும் இலக்கணப் பெயர் [தொகு] = மதிப்புகளைப் பயன்படுத்துவதற்கு ஒதுக்கப்பட்டிருந்தால், தானாக உருவாக்கப்பட்ட ஒரு அணி உருவாக்கப்பட்டது. சந்தாதாரர் ஒரு கணித வெளிப்பாடு என கருதப்படுகிறது, இது பூஜ்ஜியத்தை விட அதிகமாகவோ அல்லது சமமாகவோ மதிப்பீடு செய்யப்பட வேண்டும். வெளிப்படையாக ஒரு வரிசை அறிவிக்க, அறிவிப்பு-ஒரு பெயர் பயன்படுத்தவும் (கீழே ஷெல் பில்டின் கட்டளைகள் பார்க்கவும்). அறிவிக்க - ஒரு பெயர் [ சந்ததி ] ஏற்றுக்கொள்ளப்படுகிறது; சந்தா புறக்கணிக்கப்படுகிறது. அறிவிப்பு மற்றும் வாசிப்புக்குரிய கட்டடங்களைப் பயன்படுத்தி வரிசை மாறிக்கு பண்புகளை குறிப்பிடலாம். ஒவ்வொரு பண்புக்கும் ஒரு வரிசை அனைத்து உறுப்பினர்களுக்கும் பொருந்தும்.
வரிசைகள் வடிவம் பெயர் = ( மதிப்பு 1 ... மதிப்பு n ) , ஒவ்வொரு மதிப்பு வடிவம் [ சந்தா ] = சரம் எங்கே கலவை பணிகள் பயன்படுத்தப்படுகின்றன. சரம் மட்டுமே தேவைப்படுகிறது. விருப்ப அடைப்புக்குறிகள் மற்றும் சந்தா வழங்கப்பட்டிருந்தால், அந்த குறியீட்டு ஒதுக்கப்படும்; இல்லையெனில், ஒதுக்கப்படும் உறுப்பு குறியீடானது, அறிக்கை மற்றும் பிளஸ் ஒன்றுக்கு ஒதுக்கப்படும் கடைசி குறியீடாகும். குறியீட்டு பூஜ்ஜியத்தில் தொடங்குகிறது. இந்த இலக்கணத்தை அறிவிப்பதன் மூலம் ஏற்றுக்கொள்ளப்படுகிறது. தனிப்பட்ட வரிசை உறுப்புகள் பெயரைப் பயன்படுத்த [தொகு] = மதிப்பு தொடரியல் மேலே அறிமுகப்படுத்தப்படலாம்.
அமைப்பை அழிப்பதற்காக அமைக்கப்பட்ட உள்ளமைவு பயன்படுத்தப்படுகிறது. unset name [ subscript ] குறியீட்டு சந்தாவில் வரிசை உறுப்பு அழிக்கிறது. அமைக்காத பெயர் , பெயர் பெயர் ஒரு வரிசை, அல்லது பெயரை அமைக்காதது [ சந்தா ], சந்தாதாரர் * அல்லது @ , முழு வரிசை நீக்குகிறது.
பிரகடனம் , உள்ளூர் , மற்றும் படிக்கக்கூடிய கட்டடங்களை ஒவ்வொன்றும் ஒரு வரிசைக்கு ஒரு -A விருப்பத்தை ஏற்றுக்கொள்கின்றன. படிக்க உள்ளமைக்கப்பட்ட ஒரு -A விருப்பத்தை நிலையான உள்ளீடு இருந்து ஒரு வரிசை வரை படிக்க வார்த்தைகள் பட்டியல் ஒதுக்க. தொகுப்புகள் மற்றும் கட்டடங்களை மதிப்பிடுவதற்கு அவற்றை மதிப்பிடுவதற்கு அனுமதிக்கும் வகையில் வரிசை மதிப்புகளை அறிவிக்கவும் .
விரிவாக்கம்
கட்டளை வரியில் அது விரிவுபடுத்தப்பட்ட பிறகு விரிவாக்கம் செய்யப்படுகிறது. ஏழு வகையான விரிவாக்கங்கள் உள்ளன: பிரேஸ் விரிவாக்கம் , டில்ட் விரிவாக்கம் , அளவுருக்கள் மற்றும் மாறி விரிவாக்கம் , கட்டளை மாற்றுதல் , கணித விரிவாக்கம் , சொல் பிளப்பு , மற்றும் பாதைபெயர் விரிவாக்கம் .
விரிவாக்கத்தின் வரிசையாக்கம்: பிரேஸ் விரிவாக்கம், டில்ட் விரிவாக்கம், அளவுருக்கள், மாறி மற்றும் கணித விரிவாக்கம் மற்றும் கட்டளை மாற்றுதல் (இடது-வலது-வலது பாணியில் செய்யப்பட்டவை), சொல் பிளவு, மற்றும் பாதைபெயர் விரிவாக்கம்.
அதை ஆதரிக்கும் அமைப்புகள் மீது கூடுதல் விரிவாக்கம் உள்ளது: செயல்முறை மாற்று .
பிரேஸ் விரிவாக்கம்
பிரேஸ் விரிவாக்கம் தன்னிச்சையான சரங்களை உருவாக்கக்கூடிய ஒரு இயங்குமுறை. இந்த வழிமுறையானது பாதை பெயர் விரிவாக்கம் போலவே உள்ளது, ஆனால் கோப்பு பெயர்கள் உருவாக்கப்படவில்லை. பிரேஸ் விரிவுபடுத்தப்பட்ட வடிவங்கள் ஒரு விருப்பமான முன்னுருவின் வடிவத்தை எடுத்துக் கொள்கின்றன, அதன்பின் ஒரு ஜோடி ப்ரேஸ் இடையே தொடர்ச்சியான காற்புள்ளியால் பிரிக்கப்பட்ட சரங்களைக் கொண்டு, விருப்ப பிந்தைய ஸ்கிரிப்டைப் பெற்றுள்ளன . முன்னுரை பிரேஸ்களிலுள்ள ஒவ்வொரு சரத்திற்கு முன்னுரிமையும், போஸ்ட்ஸ்கிரிப்ட் பின்னர் ஒவ்வொன்றும் சரத்துடன் சேர்க்கப்படுகிறது, இடதுபுறம் வலதுபுறம் விரிவடைகிறது.
கவசம் விரிவாக்கப்படலாம். ஒவ்வொரு விரிவாக்கப்பட்ட சரத்தின் முடிவுகளும் வரிசைப்படுத்தப்படவில்லை; இடமிருந்து வலப்பக்கம் பாதுகாக்கப்படுகிறது. எடுத்துக்காட்டாக, ஒரு { d, c, b } மற்றும் `ade ace abe` இல் விரிவடைகிறது.
வேறு எந்த விரிவாக்கத்திற்கும் முன்னால் கவசம் விரிவாக்கம் செய்யப்படுகிறது, மேலும் பிற விரிவாக்கங்களுக்கு சிறப்புடைய எழுத்துக்கள் இதன் விளைவாக சேமிக்கப்படுகின்றன. இது கண்டிப்பாக உரை. விரிவுபடுத்தலின் பின்னணியிலோ அல்லது இடைவெளிகளுக்கு இடையேயான உரையிலோ பாஷ் எந்தவிதமான சொற்பொருள் விளக்கம் பொருந்தவில்லை.
மேலே கூறப்பட்டதை விட சரங்களின் பொதுவான முன்னொட்டு உருவாக்கப்படும் போது இந்த கட்டடம் சுருக்கமாகப் பயன்படுத்தப்படுகிறது:
mkdir / usr / local / src / bash / {பழைய, புதிய, தொலை, பிழைகள்}
அல்லது
chown ரூட் /usr/{ucb/{ex,edit},lib/{ex?.?* ,howhow_ex}}
பிரேஸ் விரிவாக்கம் ஷாவின் வரலாற்று பதிப்புகளுடன் சிறிது பொருந்தாத தன்மையை அறிமுகப்படுத்துகிறது. ஷே பிரேஸ்களால் திறக்கப்படாமலோ அல்லது மூடுபவர்களிடமோ பிரத்தியேகமாக ஒரு வார்த்தையின் பாகமாக தோன்றும், அவற்றை வெளியீட்டில் பாதுகாத்துக்கொள்வதில்லை. பாஸ் விரிவடைவதன் விளைவாக வார்த்தைகளிலிருந்து ப்ரேஸை பாஷ் நீக்குகிறார். உதாரணமாக, sh என்ற கோப்பில் {1,2} என்ற வார்த்தையை வெளியீட்டில் ஒத்த ஒரு சொல் தோன்றும். அதே வார்த்தையானது file1 file2 என வெளியீடு வெளியீடு ஆகும். ஷுருடன் கண்டிப்பான இணக்கத்தன்மை தேவைப்பட்டால், + B விருப்பத்துடன் பிஷ் துவக்க அல்லது தொகுப்பு கட்டளையுடன் + B விருப்பத்துடன் முரட்டு விரிவாக்கத்தை முடக்கு (கீழே ஷெல் பில்டின் கட்டளைகள் பார்க்கவும்).
டில்டே விரிவாக்கம்
ஒரு சொடுக்கப்படாத tilde தன்மை (` ~ ') உடன் தொடங்குகிறது என்றால், முதன்முதலாக unquoted slash (அல்லது அனைத்து எழுத்துக்களும் இல்லாமல், unquoted slash இல்லாவிட்டால்) முன்னால் உள்ள எழுத்துக்கள் அனைத்தும் ஒரு tilde- முன்னொட்டு என கருதப்படுகிறது. Tilde-prefix இல் உள்ள எழுத்துக்குறிகள் எதுவும் மேற்கோள் காட்டப்படவில்லை என்றால், tilde க்குப் பின் வரும் tilde-prefix களின் எழுத்துக்கள் ஒரு உள்நுழைவு பெயராக கருதப்படும் . இந்த உள்நுழைவு பெயர் பூஜ்ய சரம் என்றால், Tilde ஷெல் அளவுரு HOME இன் மதிப்புடன் மாற்றப்படும். முகப்பு இல்லையெனில், ஷெல் இயக்கும் பயனரின் முகப்பு கோப்பகம் பதிலாக மாற்றாக உள்ளது. இல்லையெனில், குறிப்பிட்ட உள்நுழைவு பெயருடன் தொடர்புடைய வீட்டு அடைவு மூலம் tilde-prefix மாற்றப்படும்.
Tilde-prefix என்பது ஒரு `~ + 'என்றால், ஷெல் மாறி PWD இன் மதிப்பு டில்ட்-முன்னொட்டை மாற்றும். Tilde-prefix என்பது `~ - 'என்றால், ஷெல் மாறி OLDPWD இன் மதிப்பு, அது அமைக்கப்பட்டால், மாற்றீடு செய்யப்படும். Tilde-prefix இல் உள்ள tilde க்குப் பின்னால் உள்ள எழுத்துகள் ஒரு எண் N ஐ கொண்டிருக்கும் , விருப்பத்தேர்வாக `+ 'அல்லது ஒரு' - 'முன்னிலைப்படுத்தினால், tilde-prefix ஆனது கோப்பக ஸ்டேக்கிலிருந்து தொடர்புடைய உறுப்புடன் மாற்றப்படும், இது காண்பிக்கப்படும் ஒரு வாதமாக டில்ட்-முன்னொட்டுடன் இணைந்த dirs மூலம். Tilde-prefix இல் உள்ள tilde ஐப் பின்பற்றி வரும் எழுத்துகள் முன்னணி `+ 'அல்லது` -' இல்லாமல் பல இருந்தால், '+' என்பது கருதப்படுகிறது.
உள்நுழைவு பெயர் தவறானது என்றால், அல்லது டில்டு விரிவாக்கம் தோல்வியடைந்தால், வார்த்தை மாறாமல் உள்ளது.
ஒரு மாறி உடனடியாக பின்வரும் குறிப்புகள் : ஒவ்வொரு மாறியும் ஒதுக்கீடு செய்யப்படாத tilde-prefix களை உடனடியாக சரிபார்க்க வேண்டும். இந்த சந்தர்ப்பங்களில், டில்டே விரிவாக்கம் செய்யப்படுகிறது. இதன் விளைவாக, பைட் , MAILPATH , மற்றும் CDPATH ஆகியவற்றிற்கான பணிக்கான கோப்புகளில் கோப்பு பெயர்களைப் பயன்படுத்தலாம், மேலும் ஷெல் விரிவாக்கப்பட்ட மதிப்பை வழங்குகிறது.
அளவுரு விரிவாக்கம்
` $ 'பாத்திரம் அளவுரு விரிவாக்கம், கட்டளை மாற்றுதல், அல்லது கணித விரிவாக்கம் ஆகியவற்றை அறிமுகப்படுத்துகிறது. விரிவுபடுத்தப்பட வேண்டிய அளவுரு பெயர் அல்லது சின்னம் ப்ரேஸ்ஸில் இணைக்கப்படலாம், ஆனால் இது விருப்பமானது, ஆனால் பெயரைப் பகுப்பாய்வு செய்யக்கூடிய எழுத்துக்களை உடனடியாக மாற்றியமைக்க மாறிப் பாதுகாக்க உதவும்.
பிரேஸ்களைப் பயன்படுத்தும்போது, பொருத்தமான முடிவுக்கு வரும் பிரேஸ் என்பது பின்சாய்வுக்கோ அல்லது மேற்கோள் சரத்தின் மூலமாகவோ தப்பிச் செல்லாத முதல் ` } ', மற்றும் ஒரு உட்பொதிக்கப்பட்ட எண்கணித விரிவாக்கம், கட்டளை மாற்றுதல் அல்லது அளவுரு விரிவாக்கம் ஆகியவற்றிற்குள் அல்ல.
அளவுருவின் மதிப்பு மாற்றாக உள்ளது. அளவுருக்கள் ஒன்றுக்கும் மேற்பட்ட இலக்கங்களுடன் கூடிய அளவுரு அளவுருவாக இருக்கும் போது அல்லது ப்ரேய்டர் அதன் பெயரின் ஒரு பகுதியாகப் புரிந்துகொள்ளக் கூடிய ஒரு பாத்திரத்தை பின்பற்றுகிறது.
கீழே உள்ள ஒவ்வொரு வழக்குகளிலும், சொல் tilde விரிவாக்கம், அளவுரு விரிவாக்கம், கட்டளை மாற்று, மற்றும் கணித விரிவாக்கம் ஆகியவற்றுக்கு உட்பட்டது. பொருத்தமற்ற விரிவாக்கத்தைச் செயல்படாதபோது, அமைக்கப்படாத அல்லது பூஜ்யமாக இருக்கும் அளவுருக்கான பாஷ் சோதனைகள்; பெருங்குடல் முடிவுகளை மீறுவதால், ஒரு சோதனைக்கு மட்டும் ஒரு சோதனை இருக்காது.
இயல்புநிலை மதிப்புகள் பயன்படுத்தவும் . அளவுரு அமைக்கப்படாவிட்டால் அல்லது பூஜ்யமாக இருந்தால், வார்த்தைகளின் விரிவாக்கம் மாற்றுகிறது. இல்லையெனில், அளவுருவின் மதிப்பு மாற்றுகிறது.
இயல்புநிலை மதிப்புகள் ஒதுக்க . அளவுரு அமைக்கப்படாவிட்டால் அல்லது பூஜ்யமாக இருந்தால், சொல் விரிவாக்கம் அளவுருவுக்கு ஒதுக்கப்படும். அளவுருவின் மதிப்பு பின்னர் மாற்றப்பட்டுள்ளது. இந்த வழியில் முன்கூட்டிய அளவுருக்கள் மற்றும் சிறப்பு அளவுருக்கள் ஒதுக்கப்படக்கூடாது.
பூஜ்ய அல்லது முடக்கம் என்றால் காட்சி பிழை . அளவுரு பூஜ்யமாக அல்லது அமைக்கப்படாவிட்டால், வார்த்தையின் விரிவாக்கம் (அல்லது வார்த்தை இல்லாவிட்டால் அது ஒரு செய்தியைக் குறிக்கும்) நிலையான பிழை மற்றும் ஷெல் ஆகியவற்றிற்கு எழுதப்பட்டால், அது ஊடாடக்கூடாது என்றால், வெளியேறும். இல்லையெனில், அளவுருவின் மதிப்பு மாற்றுகிறது.
மாற்று மதிப்பு பயன்படுத்தவும் . அளவுரு பூஜ்யமாக அல்லது அமைக்கப்படாவிட்டால், மாற்றீடு எதுவும் இல்லை, இல்லையெனில் வார்த்தையின் விரிவாக்கம் மாற்றுகிறது.
IFS சிறப்பு மாறியின் முதல் எழுத்தினால் பிரிக்கப்பட்ட, முன்னொட்டுடன் கூடிய பெயர்கள் தொடங்கும் மாறிகளின் பெயர்களுக்கு விரிவடைகிறது.
அளவுரு மதிப்புகளின் எழுத்துகளில் நீளம் உள்ளது. அளவுரு * அல்லது @ என்றால், பதவிக்கான அளவுருக்கள் எண்ணிக்கை மாற்றுகிறது. அளவுரு என்றால் * அல்லது @ ஆல் அனுப்பப்பட்ட ஒரு வரிசை பெயர் என்றால், அதற்கு பதிலாக உள்ள மதிப்பு வரிசைகளில் உள்ள உறுப்புகளின் எண்ணிக்கை.
பாதை பாதை விரிவாக்கம் போலவே ஒரு வடிவத்தை உருவாக்க இந்த வார்த்தை விரிவடைந்தது. அளவுரு அளவுருவின் மதிப்பின் பொருத்தமாக இருந்தால், விரிவாக்கத்தின் விளைவாக, சிறிய பொருந்தும் முறை (`` # வழக்கு ') அல்லது நீண்ட பொருந்தும் முறை (`` ## ' 'வழக்கு) நீக்கப்பட்டது. அளவுரு @ அல்லது * எனில் , ஒவ்வொரு பின்தோன்றல் அளவுருவிற்கும் முறை அகற்றுதல் செயல்பாட்டைப் பயன்படுத்துகிறது, மேலும் விரிவாக்கம் விளைவான பட்டியலாகும். அளவுரு என்பது @ அல்லது * உடன் இணைக்கப்பட்ட ஒரு வரிசை மாறியாக இருந்தால், வரிசைக்கு ஒவ்வொரு உறுப்பிற்கும் முறை அகற்றும் செயல்பாடு பயன்படுத்தப்படுகிறது, மேலும் விரிவாக்கம் விளைவான பட்டியலாகும்.
பாதை பாதை விரிவாக்கம் போலவே ஒரு வடிவத்தை உருவாக்க இந்த வார்த்தை விரிவடைந்தது. அளவுருவின் விரிவாக்கப்பட்ட மதிப்பின் ஒரு பின்திரும்பல் பகுதியை பொருத்தியால், விரிவாக்கத்தின் விளைவாக, குறுகிய பொருந்தும் அமைப்பின் (`` % '' வழக்கு) அல்லது மிக நீண்ட பொருந்துகின்ற முறை (`` % % '' வழக்கு) நீக்கப்பட்டது. அளவுரு @ அல்லது * எனில் , ஒவ்வொரு பின்தோன்றல் அளவுருவிற்கும் முறை அகற்றுதல் செயல்பாட்டைப் பயன்படுத்துகிறது, மேலும் விரிவாக்கம் விளைவான பட்டியலாகும். அளவுரு என்பது @ அல்லது * உடன் இணைக்கப்பட்ட ஒரு வரிசை மாறியாக இருந்தால், வரிசைக்கு ஒவ்வொரு உறுப்பிற்கும் முறை அகற்றும் செயல்பாடு பயன்படுத்தப்படுகிறது, மேலும் விரிவாக்கம் விளைவான பட்டியலாகும்.
பாதையில் விரிவாக்கத்தில் போல ஒரு வடிவத்தை உருவாக்க இந்த முறை விரிவடைந்தது. பரம்பரை விரிவுபடுத்தப்பட்டு, அதன் மதிப்புக்கு எதிரான முறைகளின் நீண்ட வரிசை சரம் மூலம் மாற்றப்பட்டுள்ளது. முதல் வடிவத்தில், முதல் ஆட்டத்தில் மட்டுமே மாற்றப்பட்டது. இரண்டாவது வடிவம் வடிவத்தின் எல்லா போட்டிகளிலும் சரத்தை மாற்றும். முறை # தொடங்குகிறது என்றால், அது அளவுருவின் விரிவாக்கப்பட்ட மதிப்பின் தொடக்கத்தில் பொருந்த வேண்டும். முறைமை தொடங்கிவிட்டால், அது அளவுருவின் விரிவாக்கப்பட்ட மதிப்பின் இறுதியில் பொருந்த வேண்டும். சரம் பூஜ்யமாக இருந்தால், முறைகளின் போட்டிகள் நீக்கப்பட்டிருக்கலாம் மற்றும் / பின்வரும் மாதிரி நீக்கப்படலாம். அளவுரு @ அல்லது * எனில் , ஒவ்வொரு செயல்பாட்டு அளவுருவிற்கும் பதிலீட்டு நடவடிக்கை பயன்படுத்தப்படுகிறது, மேலும் விரிவாக்கம் விளைவான பட்டியலாகும். அளவுரு என்பது @ அல்லது * உடன் இணைக்கப்பட்ட ஒரு வரிசை மாறி என்றால், ஒவ்வொரு செயலுக்கும் பதிலாக மாற்று வரிசையைப் பயன்படுத்துவதால், அதன் விளைவாக பட்டியல் விரிவாக்கப்படுகிறது.
கட்டளை மாற்றம்
கட்டளை பதிலீடு ஒரு கட்டளை வெளியீடு கட்டளை பெயரை மாற்ற அனுமதிக்கிறது. இரண்டு வடிவங்கள் உள்ளன:
$ ( கட்டளை )
அல்லது
" கட்டளை "
கட்டளை இயங்குவதன் மூலம் விரிவாக்கம் செயல்படுத்துவதன் மூலம், கட்டளைகளின் நிலையான வெளியீட்டை கட்டளையை மாற்றுவதன் மூலம், எந்த புதிய தளப்பகுதியும் நீக்கப்படும். உட்பொதியப்பட்ட புதுப்பிப்புகள் நீக்கப்படவில்லை, ஆனால் வார்த்தை பிரித்தல் போது அகற்றப்படலாம். கட்டளை மாற்று $ (பூனை கோப்பு ) அதற்கு பதிலாக சமமான ஆனால் வேகமாக $ (< கோப்பு ) மாற்ற முடியும்.
பதிலீடு பழைய பாணி backquote வடிவம் பயன்படுத்தப்படுகிறது போது, பின்சாய்வு $ , ` , அல்லது \ தொடர்ந்து தொடர்ந்து தவிர அதன் பொருள் பொருள் வைத்திருக்கிறது. முன்கூட்டியே முன்கூட்டியே முன்வைக்காத backquat கட்டளை பதிலீடு முடிவடைகிறது. $ ( கட்டளை ) படிவத்தை பயன்படுத்தும் போது, அடைப்புக்குறிகளுக்கு இடையில் அனைத்து எழுத்துகளும் கட்டளையை உருவாக்குகின்றன; யாரும் சிறப்பாக நடத்தப்படுகிறார்கள்.
கட்டளை மாற்றுக்கள் தொகுக்கப்படலாம். பூச்சிக்குரிய வடிவத்தை பயன்படுத்தும் போது கூந்தல், உள் முதுகெலும்பை பின்சாய்வுகளுடன் தடுக்கிறது.
இரட்டை மேற்கோள்களில் உள்ள பிரதிபலிப்பு தோன்றினால், வார்த்தை பிளவு மற்றும் பாதை பெயர் விரிவாக்கம் முடிவுகளில் நிகழாது.
எண்கணித விரிவாக்கம்
எண்கணித விரிவாக்கம் ஒரு கணித வெளிப்பாட்டு மதிப்பீடு மற்றும் விளைவின் மாற்றீடு ஆகியவற்றை அனுமதிக்கிறது. எண்கணித விரிவாக்கம் வடிவமைப்பு:
$ (( வெளிப்பாடு ))
வெளிப்பாடு இரட்டை மேற்கோள்களுக்குள் இருப்பதாக கருதப்படுகிறது, ஆனால் அடைப்புக்குள் உள்ள இரட்டை மேற்கோள் சிறப்பாக சிகிச்சை அளிக்கப்படாது. வெளிப்பாட்டில் உள்ள அனைத்து டோக்கன்களும் அளவுரு விரிவாக்கம், சரம் விரிவாக்கம், கட்டளை மாற்றுதல் மற்றும் மேற்கோள் நீக்கம் ஆகியவற்றுக்கு உட்படும். எண்கணித மாற்றீடுகள் தொகுக்கப்படலாம்.
ARITHMETIC மதிப்பீடு கீழ் கீழே உள்ள விதிகள் படி மதிப்பீடு செய்யப்படுகிறது . வெளிப்பாடு தவறானது என்றால், தோல்வி குறிக்கும் ஒரு செய்தியை பாஷ் அச்சிடுகிறது மற்றும் எந்த பதிலையும் ஏற்படாது.
செயல்முறை மாற்று
பெயரிடப்பட்ட குழாய்களுக்கு ( FIFO கள் ) அல்லது திறந்த கோப்புகளை பெயரிடும் / dev / fd முறையை ஆதரிக்கும் முறைமைகளில் செயலாக்க மாற்று துணைபுரிகிறது. அது <( list ) அல்லது > ( பட்டியல் ) வடிவத்தை எடுக்கிறது. செயல்முறை பட்டியல் அதன் உள்ளீடு அல்லது வெளியீட்டுடன் FIFO அல்லது சில கோப்பு / dev / fd இல் இணைக்கப்பட்டுள்ளது . இந்த கோப்பின் பெயர் விரிவாக்கத்தின் விளைவாக தற்போதைய கட்டளைக்கு ஒரு வாதமாக அனுப்பப்படுகிறது. > ( பட்டியல் ) படிவத்தை பயன்படுத்தினால், கோப்புக்கு எழுதுதல் பட்டியலில் உள்ளீடு வழங்கப்படும். <( பட்டியல் ) படிவம் பயன்படுத்தினால், கோப்பு வெளியீட்டைப் பெற ஒரு வாதத்தை வாசித்திருக்க வேண்டும்.
கிடைக்கப்பெறும் போது, செயல்முறை மாற்றீடு அளவுரு மற்றும் மாறி விரிவாக்கம், கட்டளை மாற்றுதல், மற்றும் கணித விரிவாக்கம் ஆகியவற்றுடன் ஒரே நேரத்தில் செய்யப்படுகிறது.
சொல் பிளப்பு
ஷெல் அளவுரு விரிவாக்கம், கட்டளை மாற்று, மற்றும் சொல் பிளப்பு இரட்டை மேற்கோள் உள்ள நிகழவில்லை என்று எண்கணித விரிவாக்கம் முடிவுகளை ஸ்கேன்.
இந்த ஷெல் IFS இன் ஒவ்வொரு பாத்திரத்தையும் delimiter என கருதுகிறது, மற்றும் பிற விரிவாக்கங்களின் முடிவுகளை இந்த எழுத்துகளில் சொற்களாக பிரிக்கிறது. IFS அமைக்காமல் இருந்தால், அல்லது அதன் மதிப்பு சரியாக
வெளிப்படையான பூஜ்ய விவாதங்கள் ( "" அல்லது "" ) தக்கவைக்கப்படுகின்றன. மதிப்புகள் இல்லாத அளவுருக்கள் விரிவடைவதால் ஏற்படக்கூடிய மறைமுகமான பூஜ்ய வாதங்கள் அகற்றப்படுகின்றன. இரட்டை மதிப்பில் ஒரு மதிப்பும் இல்லாமல் ஒரு அளவுரு விரிவாக்கப்பட்டால், ஒரு பூஜ்ய வாதம் முடிவு செய்யப்படும்.
எந்த விரிவாக்கமும் ஏற்படவில்லையென்றால், பிளவு எதுவும் நிகழவில்லை என்பதை நினைவில் கொள்க.
பாதை விரிவாக்கம்
-f விருப்பம் அமைக்கப்படாவிட்டால் சொல் பிளப்புக்குப் பின், எழுத்துகள் ஒவ்வொரு வார்த்தையையும் பஷ் ஸ்கேன் செய்கிறது , மற்றும் [ . இந்தக் கதாபாத்திரங்களில் ஒன்றை தோற்றுவித்தால், அந்த வார்த்தை ஒரு வடிவமாகக் கருதப்படுகிறது, மற்றும் மாதிரியுடன் பொருந்தும் கோப்பு பெயர்களின் அகரவரிசைப்படி வரிசைப்படுத்தப்பட்ட பட்டியலுடன் மாற்றப்படுகிறது. பொருந்தும் கோப்பு பெயர்கள் காணப்படவில்லை, மற்றும் ஷெல் விருப்பத்தை nullglob முடக்கப்பட்டுள்ளது என்றால், வார்த்தை மாறாமல் உள்ளது. Nullglob விருப்பம் அமைக்கப்பட்டிருந்தாலும், பொருத்தங்கள் எதுவும் கிடைக்கவில்லை என்றால், வார்த்தை நீக்கப்பட்டது. ஷெல் விருப்பத்தேர்வு nocaseglob இயக்கப்பட்டால், பொருத்தம் அல்பேஜிக் எழுத்துகளின் விஷயத்தில் பொருந்தவில்லை. ஒரு பெயர் பாதையின் விரிவாக்கத்திற்குப் பயன்படுத்தப்படும் போது, ``. '' ஒரு பெயரின் தொடக்கத்தில் அல்லது உடனடியாக ஒரு ஸ்லாஷ் தொடர்ந்து ஷெல் விருப்பம் dotglob அமைக்கப்படாவிட்டால் வெளிப்படையாக பொருந்தும். பாதை பெயரை பொருத்தும்போது, சாய்வு எழுத்து எப்போதும் வெளிப்படையாக பொருந்த வேண்டும். மற்ற சந்தர்ப்பங்களில், ``. '' தன்மை சிறப்பாக நடத்தப்படாது. ஷெல் பில்டின் கட்டளைகளின் கீழ் கீழே உள்ள ஷாப்பிங் விவரத்தை nocaseglob , nullglob மற்றும் dotglob ஷெல் விருப்பங்களுக்கான விளக்கத்திற்குக் காண்க .
GLOBIGNORE ஷெல் மாறி ஒரு முறை பொருந்தும் கோப்பு பெயர்களின் தொகுப்பை கட்டுப்படுத்தலாம். GLOBIGNORE அமைக்கப்பட்டிருந்தால், GLOBIGNORE இன் மாதிரிகளில் ஒன்றுடன் பொருந்தும் ஒவ்வொரு பொருந்தும் கோப்பு பெயர் பொருத்தப்பட்ட பட்டியலில் இருந்து நீக்கப்படும். GLOBIGNORE அமைக்கப்பட்டிருந்தாலும், கோப்பு பெயர்கள் `` .`` மற்றும் '' எப்போதும் '' புறக்கணிக்கப்படுகின்றன. இருப்பினும், GLOBIGNORE அமைப்பை dotglob ஷெல் விருப்பத்தை செயலாக்கும் விளைவைக் கொண்டிருப்பதால், அனைத்து பிற கோப்பு பெயர்களும் தொடங்கும். " பெயரிடப்பட்ட கோப்பு பெயர்களைப் புறக்கணிப்பதற்கான பழைய நடத்தையைப் பெறுவதற்கு, " ` .`` , '' GLOBIGNORE இன் மாதிரிகளில் ஒன்று. GLOBIGNORE அமைக்காமல் இருக்கும்போது dotglob விருப்பம் முடக்கப்படும்.
முறை பொருந்தும்
ஒரு பாணியில் தோன்றுகிற எந்த பாத்திரமும், கீழே விவரிக்கப்பட்டுள்ள சிறப்புக் கதாபாத்திரங்களைக் காட்டிலும் வேறுபட்டது. NUL தன்மை ஒரு வடிவத்தில் ஏற்படாது. சிறப்பு எழுத்து எழுத்துக்கள் அவர்கள் சொல்லர்த்தமாக பொருந்துவதாக இருந்தால் மேற்கோள் காட்டப்பட வேண்டும்.
சிறப்பு வடிவ எழுத்துக்கள் பின்வரும் அர்த்தங்களைக் கொண்டுள்ளன:
*
பூஜ்ய சரம் உட்பட எந்த சரத்தையும் பொருந்துகிறது.
?
எந்த ஒரு பாத்திரத்தையும் பொருந்துகிறது.
[...]
இணைக்கப்பட்ட கதாபாத்திரங்களில் ஒன்றைப் பொருந்தும். ஒரு ஹைபன் மூலம் பிரிக்கப்பட்ட கதாபாத்திரங்கள் ஒரு வரம்பு வெளிப்பாட்டைக் குறிக்கின்றன; நடப்பு மொழியின் கூட்டிணைப்பு வரிசை மற்றும் பாத்திரம் தொகுப்பு ஆகியவற்றைப் பயன்படுத்தி அந்த இரண்டு எழுத்துக்களுக்கு இடையேயான எந்த பாத்திரமும் பொருந்தும். முதல் பாத்திரம் தொடர்ந்து இருந்தால் [ a ! அல்லது ஒரு ^ பின்னர் எந்த பாத்திரமும் இணைக்கப்படவில்லை. வரம்பில் வெளிப்பாடுகளில் எழுத்துகளின் வரிசையாக்க வரிசை தற்போதைய லோகல் மற்றும் LC_COLLATE ஷெல் மாறியின் மதிப்பு ஆகியவற்றைக் கொண்டிருக்கும். A - தொகுப்பில் உள்ள முதல் அல்லது கடைசி பாத்திரமாக இது சேர்க்கப்படலாம். ஒரு ] செட் முதல் கதாபாத்திரமாக இது சேர்க்கப்படலாம்.
[ மற்றும் ] க்குள், எழுத்துருக்களை [: வர்க்கம் :] பயன்படுத்தி பாத்திரம் வகுப்புகள் குறிப்பிட முடியும், இதில் வர்க்கம் POSIX.2 தரநிலையில் வரையறுக்கப்பட்ட பின்வரும் வகுப்புகளில் ஒன்றாகும்:
alnum alpha ascii blank cntrl இலக்க வரைபடம் குறைந்த அச்சு punct space upper word xdigit
ஒரு வர்க்கம் வர்க்கம் அந்த வர்க்கத்தின் சொந்தமான எந்த பாத்திரத்தையும் பொருந்துகிறது. எழுத்து எழுத்துக்குறி வர்க்கம் எழுத்துகள், இலக்கங்கள் மற்றும் பாத்திரத்தை _ உடன் பொருந்தும்.
[ மற்றும் ] க்குள், சமன்பாடு வகுப்பு [= c =] ஐப் பயன்படுத்தி ஒரு சமமான வகுப்பு குறிப்பிடப்படலாம், இது அனைத்து எழுத்துக்களுடனும் ஒரே கலவை எடை (நடப்பு மொழியால் வரையறுக்கப்படுகிறது) உடன் பொருந்துகிறது.
[ மற்றும் ] இல் , தொடரியல் [. குறியீடு .]
களஞ்சியமாக கட்டமைக்கப்பட்டிருந்தால் extglob ஷெல் விருப்பம் செயல்படுத்தப்பட்டால், பல நீட்டிக்கப்பட்ட முறை பொருந்தும் ஆபரேட்டர்கள் அங்கீகரிக்கப்படுவார்கள். பின்வரும் விளக்கத்தில், ஒரு பட்டியல்-பட்டியல் ஒரு பிரிக்கப்பட்ட ஒன்று அல்லது அதற்கு மேற்பட்ட வடிவங்களின் பட்டியல் ஆகும் . ஒன்று அல்லது அதற்கு மேற்பட்ட துணை உப வடிவங்களைப் பயன்படுத்தி கூட்டு வடிவங்கள் உருவாகலாம்:
? ( மாதிரி பட்டியல் )
கொடுக்கப்பட்ட வகைகளின் பூஜ்யம் அல்லது ஒரு நிகழ்வை பொருந்துகிறது
* ( மாதிரி பட்டியல் )
கொடுக்கப்பட்ட வடிவங்களின் பூஜ்யம் அல்லது அதிக நிகழ்வுகள் பொருந்துகிறது
+ ( மாதிரி பட்டியல் )
கொடுக்கப்பட்ட வடிவங்களின் ஒன்று அல்லது மேற்பட்ட நிகழ்வுகள் பொருந்துகின்றன
@ ( மாதிரி பட்டியல் )
சரியாக கொடுக்கப்பட்ட வடிவங்களில் ஒன்றுடன் ஒன்று பொருந்துகிறது
! ( மாதிரி பட்டியல் )
கொடுக்கப்பட்ட வடிவங்களில் ஒன்றைத் தவிர வேறு எதுவும் பொருந்துகிறது
Quote அகற்றுதல்
முந்தைய விரிவாக்கங்களுக்குப் பிறகு, மேலேற்ற விரிவாக்கங்களில் ஒன்றில் இருந்து விளைவிக்காத, \ " , மற்றும் \ " எழுத்துகளின் அனைத்து வினவல்களும் நீக்கப்படும்.
திருப்பிவிட
ஒரு கட்டளையை நிறைவேற்றுவதற்கு முன், அதன் உள்ளீடு மற்றும் வெளியீடு ஷெல் மூலம் குறிப்பிடப்பட்ட ஒரு விசேட குறியீடுகளைப் பயன்படுத்தி திருப்பி விடப்படும் . தற்போதைய ஷெல் செயல்பாட்டு சூழலுக்கு கோப்புகளை திறக்க மற்றும் மூட திசைமாற்றி பயன்படுத்தப்படலாம். கீழ்க்காணும் திசை திருப்பும் ஆபரேட்டர்கள் ஒரு கட்டளைக்குள்ளே எங்கும் தோன்றலாம் அல்லது தோன்றலாம் அல்லது ஒரு கட்டளையைப் பின்பற்றலாம். திசைகளில் அவர்கள் தோன்றும் வரிசையில், இடமிருந்து வலம் இருந்து செயலாக்கப்படுகின்றன.
பின்வரும் விவரிப்புகளில், கோப்பு டிஸ்க்ரிப்ட்டர் எண் கைவிடப்பட்டால், மற்றும் திசைமாற்றி ஆபரேட்டரின் முதல் எழுத்து > , திசைமாற்றி நிலையான உள்ளீடு (கோப்பு விவரிப்பு 0) குறிக்கிறது. திசைமாற்றி ஆபரேட்டரின் முதல் கதாபாத்திரம் > இருந்தால் , திசைமாற்றம் என்பது நிலையான வெளியீட்டை (கோப்பு விவரிப்பு 1) குறிக்கிறது.
கீழ்க்கண்ட விளக்கங்களில் திசைமாற்றி ஆபரேட்டரைப் பின்பற்றிய சொல், விரிவாக்கத்திற்கு, tilde விரிவாக்கம், அளவுரு விரிவாக்கம், கட்டளை மாற்றுதல், கணித விரிவாக்கம், மேற்கோள் நீக்கம், பாதைபெயர் விரிவாக்கம் மற்றும் சொல் பிரித்தல் ஆகியவற்றுக்கு உட்பட்டுள்ளது. இது ஒன்றுக்கு மேற்பட்ட வார்த்தையை விரிவாக்குகிறது என்றால், பஷ் ஒரு பிழை அறிக்கையிடும்.
திசைமாற்றிகளின் வரிசை குறிப்பிடத்தக்கது என்பதை கவனத்தில் கொள்ளவும். உதாரணமாக, கட்டளை
ls > dirlist 2 > & 1
கட்டளை போது கோப்பு வெளியீடு, நிலையான வெளியீடு மற்றும் நிலையான பிழை இருவரும் வழிநடத்துகிறது
ls 2 > & 1 > dirlist
தரநிலை வெளியீடு dirlist க்கு மட்டும் தரநிலையான வெளியீட்டை வழிநடத்துகிறது, ஏனென்றால் தரநிலை வெளியீடு dirlist க்கு திருப்பி விடப்படுவதற்கு முன்னர் தரமான வெளியீடு நிலையான வெளியீடு என நகல் செய்யப்பட்டது .
பாஷ் பின்வரும் அட்டவணையில் விவரித்துள்ளபடி, திசைமாற்றல்களில் பயன்படுத்தப்படுகையில் சிறப்பாக பல கோப்பு பெயர்களைக் கையாளுகிறது:
/ dev / fd / fd
Fd சரியான எண்ணாக இருந்தால், கோப்பு விவரிப்பு fd நகல் ஆகிறது.
/ தேவ் / stdin
கோப்பு விவரிப்பு 0 நகல் ஆகிறது.
/ தேவ் / stdout
கோப்பு விளக்கி 1 நகல் ஆகிறது.
/ தேவ் / stderr
கோப்பு விவரிப்பு 2 நகல் ஆகிறது.
/ dev / tcp / host / port
புரவலன் செல்லுபடியான ஹோஸ்ட்பெயர் அல்லது இணைய முகவரி என்றால், துறைமுகமானது ஒரு முழுமையான போர்ட் எண் அல்லது சேவை பெயர், தொடர்புடைய சாக்கெட்டுக்கு TCP இணைப்பைத் திறக்கும் பஷ் முயற்சிகள்.
/ dev / udp / host / port
புரவலன் செல்லுபடியான ஹோஸ்ட்பெயர் அல்லது இணைய முகவரி என்றால், துறைமுகமானது ஒரு முழுமையான போர்ட் எண் அல்லது சேவை பெயர், தொடர்புடைய சாக்கெட்டுக்கு ஒரு UDP இணைப்பைத் திறக்கும் பஷ் முயற்சிகள்.
ஒரு கோப்பை திறக்கவோ அல்லது உருவாக்கவோ ஒரு தோல்வி திசைமாற்றம் தோல்வியடையும்.
உள்ளீட்டை திருப்பி விடுகிறது
உள்ளீட்டின் திசைமாற்றம் கோப்பு பெயரிடப்பட்டிருக்கும் N மொழியில் படிப்பதற்கு திறக்கப்பட வேண்டிய சொல் , அல்லது n குறிப்பிடப்படவில்லை என்றால் நிலையான உள்ளீடு (கோப்பு விளக்கியை 0) ஆகியவற்றின் பெயரின் பெயரைக் கொடுக்கிறது.
உள்ளீடுகளை திருப்பி அனுப்புவதற்கான பொது வடிவமைப்பு:
[ n ] < சொல்
திருப்பி வெளியீடு
வெளியீட்டின் திசைமாற்றி, கோப்பின் விரிவாக்கத்திலிருந்து முடிவுக்கு வரும் கோப்பின் பெயரைக் குறிக்கும் கோப்பிற்கான கோப்பை குறிக்கும், அல்லது n குறிப்பிடப்படவில்லை என்றால் நிலையான வெளியீடு (கோப்பு விளக்கி 1). கோப்பு இல்லை என்றால் அது உருவாக்கப்பட்டிருக்கிறது; அது இருந்தால் அது பூஜ்ஜிய அளவுக்கு குறைவாக உள்ளது.
வெளியீட்டை திருப்பி வெளியிடுவதற்கான பொதுவான வடிவமைப்பு:
[ n ] > சொல்
திசைமாற்றி ஆபரேட்டர் & gt ; & gt; noclobber விருப்பம் அமைக்கப்பட்டிருந்தால் , திசைமாற்றம் செயலிழந்துவிடும் , வார்த்தை பெயர் விரிவாக்கத்தில் இருந்து வரும் பெயர் மற்றும் வழக்கமான கோப்பு. திசைமாற்றி ஆபரேட்டர் > | , அல்லது திசைமாற்றி ஆபரேட்டர் மற்றும் தொகுப்பு கட்டளை கட்டளைக்கு noclobber விருப்பம் இயக்கப்பட்டிருக்கவில்லை, வார்த்தை என்ற பெயரிடப்பட்ட கோப்பு இருந்தாலும் திருப்பிவிட முயற்சி செய்யப்படுகிறது.
திருப்பி வெளியீடு வெளியீடு
இந்த பாணியில் வெளியீட்டின் திசைமாற்றம், கோப்பின் விரிவாக்கத்திலிருந்து முடிவுக்கு வரும் கோப்பின் பெயரைக் குறிக்கும் கோப்பிற்கான கோப்பை குறிக்கிறது, அல்லது n குறிப்பிடப்படவில்லை என்றால் நிலையான வெளியீடு (கோப்பு விவரிப்பு 1). கோப்பு இல்லை என்றால் அது உருவாக்கப்பட்டது.
வெளியீட்டைச் சேர்ப்பதற்கான பொதுவான வடிவமைப்பு:
[ n ] >> வார்த்தை
தரநிலை வெளியீடு மற்றும் தரநிலை பிழைகளை திருப்புதல்
பாஷ் நிலையான வெளியீடு (கோப்பு விளக்கியை 1) மற்றும் நிலையான பிழை வெளியீடு (கோப்பு டிஸ்கிரிப்ட் 2) ஆகிய இரண்டும் இந்த கட்டடத்துடன் கூடிய வார்த்தையின் விரிவாக்கம் என்ற கோப்பில் திருப்பி விடப்படும்.
நிலையான வெளியீடு மற்றும் நிலையான பிழை திருப்பி இரண்டு வடிவங்கள் உள்ளன:
& வார்த்தை
மற்றும்
> & சொல்
இரண்டு வடிவங்களில், முதல் விருப்பம். இது சொற்பொருள் சமமானதாகும்
> வார்த்தை 2 > & 1
இங்கே ஆவணங்கள்
இந்த வகை திசைமாற்றம் என்பது தற்போதைய மூலத்திலிருந்து உள்ளீடுகளை படிக்க ஷெல்லுக்கு அறிவுறுத்துகிறது, ஒரே வார்த்தையை கொண்ட ஒரு வரியை (எந்த பின்னிணைவு வெற்றிடங்களுடன்) பார்க்கும் வரை. அந்த கட்டத்தில் படித்துள்ள அனைத்து வரிகளும் பின்னர் கட்டளைக்கு நிலையான உள்ளீடுகளாகப் பயன்படுத்தப்படுகின்றன.
இங்கே-ஆவணங்களின் வடிவம்:
<< [ - ] இங்கு இங்கே-ஆவணம் வரையறுக்கப்படுகிறது எந்த அளவுரு விரிவாக்கம், கட்டளை மாற்று, எண்கணித விரிவாக்கம், அல்லது பாதை பெயர் விரிவாக்கம் ஆகியவை வார்த்தைகளில் நிகழ்கின்றன. வார்த்தையின் ஏதாவது எழுத்துகள் மேற்கோள் காட்டப்பட்டால், டெலிமிட்டர் என்பது மேற்கோள் குறியீட்டு அகற்றலின் விளைவு ஆகும், இங்கே-ஆவணம் உள்ள கோடுகள் விரிவாக்கப்படவில்லை. வார்த்தை ஒட்டாதபட்சத்தில், இங்கே-ஆவணத்தின் அனைத்து வரிகளும் அளவுரு விரிவாக்கம், கட்டளை மாற்றுதல் மற்றும் கணித விரிவாக்கம் ஆகியவற்றுக்கு உட்படுத்தப்படுகின்றன. பிந்தைய விஷயத்தில், எழுத்து வரிசை \
திசைமாற்றி ஆபரேட்டர் << - என்றால், அனைத்து முன்னணி தாவல்களும் உள்ளீட்டு கோடுகள் மற்றும் நீட்டிக்கப்பட்டிருக்கும் வரி ஆகியவற்றிலிருந்து அகற்றப்படுகின்றன. ஷெல் ஸ்கிரிப்ட்களில் உள்ள ஆவணங்களை இயற்கை பாணியில் உள்தள்ளுமாறு இது அனுமதிக்கிறது.
இங்கே சரங்களை
இங்கே ஆவணங்கள் ஒரு வடிவம், வடிவம் உள்ளது:
<<< சொல்வார்த்தை விரிவாக்கப்பட்டு கட்டளையிடப்பட்டிருக்கும் அதன் உள்ளீடு உள்ளீடு வழங்கப்படுகிறது.
கோப்பு விவரிப்புகளை நகலெடுக்கும்
திசைமாற்றி ஆபரேட்டர்
[ n ] <& word
உள்ளீடு கோப்பு விளக்கப்படங்களை நகலெடுக்க பயன்படுத்தப்படுகிறது. ஒன்று அல்லது அதற்கு மேற்பட்ட இலக்கங்களுக்கு வார்த்தை விரிவாக்கப்பட்டால், n மூலம் குறிக்கப்பட்ட கோப்பு விவரம் அந்த கோப்பு விளக்கியின் நகல் ஆகும். உள்ளீடு இலக்கங்கள் ஒரு கோப்பு டிஸ்கிரிப்டர் உள்ளீட்டிற்குத் திறக்கவில்லை எனில், திருப்பிவிட பிழை ஏற்படுகிறது. வார்த்தை மதிப்பிட்டால் - , கோப்பு விவரிப்பு n மூடப்பட்டுள்ளது. N குறிப்பிடப்படவில்லை எனில், நிலையான உள்ளீடு (கோப்பு விளக்கியை 0) பயன்படுத்தப்படுகிறது.
ஆபரேட்டர்
[ n ] > & சொல்
வெளியீட்டு கோப்பக டிஸ்கிரிப்டர்களை நகல் செய்வதற்கு இதேபோல் பயன்படுத்தப்படுகிறது. N குறிப்பிடப்படவில்லை எனில், நிலையான வெளியீடு (கோப்பு விளக்கியை 1) பயன்படுத்தப்படுகிறது. வார்த்தை இலக்கங்கள் வெளியீட்டிற்கான திறந்த கோப்பிலிருந்து குறிப்பிடப்பட்டால், திருப்பிவிட பிழை ஏற்படுகிறது. ஒரு சிறப்பு விஷயத்தில், n தவிர்க்கப்பட்டால், மற்றும் வார்த்தை ஒன்று அல்லது அதற்கு மேற்பட்ட இலக்கங்களை விரிவாக்க வில்லை, முன்னதாக விவரிக்கப்பட்டபடி நிலையான வெளியீடு மற்றும் நிலையான பிழை திருப்பிவிடப்படுகிறது.
கோப்பு டிஸ்கிரிப்டர்களை நகர்த்துகிறது
திசைமாற்றி ஆபரேட்டர்
[ n ] <& amp;
n குறிப்பிடப்படவில்லை என்றால், டிஸ்கிரிப்டர் n ஐ கோப்பதற்கான கோப்பக டிஸ்கிரிப்டர் டிஜிட்டல் அல்லது நிலையான உள்ளீடு (கோப்பு டிரான்சிசர் 0) கொடுக்கிறது. n ஆனது n க்கு நகலெடுக்கப்பட்ட பிறகு மூடப்பட்டுள்ளது.
இதேபோல், திசைமாற்றி ஆபரேட்டர்
[ n ] > & இலக்க -
n குறிப்பிடப்படவில்லை என்றால், தரவு டிரான்ஸ்கிரிப்டர் இலக்கத்தை டிஸ்கிரிப்டர் N ஐ அல்லது கோப்பக வெளியீட்டை (கோப்பு விளக்கி 1) கோருகிறது.
படித்தல் மற்றும் எழுதுவதற்கான கோப்பு விவரிப்புகளை திறக்கிறது
திசைமாற்றி ஆபரேட்டர்
[ n ] <> சொல்
கோப்பு பெயரை உருவாக்குகிறது, அதன் பெயரை விரிவுபடுத்துகிறது, கோப்பு டிஸ்கிரிப்டர் n இல் வாசிப்பு மற்றும் எழுதுதல் ஆகிய இரண்டிற்கும் திறக்கப்பட வேண்டும் அல்லது n குறிப்பிடப்படவில்லை என்றால் கோப்பு டிஸ்கிரிப்டர் 0 இல் உள்ளது. கோப்பு இல்லை என்றால், அது உருவாக்கப்பட்டது.
பெயர்களையே
ஒரு எளிய கட்டளையின் முதல் சொல்லைப் பயன்படுத்தும்போது, ஒரு சொல்லை ஒரு வார்த்தையை மாற்றுவதற்கு மாற்றுப்பெயர்கள் அனுமதிக்கின்றன. ஷெல் மாற்று மற்றும் unalias கட்டப்பட்ட கட்டளைகள் (கீழே ஷெல் பில்டின் கமாண்ட்ஸ் பார்க்க) அமைக்க மற்றும் அமைக்க முடியாது என்று பெயர்கள் பட்டியலை பராமரிக்கிறது. ஒவ்வொரு கட்டளையின் முதல் சொல்லை, unquoted என்றால், அது ஒரு மாற்று என்றால் பார்க்க சோதிக்கப்படுகிறது. அப்படியானால், அந்த வார்த்தையை மாற்று உரை மாற்றும். மாற்று பெயர் மற்றும் மாற்று உரை ஏதேனும் செல்லுபடியாகும் ஷெல் உள்ளீட்டை கொண்டிருக்கக்கூடும், மேலே பட்டியலிடப்பட்ட மெட்டாச்சர்ச்சர்கள் உட்பட, மாற்று பெயர் = இருக்கக்கூடாது. மாற்று உரைக்கான முதல் சொல்லானது மாற்றுப்பெயர்களுக்காக சோதிக்கப்பட்டது, ஆனால் ஒரு மாற்றுப் பரவலுக்கு ஒத்த ஒரு சொல் இரண்டாவதாக விரிவுபடுத்தப்படவில்லை. அதாவது, ls-F க்கு ஒரு மாற்று ls , உதாரணமாக, மற்றும் மாற்றுதல் உரைகளை மறுபடியும் விரிவாக்க முயற்சிக்காது. மாற்று மதிப்பு கடைசி எழுத்து ஒரு வெற்று என்றால் , பின்னர் அடுத்த கட்டளை சொல் மாற்றுதல் தொடர்ந்து சரிபார்க்க.
Aliases கட்டளையிடப்பட்டு alias கட்டளையுடன் பட்டியலிடப்பட்டு, unalias கட்டளையுடன் அகற்றப்படும்.
மாற்று உரையில் வாதங்களைப் பயன்படுத்துவதற்கு எந்தவித வழிமுறைகளும் இல்லை. வாதங்கள் தேவைப்பட்டால், ஒரு ஷெல் செயல்பாட்டை பயன்படுத்த வேண்டும் (கீழே செயல்பாடுகளை காண்க).
விரிவுபடுத்தலுக்கான ஷெல் விருப்பம் ஷாப்பிங் (ஷெல் பில்லிட் கமாண்ட்ஸ் கீழ் ஷாட் பில்ட்டின் கீழ் உள்ள கட்டுரையைப் பார்க்கவும்) அமைக்கப்படாவிட்டால், ஷெல் ஊடாடும் போது அலிகேஸ் விரிவாக்கப்படாது.
பெயரளவிலான வரையறை மற்றும் பயன்பாடு பற்றிய விதிகள் சற்றே குழப்பமானவை. அந்த வரிசையில் எந்த கட்டளையையும் நிறைவேற்றுவதற்கு முன்பே பாஷ் எப்போதும் குறைந்தது ஒரு முழுமையான வரி உள்ளீட்டைப் படிக்கும். ஒரு கட்டளை வாசிக்கப்படும் போது, அலிகேஸ் விரிவடைகிறது, அது செயல்படுத்தப்படும்போது அல்ல. ஆகையால், மற்றொரு கட்டளையிலுள்ள அதே வரியில் தோன்றும் ஒரு மாற்று வரையறை அடுத்த வரி உள்ளீடு வாசிக்கப்படும் வரை செயல்படாது. அந்த வரிசையில் உள்ள மாற்று வரையறைக்குப் பின் கட்டளைகள் புதிய மாற்றுப்பெயரால் பாதிக்கப்படாது. செயல்பாடுகளை செயல்படுத்தும்போது இந்த நடத்தை ஒரு சிக்கல் ஆகும். சார்பின் வரையறைகள் வாசிக்கப்படும் போது, அலிகேஸ் விரிவடைகிறது, செயல்பாடு செயல்படாதபோதும், ஒரு சார்பின் வரையறை தன்னை ஒரு கூட்டு கட்டளை என்பதால். இதன் விளைவாக, ஒரு செயல்பாட்டில் வரையறுக்கப்பட்ட மாற்றுப்பெயர்கள் செயல்பாடு செயல்படுத்தப்படும் வரை கிடைக்காது. பாதுகாப்பாக இருப்பதற்கு, எப்போதும் ஒரு தனி வரிசையில் மாற்று வரையறைகளை வைக்கவும், மற்றும் கூட்டு கட்டளைகளில் மாற்று பயன்படுத்த வேண்டாம்.
கிட்டத்தட்ட ஒவ்வொரு நோக்கத்திற்காக, மாற்றுப்பாதைகள் ஷெல் செயல்பாடுகளை முடக்கியுள்ளன.
தொழிற்பாடுகள்
SHELL GRAMMAR கீழ் மேலே விவரிக்கப்பட்ட ஒரு ஷெல் செயல்பாடு, பின்னர் மரணதண்டனை ஒரு தொடர் வரிசைகளை சேமித்து. ஒரு ஷெல் செயல்பாட்டின் பெயர் எளிய கட்டளை பெயராக பயன்படுத்தப்படும்போது, அந்த செயல்பாடு பெயருடன் தொடர்புடைய கட்டளைகளை செயல்படுத்தப்படுகிறது. தற்போதைய ஷெல் சூழலில் செயல்பாடுகளை செயல்படுத்துகின்றன; அவற்றைப் புரிந்துகொள்வதற்கு புதிய செயல்முறை உருவாக்கப்படவில்லை (ஷெல் ஸ்கிரிப்ட்டின் செயல்பாட்டுடன் இது வேறுபட்டது). ஒரு செயல்பாட்டை நிறைவேற்றும்போது, செயல்பாட்டிற்கான வாதங்கள் அதன் மரணதண்டனை போது நிலைமாறு அளவுருக்கள் ஆகும். சிறப்பு அளவுரு # மாற்றத்தை பிரதிபலிக்கும் வகையில் மேம்படுத்தப்பட்டது. தற்காலிக அளவுரு 0 மாறாமல் உள்ளது. FUNCNAME மாறி செயல்பாடு செயல்படும் போது செயல்பாட்டின் பெயருக்கு அமைக்கப்பட்டது. ஷெல் மரணதண்டனை சூழலின் மற்ற அனைத்து அம்சங்களும் செயல்பாட்டிற்கும் அதன் அழைப்பாளருக்கும் இடையில் ஒரே மாதிரியானவை, DEBUG பொறி (கீழே உள்ள ஷெல் பில்டின் கட்டளைகளின் கீழ் உள்ள பொறியைப் பற்றிய விவரங்களைக் காண்க) கீழ்க்காணும் கட்டளையை விவரிக்கவும்).
செயல்பாட்டிற்கு உள்ளூர் மாறிகள் உள்ளூர் கட்டப்பட்ட கட்டளையுடன் அறிவிக்கப்படலாம். சாதாரணமாக, மாறிகள் மற்றும் அவற்றின் மதிப்புகள் செயல்பாடு மற்றும் அதன் அழைப்பாளருக்கு இடையில் பகிரப்படுகின்றன.
கட்டளை கட்டளை திரும்ப ஒரு செயல்பாட்டில் செயல்படுத்தப்பட்டால், செயல்பாடு முடிவடையும் மற்றும் செயல்பாட்டு அழைப்புக்குப் பிறகு அடுத்த கட்டளையுடன் செயலாற்றுகிறது. ஒரு செயல்பாடு முடிவடைந்தவுடன், பதவியின் அளவுருக்கள் மற்றும் சிறப்பு அளவுரு # மதிப்புகள் செயல்பாட்டின் செயல்பாட்டிற்கு முன்பு இருந்த மதிப்புகளுக்கு மீட்டமைக்கப்படும்.
செயல்பாட்டு பெயர்கள் மற்றும் வரையறைகள் -f விருப்பத்துடன் அறிவிக்கப்படலாம் அல்லது அறிவிக்கப்பட்ட கட்டளை கட்டளை கட்டளைகளுக்கு. அறிவிக்க அல்லது- வகை விருப்பம் -F விருப்பம் பெயர்களை மட்டுமே பட்டியலிடும். செயல்பாடுகளை ஏற்றுமதி செய்யலாம், அதனால் subshells தானாகவே -f விருப்பத்தை ஏற்றுமதி கட்டப்பட்ட நிலையில் வரையறுக்கப்படுகின்றன.
செயல்பாடுகளை சுருக்கமாக இருக்கலாம். மறுகட்டமைப்பு அழைப்புகளின் எண்ணிக்கையில் எந்த வரம்புகளும் விதிக்கப்படவில்லை.
அரித்மேடிக் மதிப்பீடு
ஷெல் கணித சூழல்களால் மதிப்பீடு செய்ய அனுமதிக்கப்படுகிறது, சில சூழ்நிலைகளில் (கட்டப்பட்ட கட்டளை மற்றும் அரித்மெடிக் விரிவாக்கம் பார்க்கவும் ). மதிப்பீடு செய்யப்படுகிறது நிலையான-அகல முழுமையாக்கங்கள் சரிபார்க்க எந்த சோதனை, 0 மூலம் பிரிவு சிக்கி மற்றும் ஒரு பிழை என கொடியிட்டார். ஆபரேட்டர்கள் மற்றும் அவற்றின் முன்னுரிமை மற்றும் கூட்டாண்மை ஆகியவை சி மொழியில் உள்ளவை. ஆபரேட்டர்கள் பின்வரும் பட்டியல் சமமான முன்னுரிமை ஆபரேட்டர்கள் அளவுகளாக குழுவாக. நிலைகள் முன்னுரிமை குறைப்பு வரிசையில் பட்டியலிடப்பட்டுள்ளன.
id ++ id -
மாறி பிந்தைய அதிகரிப்பு மற்றும் பிந்தைய குறைப்பு
++ ஐடி - ஐடி
மாறி முந்தைய அதிகரிப்பு மற்றும் முன் குறைப்பு
- +
மைனஸ் மற்றும் பிளஸ்
! ~
தர்க்கரீதியான மற்றும் பிட்வைஸ் மறுப்பு
**
அடுக்குக்
* /%
பெருக்கல், பிரிவு, மீதமுள்ள
+ -
கூடுதலாக, கழித்தல்
<< >>
இடது மற்றும் வலது பிட்வைஸ் மாற்றங்கள்
<=> = <>
ஒப்பீடு
==! =
சமத்துவம் மற்றும் சமத்துவமின்மை
&
பிட்வைஸ் மற்றும்
^
பிட்வைஸ் பிரத்தியேக OR
|
பிட்வைஸ் OR
&&
தருக்க மற்றும்
||
தர்க்கம் OR
எக்ஸ்ப்ரெர் ? expr : expr
நிபந்தனை மதிப்பீடு
= * = / =% = + = = = == >> = = = = = =
வேலையை
expr1 , expr2
கமா
ஷெல் மாறிகள் செயல்பாடுகளை அனுமதிக்கப்படுகின்றன; வெளிப்பாடு மதிப்பிடப்படுவதற்கு முன் அளவுரு விரிவாக்கம் செய்யப்படுகிறது. ஒரு வெளிப்பாட்டின் கீழ், ஷெல் வேரியப்கள் அளவுரு விரிவாக்கம் தொடரியல் பயன்படுத்தாமல் பெயரால் குறிப்பிடப்படலாம். ஒரு மாறியின் மதிப்பானது குறிப்பிடப்பட்ட போது ஒரு கணித வெளிப்பாடாக மதிப்பிடப்படுகிறது. ஒரு ஷெல் மாறி அதன் முழுமையான பண்புக்கூறு ஒரு வெளிப்பாட்டில் பயன்படுத்தப்பட வேண்டும்.
ஒரு முன்னணி 0 ஐக் கொண்டிருக்கும் கான்ஸ்டாண்டுகள் ஆர்த்தல் எண்களாகப் புரிந்து கொள்ளப்படுகின்றன. ஒரு முன்னணி 0x அல்லது 0x என்பது ஹெக்ஸாடெசிமல் குறிக்கிறது. இல்லையெனில், எண்கள் வடிவம் [ base # ] n ஐ எடுக்கின்றன, அங்கு அடிப்படை 2 மற்றும் 64 ஆகிய இடங்களுக்கு இடையே ஒரு தசம எண்ணாக இருக்கிறது. அடிப்படை # விலகியிருந்தால், அடிப்படை 10 பயன்படுத்தப்படுகிறது. 9 க்கும் அதிகமான இலக்கங்கள் சிற்றெழுத்துகள், பெரிய எழுத்துகள், @, மற்றும் _, அந்த வரிசையில் குறிப்பிடப்படுகின்றன. அடித்தளம் 36 அல்லது அதற்கு சமமாக இருந்தால், சிறிய மற்றும் பெரிய எழுத்துகள் 10 மற்றும் 35 க்கு இடையில் எண்களை பிரதிநிதித்துவப்படுத்துவதற்காக பயன்படுத்தப்படலாம்.
ஆபரேட்டர்கள் முன்னுரிமை வரிசையில் மதிப்பீடு செய்யப்படுகின்றனர். அடைப்புக்குறிகளில் துணை வெளிப்பாடுகள் முதலில் மதிப்பீடு செய்யப்பட்டு மேலே உள்ள முன்னுரிமை விதிகளை மேலெழுதலாம்.
நிபந்தனையற்ற வெளிப்பாடுகள்
நிபந்தனை வெளிப்பாடுகள் [[ கலவை கட்டளையால் மற்றும் சோதனை மற்றும் [ கட்டப்பட்ட கட்டளைகளால் கோப்பு பண்புகளை சோதிக்க மற்றும் சரம் மற்றும் கணித ஒப்பீடுகள் செய்ய பயன்படுத்தப்படுகின்றன. பின்வரும் ஒற்றுமை அல்லது பைனரி அடிப்படைகளில் இருந்து வெளிப்பாடுகள் உருவாகின்றன. அடிப்படைகளில் ஒன்றை எந்த கோப்பு வாதமும் வடிவம் / dev / fd / n என்று இருந்தால் , பின்னர் கோப்பு n குறியை சரிபார்க்கவும். அடிப்படைகளில் ஒன்றுக்கு கோப்பு வாதம் என்றால், / dev / stdin , / dev / stdout , அல்லது / dev / stderr , file descriptor 0, 1, அல்லது 2, முறையே சரிபார்க்கப்பட்டால்.
-a கோப்பு
கோப்பு இருந்தால் உண்மை.
-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 கோப்பு
உண்மை இருந்தால், அது கடைசியாக வாசித்ததிலிருந்து மாற்றப்பட்டுவிட்டது.
கோப்பு 1 - nt file2
கோப்பு 2 விட கோப்பு 1 புதியது (மாற்றம் தேதி அடிப்படையில்) அல்லது கோப்பு 1 உள்ளது மற்றும் கோப்பு 2 இல்லை என்றால் உண்மை.
file1 - ot file2
File1 ஐ விட கோப்பு 1 பழையதாக இருந்தால், அல்லது file2 உள்ளது மற்றும் file1 இல்லையென்றால் உண்மை.
file1 -ef file2
கோப்பு 1 மற்றும் கோப்பு 2 அதே சாதனம் மற்றும் ஐயோட் எண்களைக் குறிக்கும் உண்மை.
-இது விருப்பம்
ஷெல் விருப்பத்தேர்வு விருப்பம் செயல்படுத்தப்பட்டால் உண்மை. -o விருப்பத்தின் விளக்கத்தின் கீழ் விருப்பங்களின் பட்டியலைக் கீழே அமைக்கப்பட்ட கட்டமைப்பிற்குக் காண்க.
-z சரம்
சரம் நீளம் பூஜ்ஜியமாக இருந்தால் உண்மை.
-N சரம்
சரம்
சரம் நீளம் பூஜ்யம் இல்லையென்றால் உண்மை.
string1 == string2
சரணங்கள் சமமாக இருந்தால் உண்மை. = கண்டிப்பான POSIX இணக்கத்திற்காக == இடத்தில் பயன்படுத்தப்படலாம்.
string1 ! = string2
சரணங்கள் சமமாக இல்லாவிட்டால் உண்மை.
string1 < string2
உண்மை என்றால் string1 sorts2 க்கு முன் தற்போதைய மொழியில் lexicographically.
string1 > string2
உண்மை என்றால் string1 string2 பிறகு licographographically தற்போதைய மொழியில்.
arg1 OP arg2
-eq , -ne , -lt , -le , -gt , அல்லது -ge இல் ஒன்றாகும் . Arg1 சமமாக இருந்தால், இந்த கணித பைனரி ஆபரேட்டர்கள் உண்மைக்கு மாறானவை , சமமாக அல்ல, குறைவாக, குறைவாகவோ அல்லது சமமாகவோ, அதிகமாகவோ அல்லது அதிகமாகவோ அல்லது arg2 க்கு சமமாகவோ இருந்தால் . Arg1 மற்றும் arg2 நேர்மறை அல்லது எதிர்மறை முழுமையாய் இருக்கலாம்.
SIMPLE COMMAND EXPANSION
ஒரு எளிய கட்டளையை நிறைவேற்றும்போது, ஷெல் இடதுபுறத்தில் இருந்து வலதுபுறமாக விரிவாக்கங்கள், பணிகளை மற்றும் திசைதிருப்பல்களை செய்கிறது.
1. பாகுபடுத்தியுள்ள மாறிகள் (மாற்றியமைக்கப்பட்ட கட்டளை பெயர்) மற்றும் திசைமாற்றங்கள் எனக் குறிக்கப்பட்ட வார்த்தைகள் பின்னர் செயலாக்கத்திற்கு சேமிக்கப்படுகின்றன.
மாறும் பணிகள் அல்லது திசைதிருப்பல் இல்லாத வார்த்தைகள் விரிவாக்கப்படுகின்றன. விரிவாக்கத்திற்கு பிறகு எந்தவொரு வார்த்தைகளும் தொடர்ந்தால், முதல் சொல்லானது கட்டளையின் பெயராக எடுத்துக்கொள்ளப்படும், மீதமுள்ள வார்த்தைகள் வாதங்கள்.
3. REDIRECTION கீழ் விவரித்தார் என மறுதலிப்புகள் செய்யப்படுகின்றன.
4. ஒவ்வொரு மாறி வேலையில் உள்ள உரை = tilde விரிவாக்கம், அளவுரு விரிவாக்கம், கட்டளை மாற்று, கணித விரிவாக்கம் மற்றும் மேற்கோள் நீக்கம் ஆகியவற்றிற்குள் ஒதுக்கப்படும்.
கட்டளை பெயர் முடிவு எதுவும் இல்லை என்றால், மாறி பணிகள் தற்போதைய ஷெல் சூழலை பாதிக்கும். இல்லையென்றால், செயல்படுத்தப்பட்ட கட்டளையின் சூழலில் மாறிகள் சேர்க்கப்படும், தற்போதைய ஷெல் சூழலை பாதிக்காது. எந்தவொரு பணிகளும் ஒரு வாசிப்பு மாறிக்கு ஒரு மதிப்பைக் கொடுக்கும் என்றால், ஒரு பிழை ஏற்படுகிறது மற்றும் கட்டளை அல்லாத பூஜ்ஜியத்துடன் வெளியேறும் கட்டளை.
கட்டளை பெயர் முடிவு எதுவும் இல்லையெனில், திசைதிருப்பல்கள் நிகழும், ஆனால் தற்போதைய ஷெல் சூழலை பாதிக்காது. திசைமாற்ற பிழை, பூஜ்ஜியமற்ற நிலையுடன் வெளியேற கட்டளை ஏற்படுகிறது.
விரிவாக்கத்திற்கு பிறகு ஒரு கட்டளை பெயர் இருந்தால், கீழே விவரிக்கப்பட்டுள்ளபடி செயல்படுத்தல் நிறைவேற்றப்படுகிறது. இல்லையெனில், கட்டளை வெளியேறும். விரிவாக்கங்களில் ஒரு கட்டளை மாற்று இருந்தால், கட்டளையின் வெளியேறும் நிலை, கடைசியாக கட்டளையிடப்பட்ட மாற்றத்தின் வெளியேறும் நிலை ஆகும். கட்டளை மாற்று இல்லை என்றால், கட்டளை பூஜ்ஜிய நிலைக்கு வெளியேறும்.
COMMAND செயல்முறை
ஒரு கட்டளை வார்த்தைகளாக பிரிக்கப்பட்ட பின்னர், இது ஒரு எளிய கட்டளையிலும், வாதங்களின் ஒரு விருப்ப பட்டியலிலும் முடிந்தால், பின்வரும் நடவடிக்கைகள் எடுக்கப்படும்.
கட்டளை பெயர் எந்த குறைபாடுகளும் இல்லை என்றால், ஷெல் அதை கண்டுபிடித்து முயற்சிக்கிறது. அந்த பெயரில் ஒரு ஷெல் செயல்பாட்டைக் கொண்டிருந்தால், FUNCTIONS இல் மேலே குறிப்பிட்டவாறு அந்த செயல்பாடு செயல்படுத்தப்படுகிறது. பெயர் ஒரு சார்பாக பொருந்தவில்லை என்றால், ஷெல் கட்டடங்களின் பட்டியலில் அது ஷெல் தேடுகிறது. ஒரு போட்டியைக் கண்டால், கட்டப்பட்டது என்று கட்டப்பட்டது.
பெயர் ஷெல் செயல்பாடு அல்லது கட்டப்பட்டது அல்ல, மற்றும் எந்த குறைபாடுகளும் இல்லை என்றால், பேஷ் ஒவ்வொரு உறுப்பு PATH யும் ஒரு பெயருடன் ஒரு பெயரிடப்பட்ட கோப்பைக் கொண்டுள்ள கோப்பகத்தை தேடுகிறது. பாஷ் இயங்கக்கூடிய கோப்புகளின் முழு பாதை பெயர்களை நினைவில் வைக்க ஒரு ஹாஷ் அட்டவணையைப் பயன்படுத்துகிறது (கீழே உள்ள ஷெல் பில்டின் கட்டளைகளின் கீழ் புலத்தைக் காண்க). ஹாஷ் அட்டவணையில் கட்டளை காணப்படவில்லை என்றால் PATH இல் உள்ள அடைவுகளின் முழுமையான தேடலை மட்டுமே செய்ய முடியும். தேடல் தோல்வியடைந்தால், ஷெல் ஒரு பிழை செய்தியை அச்சிட்டு 127 வெளியேறும் நிலையை வழங்குகிறது.
தேடல் வெற்றிகரமாக இருந்தால், அல்லது கட்டளை பெயர் ஒன்று அல்லது அதற்கு மேற்பட்ட ஸ்லாஷ்கள் இருந்தால், ஷெல் என்ற பெயரிடப்பட்ட நிரலை தனி செயல்பாட்டு சூழலில் செயல்படுத்துகிறது. கொடுக்கப்பட்ட பெயருடன் வாதம் 0 அமைக்கப்படுகிறது, மேலும் கட்டளைக்கு மீதமுள்ள வாதங்கள் ஏதேனும் இருந்தால், வழங்கப்பட்ட வாதங்களுக்கு அமைக்கப்பட்டிருக்கும்.
இந்த செயலாக்கம் தோல்வியுற்றால், கோப்பு இயங்கக்கூடிய வடிவமைப்பில் இல்லை, கோப்பு ஒரு அடைவு அல்ல, அது ஷெல் ஸ்கிரிப்ட் ஆக இருக்கும் , ஷெல் கட்டளைகளைக் கொண்டுள்ள கோப்பு. இது ஒரு சாகுபடி செய்யப்படுகிறது. இதன் விளைவாக, இந்த சாயல் தன்னை மறுமதிப்பீடு செய்கிறது, இதன் விளைவாக, ஒரு புதிய ஷெல் ஸ்கிரிப்ட் கையாளப்படுத்தப்படும் எனக் கருதப்பட்டதால், பெற்றோர் நினைவூட்டப்பட்ட கட்டளைகளின் இடங்கள் ( ஷெல் பில்லின் கட்டளைகளின் கீழ் கீழே காணும் ஹேஷ் ) குழந்தையால் தக்கவைக்கப்படுகிறது.
நிரல் தொடக்கத்தில் ஒரு கோப்பு # தொடங்கி இருந்தால் ! , முதல் வரியின் மீதி நிரலுக்கு ஒரு மொழிபெயர்ப்பாளரை குறிப்பிடுகிறது. ஷெல் இந்த இயங்கக்கூடிய வடிவம் தங்களை கையாளாத இயக்க முறைமைகளில் குறிப்பிட்ட மொழிபெயர்ப்பாளரை செயல்படுத்துகிறது. மொழிபெயர்ப்பாளருக்கான வாதங்கள் நிரலின் முதல் வரியின் மொழிபெயர்ப்பாளரின் பெயரைத் தொடர்ந்து ஒரே விருப்பமான வாதத்தை கொண்டிருக்கின்றன, அதன்பிறகு நிரலின் பெயர், தொடர்ந்து கட்டளை வாதங்கள், ஏதாவது இருந்தால்.
COMMAND செயலாக்கம் சுற்றுச்சூழல்
ஷெல் ஒரு மரணதண்டனை சூழலைக் கொண்டுள்ளது, அதில் பின்வருவன அடங்கும்:
* திறந்திருக்கும் கோப்புகளை ஷெல் மூலம் கையொப்பமிடப்பட்ட திறந்த கோப்புகள், நிர்மாண கட்டடத்திற்கு அனுப்பிய திசைதிருப்பங்களால் மாற்றப்படும்
* தற்போதைய பணி அடைவு cd , pushd அல்லது popd , அல்லது ஷோ மூலம் பரம்பரை மூலம் வழங்கப்படும் என அமைக்கப்படுகிறது
* umask ஆல் அமைக்கப்படும் அல்லது ஷெல் பெற்றோரிடமிருந்து பெறப்பட்ட கோப்பு உருவாக்குதல் முறை முகமூடி
* தற்போதைய பொறிகளை பொறி மூலம் அமைக்க
* ஷெல் அளவுருக்கள் மாறி வேலையை அமைக்கின்றன அல்லது சூழலில் ஷெல் பெற்றோரிடமிருந்து செட் அல்லது மரபு ரீதியாக பெறப்படுகின்றன.
* ஷெல் செயல்பாடுகள் நிறைவேற்றப்படுகையில் அல்லது ஷெல் பெற்றோர் சுற்றுச்சூழலில் மரபுரிமையில் வரையறுக்கப்படும்
* விருப்பத்தேர்வுகள் அழைப்பிதழில் (இயல்புநிலை அல்லது கட்டளை வரி விவாதங்களால்) அல்லது தொகுப்பு மூலமாக செயல்படுத்தப்படும்
* விருப்பங்களை கடைக்கு உதவுகிறது
* ஷெல் மாற்றுப்பெயர்கள் மாற்றுடன் வரையறுக்கப்படுகின்றன
பின்னணி வேலைகள், $ $ மதிப்பு, $ PPID மதிப்பு போன்ற பல்வேறு செயல்முறை ID கள்
கட்டப்பட்ட அல்லது ஷெல் செயல்பாட்டை தவிர வேறு ஒரு எளிய கட்டளை நிறைவேற்றப்படும்போது, அது பின்வரும் தனித்தனி செயலாக்க சூழலில் செயல்படுத்தப்படுகிறது. இல்லையெனில் குறிப்பிட்டபடி, மதிப்புகள் ஷெல் இருந்து மரபுரிமை.
* ஷெல் திறந்த கோப்புகள், கட்டளைக்கு திசைதிருப்பல் மூலம் குறிப்பிட்ட மாற்றங்கள் மற்றும் சேர்த்தல்
* தற்போதைய பணி அடைவு
* கோப்பு உருவாக்கும் முறை மாஸ்க்
* ஷெல் மாறிகள் ஏற்றுமதிக்கு குறிக்கப்பட்டுள்ளன, மேலும் கட்டளைக்கு ஏற்றுமதி செய்யப்பட்ட மாறிகள், சுற்றுச்சூழலில் நிறைவேற்றப்படுகின்றன
ஷெல்லால் பிடிக்கப்பட்டிருக்கும் பொறிகளை ஷெல் பெற்றோரிடமிருந்து பெறப்பட்ட மதிப்புகளுக்கு மீட்டெடுக்கின்றன மற்றும் ஷெல் மூலம் புறக்கணிக்கப்படும் பொறிகளை புறக்கணிக்கின்றன
இந்த தனி சூழலில் பெறப்பட்ட ஒரு கட்டளை ஷெல் செயல்படுத்தும் சூழலை பாதிக்காது.
கட்டளை மாற்று மற்றும் ஒத்திசைவு கட்டளைகள் ஷெல் சூழலின் நகல் ஆகும், ஒரு ஷெல் சூழலில் ஒரு போலிச் சூழலில் செயல்படுத்தப்படுகிறது, தவிர ஷெல் மூலம் பிடிக்கப்பட்டிருக்கும் பொறிகளை ஷெல் தனது பெற்றோரிடம் இருந்து பெற்றோரிடம் இருந்து பெறப்பட்ட மதிப்புகள் மீட்டமைக்கப்படுகிறது. ஒரு பைப்ளின் பகுதியாக செயல்படுத்தப்பட்ட பில்டின் கட்டளைகள் ஒரு துணை சூழலில் செயல்படுத்தப்படுகின்றன. துணைச் சுற்றுச்சூழலுக்கு மாற்றங்கள் ஷெல் நடைமுறைச் சூழலை பாதிக்காது.
ஒரு கட்டளை தொடர்ந்து & பணிச்சூழல் செயல்படவில்லை என்றால், கட்டளையின் இயல்புநிலை நிலையான உள்ளீடு வெற்று கோப்பு / dev / null ஆகும் . இல்லையெனில், கோரிக்கை ஷெல் கோப்பு டிஸ்கிரிப்டர்களை திசைமாற்றங்களால் திருத்தப்படும் எனக் கோரப்பட்ட கட்டளையை சுதந்தரிக்கிறது.