சாம்பல் - லினக்ஸ் கட்டளை - யுனிக்ஸ் கட்டளை

பெயர்

sh - கட்டளை மொழிபெயர்ப்பாளர் ( ஷெல் )

சுருக்கம்

sh [- / + aCefnuvxIimqsVEbc ] [- o longname ] -words [ இலக்கு ... ]

விளக்கம்

கணினிக்கு நிலையான கட்டளை மொழி பெயர்ப்பாளர் ஆவார். ஷெல்லின் தற்போதைய பதிப்பு ஷோவுக்கு POSIX 1003.2 மற்றும் 1003.2a குறிப்பீடுகளுடன் இணங்குவதற்கான மாற்றத்தில் உள்ளது. இந்த பதிப்பு பல அம்சங்களைக் கொண்டிருக்கிறது, இது சில விதங்களில் கோர்ன் ஷெல் போல தோன்றும், ஆனால் இது ஒரு கோர்ன் ஷெல் குளோன் அல்ல (பார்க்க KSH (1)). POSIX மற்றும் சில பெர்க்லி விரிவாக்கங்களால் வரையறுக்கப்பட்ட அம்சங்கள் மட்டுமே இந்த ஷெல்க்குள் இணைக்கப்படுகின்றன. POSIX முறையான 4.4 BSD வெளியிடப்பட்ட நேரத்தில் நாம் எதிர்பார்க்கிறோம். இந்த மனிதன் பக்கம் ஒரு பயிற்சி அல்லது ஷெல் முழுமையான விவரக்குறிப்பு என்று கருதப்படவில்லை.

கண்ணோட்டம்

ஷெல் என்பது ஒரு கோப்பு அல்லது முனையிலிருந்து வரிகளை படிக்கும் ஒரு கட்டளையாகும் , அவற்றைப் புரிந்துகொள்கிறது, பொதுவாக மற்ற கட்டளைகளை இயக்கும். இது ஒரு கணினியில் கணினியில் உள்நுழையும் போது இயங்கும் நிரலாகும் (ஒரு பயனர் chsh (1) கட்டளையுடன் வேறுபட்ட ஷெல் ஒன்றை தேர்ந்தெடுக்க முடியும்). ஷெல் ஓட்டம் கட்டுப்பாட்டு கட்டடங்களைக் கொண்ட ஒரு மொழியை செயல்படுத்துகிறது, வரலாற்று மற்றும் வரி எடிட்டிங் திறன்களைக் கொண்டு, தரவு சேமிப்பகத்துடன் கூடுதலாக பல்வேறு அம்சங்களை வழங்கும் மேக்ரோ வசதி. ஊடாடும் பயன்பாட்டிற்கு உதவுவதற்கு பல அம்சங்களை உள்ளடக்கியதுடன், ஊடாடும் மொழி ஊடாடும் மற்றும் சாராத செயல்பாட்டுக்கும் (ஷெல் ஸ்கிரிப்டுகள்) இரண்டிற்கும் பொதுவானது. அதாவது, கட்டளைகளை இயங்கும் ஷெல் நேரடியாக தட்டச்சு செய்யலாம் அல்லது ஒரு கோப்பில் வைக்கலாம் மற்றும் கோப்பு நேரடியாக ஷெல் மூலம் செயல்படுத்தப்படும்.

பிரார்த்தனையுடன்

ஷெல்லின் நிலையான உள்ளீடு ஒரு முனையுடன் (அல்லது - நான் கொடி அமைக்கப்பட்டால்) இணைக்கப்பட்டிருந்தால், மற்றும் - சி விருப்பம் இல்லை, ஷெல் ஒரு ஊடாடும் ஷெல் கருதப்படுகிறது. ஒவ்வொரு கட்டளையிலும் ஒரு ஊடாடும் ஷெல் பொதுவாக கேட்கிறது மற்றும் நிரலாக்க மற்றும் கட்டளை பிழைகள் வித்தியாசமாக (கீழே விவரிக்கப்பட்டுள்ளது) கையாளுகிறது. முதல் தொடங்கும் போது, ​​ஷெல் வாதம் 0 ஆய்ந்து, மற்றும் ஒரு கோடு தொடங்கும் என்றால் `- 'ஷெல் ஒரு உள்நுழைவு ஷெல் கருதப்படுகிறது. பயனர் முதலில் உள்நுழைந்தால், இது தானாக கணினியில் தானாக செய்யப்படுகிறது. ஒரு உள்நுழைவு ஷெல் முதலில் கோப்புகளை / etc / profile இலிருந்து கட்டளைகளை படிக்கும். சுற்றுச்சூழல் மாறி ENV ஷெல்லில் நுழைகையில் அமைக்கப்பட்டிருக்கும், அல்லது ஒரு உள்நுழைவு ஷெல் சாதனத்தில் அமைக்கப்பட்டிருந்தால், ஷெல் அடுத்தமுறை ENV இல் உள்ள கோப்பில் இருந்து கட்டளைகளை வாசிக்கும், எனவே ஒரு பயனர் மட்டுமே செயல்படுத்தப்பட வேண்டிய கட்டளைகள் வைக்க வேண்டும் ENV கோப்பில் உள்ள ஒவ்வொரு ஷெல்லிற்கும் செயலாக்கப்படும். கோப்பு கோப்பு, மற்றும் கட்டளைகளில் உள்நுழைவு நேரம். சில கோப்பிற்கு ENV மாறிளை அமைக்க, உங்கள் வீட்டின் அடைவில் உங்கள்

ENV = $ வீடு / .shinit; ENV ஏற்றுமதி

"ஷினிட்" என்ற பெயரை மாற்றுவதற்கு நீங்கள் விரும்பும் எந்த பெயரும் இல்லை. ஷெல் ஸ்கிரிப்டுகள் மற்றும் இடைசெயலாக்கப்படாத குண்டுகள் உள்ளிட்ட ஷெல் ஒவ்வொரு அழைப்பிற்கும் ENV கோப்பு வாசிக்கப்பட்டு இருப்பதால், ENV கோப்பில் உள்ள கட்டுப்பாட்டு கட்டளைகளை ஊடாடும் அழைப்பிற்கு கட்டுப்படுத்துவதற்கு பின்வரும் முன்மாதிரி பயனுள்ளதாக இருக்கும். "வழக்கு" மற்றும் " esac " க்குள் இடம் கட்டளைகளை (இந்த கட்டளைகள் பின்னர் விவரிக்கப்பட்டுள்ளன):

வழக்கு $ - இல் * i *)

# ஊடாடும் பயன்பாட்டிற்கான கட்டளைகள் மட்டும்

...

esac

விருப்பங்கள் தவிர கட்டளை வரி விவாதங்கள் குறிப்பிடப்பட்டால், ஷெல் கட்டளைகளை (ஷெல் ஸ்கிரிப்ட்) படிக்க வேண்டிய கோப்பின் பெயராக முதல் வாதம் கருதுகிறது, மீதமுள்ள வாதங்கள் ஷெல் நிலை அளவுருக்கள் ($ 1 , $ 2, முதலியன). இல்லையெனில், ஷெல் அதன் நிலையான உள்ளீடுகளிலிருந்து கட்டளைகளை வாசிக்கும்.

வாதம் பட்டியல் செயலாக்கம்

ஒற்றை எழுத்து விருப்பங்கள் அனைத்தும் ஒரு பெயரைக் கொண்டுள்ளன. இது ஓரு விருப்பத்திற்கான ஒரு வாதமாக பயன்படுத்தப்படலாம். தொகுப்பு - o பெயர் கீழே விளக்கம் ஒற்றை கடிதம் விருப்பத்தை அடுத்த வழங்கப்படுகிறது. ஒரு கோப்பை குறிப்பிடுவது `` - '' விருப்பம் '' பிளஸ் '' + '' பயன்படுத்தும் போது விருப்பத்தை முடக்குகிறது. பின்வரும் விருப்பங்களை கட்டளை வரியிலிருந்து அமைக்கலாம் அல்லது செட் (1) கட்டப்பட்டது (பின்னர் விவரிக்கப்பட்டது).

-அலக்ஸ்ஃபோர்ட்

ஒதுக்கப்படும் அனைத்து மாறிகள் ஏற்றுமதி. (4.4alpha க்கு UNIMPLEENTED)

-c

கட்டளை வரியிலிருந்து கட்டளைகளைப் படிக்கவும். நிலையான உள்ளீட்டிலிருந்து எந்த கட்டளைகளும் படிக்கப்படாது.

-C noclobber

ஏற்கனவே உள்ள கோப்புகளை மேலெழுதாதே "`> '' (4.4alpha க்கு UNIMPLEENTED)

-ஒரே மாறிவிட்டது

ஊடாடக்கூடாது என்றால், ஏதேனும் நிரூபிக்கப்படாத கட்டளையானது தோல்வியடைந்தால் உடனடியாக வெளியேறவும். கட்டளை என்பது `` && '' அல்லது '`||' 'ஆபரேட்டரின் இடது கை இயக்கமாக இருந்தால் அல்லது அதற்கு முன்னால் அல்லது கட்டுப்படுத்திக்கொள்ளப்பட்டால் கட்டளை பயன்படுத்தப்படுமானால், ஒரு கட்டளையின் வெளியேறும் நிலை வெளிப்படையாக பரிசோதிக்கப்படும்.

-f noglob

Pathname விரிவாக்கம் முடக்கு.

-n noexec

ஊடாடி இல்லை என்றால், கட்டளைகளை படிக்கவும், அவற்றை இயக்க வேண்டாம். ஷெல் ஸ்கிரிப்ட்டின் தொடரியல் சோதனைக்கு இது பயனுள்ளதாக இருக்கும்.

-u பெயர்ச்சொல்

அமைக்கப்படாத ஒரு மாறி விரிவாக்க முயற்சிக்கும் போது நிலையான செய்தியை ஒரு செய்தியை எழுதுங்கள், மற்றும் ஷெல் ஊடாடும் போது உடனடியாக வெளியேறவும். (4.4alpha க்கு UNIMPLEENTED)

-v verbose

ஷெல் அதன் உள்ளீட்டை படிப்படியாக நிலையான பிழைக்கு எழுதுகிறது. பிழைத்திருத்தலுக்கு பயனுள்ளதாக இருக்கிறது.

-x xtrace

ஒவ்வொரு கட்டளையுமே நிலையான பிழைக்கு எழுதவும் (முன் செயல்படுத்தப்படும் முன் `+ '.

-q quietprofile

V அல்லது - x விருப்பங்களை அமைத்திருந்தால், துவக்க கோப்புகள் படிக்கும்போது அவற்றைப் பயன்படுத்த வேண்டாம், இந்த / etc / profile. ENV சூழல் மாறியால் குறிப்பிடப்பட்ட விவரமும் கோப்புகளும்.

-நான் புறக்கணிக்கிறேன்

ஊடாடும் போது EOF இன் உள்ளீடு இருந்து புறக்கணிக்கவும்.

-i ஊடாடும்

ஷெல்லுக்கு ஊடாடும் வகையில் செயல்படுவதற்கு உதவுங்கள்.

-m மானிட்டர்

வேலை கட்டுப்பாட்டை இயக்கு (ஊடாடும் போது தானாக அமைக்கவும்).

-s stdin

நிலையான உள்ளீடிலிருந்து கட்டளைகளைப் படிக்கவும் (எந்த கோப்பு வாதமும் இல்லாவிட்டால் தானாக அமைக்கவும்). ஷெல் ஏற்கனவே இயங்க ஆரம்பித்த பிறகு (அதாவது செட் (1) உடன் அமைத்தால் இந்த விருப்பம் எந்த விளைவையும் ஏற்படுத்தாது.

-V vi

உள்ளமைக்கப்பட்ட vi (1) கட்டளை வரி திருத்தி (முடக்கு - இது அமைக்கப்பட்டிருந்தால்) செயல்படுத்தவும்.

-E emacs

உள்ளமைக்கப்பட்ட emacs (1) கட்டளை வரி எடிட்டரை இயக்கு (முடக்கு - வி அமைத்தால்).

-b அறிவிக்க

பின்னணி வேலை நிறைவு ஒத்தியங்காமல் அறிவிப்பு செயல்படுத்த. (4.4alpha க்கு UNIMPLEENTED)

லெக்சிகல் அமைப்பு

ஷெல் ஒரு கோப்பில் இருந்து கோடுகளின் அடிப்படையில் உள்ளீடுகளை வாசித்து, இடைவெளியில் (பிளாங்க்கள் மற்றும் தாவல்கள்), மற்றும் `` ஆபரேட்டர்கள் '' என்று அழைக்கப்படும் ஷெல்லுக்கு சிறப்பு இருக்கும் எழுத்துக்களின் சில வரிசைகளில் உடைக்கின்றன. இரண்டு வகையான ஆபரேட்டர்கள் உள்ளன: கட்டுப்பாட்டு ஆபரேட்டர்கள் மற்றும் திசைமாற்ற ஆபரேட்டர்கள் (அவற்றின் பொருள் பின்னர் விவாதிக்கப்பட்டது). பின்வரும் ஆபரேட்டர்கள் பட்டியல்:

"கட்டுப்பாட்டு ஆபரேட்டர்கள்:"

& & (&; ;; | || <வரியில் முடிவதற்கு சற்று>

"திசைமாற்றி ஆபரேட்டர்:"

<>> | << >> <&> & << - <>

மேற்கோள்காட்டும்

மேற்கோள் என்பது சில எழுத்துகள் அல்லது சொற்களின் சிறப்புப் பொருள் ஷெல், அதாவது ஆபரேட்டர்கள், இடைவெளி, அல்லது முக்கிய சொற்கள் போன்றவற்றை நீக்க பயன்படுகிறது. மூன்று வகையான மேற்கோள்கள் உள்ளன: ஒற்றை மேற்கோள், பொருத்தப்பட்ட இரட்டை மேற்கோள்கள், மற்றும் பின்சாய்வு போன்றவை.

பின்கோடு

அக் நியூலைன் தவிர, ஒரு பின்தொடர் பின்வரும் எழுத்துகளின் உண்மையான அர்த்தத்தை பாதுகாக்கிறது. AQ நெடுவரிசைக்கு முந்தைய பின்னோக்கு ஒரு வரி தொடர்ச்சியாக கருதப்படுகிறது.

ஒற்றை மேற்கோள்

ஒற்றை மேற்கோள்களில் உள்ள எழுத்துக்கள் ஒற்றை மேற்கோள்களை (ஒற்றை மேற்கோள் தவிர, ஒற்றை மேற்கோள் சரத்தில் ஒற்றை மேற்கோள்களை வைக்க இயலாது) தவிர்த்து விடுகிறது.

இரட்டை மேற்கோள்கள்

இரட்டை மேற்கோள்களுக்குள் உள்ள எழுத்துக்கள் டாலர்சனை ($) backquote (`) மற்றும் பின்ஸ்லாஷ் (\) தவிர அனைத்து எழுத்துக்களும் சாதாரண அர்த்தத்தை பாதுகாக்கிறது. இரட்டை மேற்கோள்களில் உள்ள பின்சாய்வு வரலாற்று ரீதியாக வித்தியாசமானது, மேலும் பின்வரும் எழுத்துகளைக் குறிப்பிடுவதற்கு உதவுகிறது:

$ `\ <புதியது>

இல்லையெனில் அது இலக்கியமாகவே உள்ளது.

ஒதுக்கப்பட்ட சொற்கள்

ஒதுக்கப்பட்ட சொற்கள் ஷெல்லுக்கு விசேஷமான அர்த்தங்களைக் கொண்டுள்ளன, அவை ஒரு வரியின் ஆரம்பத்தில் மற்றும் கட்டுப்பாட்டு இயக்ககத்திற்குப் பிறகு அங்கீகரிக்கப்படுகின்றன. பின்வருவன ஒதுக்கப்பட்ட சொற்கள்:

! Ta elif Ta fi Ta ta ta போது

வேறுவழிகாட்டி த டா த ா {டா}

ட டேன் டா வரை த டா டாக்

அவற்றின் பொருள் பின்னர் விவாதிக்கப்பட்டது.

மாற்றுப்பெயர்கள்

ஒரு மாற்று பெயர் மற்றும் அதனுடன் தொடர்புடைய மதிப்பை மாற்றுதல் (1) கட்டமைக்கப்பட்ட கட்டளையைப் பயன்படுத்தி அமைக்கிறது. ஒரு ஒதுக்கப்பட்ட வார்த்தை ஏற்படக்கூடும் போது (மேலே பார்க்கவும்), மற்றும் ஒதுக்கப்பட்ட சொற்களுக்குப் பிறகு, ஷெல் ஒரு மாற்று பெயருடன் பொருந்துகிறதா என்பதைப் பார்க்க, சரிபார்க்கிறது. அவ்வாறு செய்தால், அது அதன் மதிப்புடன் உள்ளீடு ஸ்ட்ரீமில் மாற்றப்படும். உதாரணமாக, `` எல்எஃப்`` என்ற `` எஃப்எஃப் '' என்ற மாற்று பெயர் இருந்தால், பின்னர் உள்ளீடு:

lf foobar

மாறும்

ls-F foobar

அலிகேஷன்கள், ஆர்வமுள்ளவற்றுடன் செயல்பாடுகளை எப்படி உருவாக்க வேண்டும் என்பதைக் கற்றுக் கொள்ளாமல் கட்டளைகளுக்கு குறுக்குவழிகளை உருவாக்குவதற்கு எளிமையான பயனர்களுக்கு ஒரு வசதியான வழியை வழங்குகிறது. அவர்கள் lexically தெளிவற்ற குறியீடு உருவாக்க பயன்படுத்த முடியும். இந்த பயன்பாடு ஊக்கம்.

கட்டளைகள்

ஷெல் ஒரு மொழியின்படி அதைப் படிக்கும் வார்த்தைகளைப் புரிந்துகொள்கிறது, இந்த விவரத்தின் வெளிப்பாடு இந்த மனிதனின் பக்கத்திற்கு வெளியே உள்ளது (BOSF ஐ POSIX 1003.2 ஆவணத்தில் பார்க்கவும்). இருப்பினும், ஒரு வரி வாசிக்கப்படுகிறது. வரி முதல் வார்த்தை (அல்லது கட்டுப்பாட்டு இயக்குனருக்குப் பிறகு) ஒரு ஒதுக்கப்பட்ட சொல்லைக் குறிக்கவில்லை என்றால், ஷெல் ஒரு எளிய கட்டளையை அங்கீகரித்துள்ளது. இல்லையெனில், ஒரு சிக்கலான கட்டளை அல்லது வேறு சில சிறப்பு கட்டுமானம் அங்கீகரிக்கப்பட்டிருக்கலாம்.

எளிய கட்டளைகள்

எளிய கட்டளை அங்கீகரிக்கப்பட்டிருந்தால், ஷெல் பின்வரும் செயல்களை செய்கிறது:

  1. "பெயர் = மதிப்பு" என்ற வடிவத்தின் முன்னணி சொற்கள் எளிமையான கட்டளையின் சூழலுக்கு அகற்றப்பட்டு ஒதுக்கப்படுகின்றன. திசைமாற்றி ஆபரேட்டர்கள் மற்றும் அவற்றின் வாதங்கள் (கீழே விவரிக்கப்பட்டுள்ளபடி) துண்டிக்கப்பட்டு செயலாக்கத்திற்கு சேமிக்கப்படுகின்றன.
  2. "விரிவாக்கங்கள்" என்ற பிரிவில் விவரிக்கப்பட்டுள்ள மீதமுள்ள வார்த்தைகள் விரிவாக்கப்பட்டன, முதல் மீதமுள்ள வார்த்தை கட்டளை பெயர் மற்றும் கட்டளை அமைந்துள்ளதாகக் கருதப்படுகிறது. மீதமுள்ள வார்த்தைகள் கட்டளையின் வாதங்கள் என்று கருதப்படுகின்றன. கட்டளை பெயர் எதுவும் இல்லை என்றால், உருப்படி 1 இல் குறிப்பிடப்பட்ட `` மதிப்பு = '' மாறிவரும் பணிகள் தற்போதைய ஷெல்வை பாதிக்கின்றன.
  3. அடுத்த பிரிவில் விவரிக்கப்பட்டபடி திசைமாற்றங்கள் செய்யப்படுகின்றன.

திசை திருப்புதல்

ஒரு கட்டளை அதன் உள்ளீட்டைப் படிக்கும் அல்லது அதன் வெளியீட்டை அனுப்புவதை மாற்றுவதற்கு திசைமாற்றங்கள் பயன்படுத்தப்படுகின்றன. பொதுவாக, திசைதிருப்பல்கள் திறந்த, மூடு, அல்லது ஒரு கோப்பில் இருக்கும் குறிப்புகளை நகல் செய்யவும். திசை திருப்புவதற்கு பயன்படுத்தப்படும் ஒட்டுமொத்த வடிவமைப்பு:

[n] redir-op கோப்பு

அங்கு redir-op முன்னர் குறிப்பிடப்பட்ட திசைமாற்றி ஆபரேட்டர்களில் ஒன்றாகும். சாத்தியமான திசைதிருப்பல்களின் பட்டியல் பின்வருமாறு. Bq n என்பது ஒரு விருப்ப எண், இது `3 'இல் (ஒரு பைக் டிஸ்கிரிப்டரை குறிக்கும்' BQ 3 'அல்ல.

[n]> கோப்பு

கோப்பிற்கு நிலையான வெளியீடு (அல்லது n) ஐ திருப்பி விடவும்.

[n]> | கோப்பு

அதே, ஆனால் சி - விருப்பத்தை புறக்கணிக்க.

[n] >> கோப்பு

கோப்பிற்கு நிலையான வெளியீடு (அல்லது n) சேர்க்கவும்.

[n]

கோப்பில் இருந்து நிலையான உள்ளீடு (அல்லது n) ஐ திருப்பி விடவும்.

[n1] <& n2

கோப்பக டிஸ்கிரிப்டர் n2 இலிருந்து நிலையான உள்ளீடு (அல்லது n1) நகல்.

[n] <& -

நிலையான உள்ளீடு (அல்லது n) மூடு.

[n1]> & n2

N2 இலிருந்து நிலையான வெளியீட்டை (அல்லது n1) நகல் செய்யவும்.

[n]> & -

நிலையான வெளியீடு (அல்லது n) மூடு.

[n] <> கோப்பு

நிலையான உள்ளீடு (அல்லது n) இல் படித்து எழுதுவதற்கு கோப்பு திறக்க.

பின்வரும் திசைமாற்றம் அடிக்கடி "இங்கே-ஆவணம்" என்று அழைக்கப்படுகிறது

[n] << delimiter

இங்கு ஆவணம்-உரை ...

பிரிப்பானைப்

டெலிமிட்டர் வரை தொடர்ச்சியான வரிகளில் உள்ள அனைத்து உரைகளும் சேமிக்கப்பட்டு, நிலையான உள்ளீடு அல்லது கட்டளை குறிப்பிடப்பட்டால், கோப்பு டிஸ்க்ரிப்டர் n கிடைக்கிறது. தொடக்க வரிக்கு குறிப்பிட்டபடி வரையறுக்கப்பட்டிருந்தால், இங்கே-டாக்-உரை உரை மொழியாகக் கருதப்படுகிறது, இல்லையெனில் உரை அளவுரு விரிவாக்கம், கட்டளை மாற்று, மற்றும் கணித விரிவாக்கம் ("விரிவாக்கங்களின்" பிரிவில் விவரிக்கப்பட்டுள்ளது) 'ஆபரேட்டர் என்றால் `` <<' 'அதற்கு பதிலாக `` <<' 'அதற்கு பதிலாக `` doc-text -இல் முன்னணி தாவல்கள் நீக்கப்பட்டுள்ளன.

தேடல் மற்றும் செயல்படுத்தல்

மூன்று வகை கட்டளைகள் உள்ளன: ஷெல் செயல்பாடுகள், கட்டப்பட்ட கட்டளைகள், மற்றும் சாதாரண நிரல்கள் - அந்த கட்டளையை அந்த வரிசையில் (பெயரால்) தேடுகிறது. அவை ஒவ்வொன்றும் வேறு வழியில் செயல்படுத்தப்படுகின்றன.

ஒரு ஷெல் செயல்பாட்டை செயல்படுத்தும்போது, ​​ஷெல் செயல்பாட்டின் வாதங்களுக்கு அமைக்கப்பட்ட அனைத்து ஷெல் நிலைமை அளவுருக்கள் (மாறாமல் மாறாமல் $ 0 தவிர). கட்டளை சூழலில் வெளிப்படையாக வைக்கப்படும் மாறிகள் (செயல்பாட்டு பெயருக்கு முன்பாக அவர்களுக்கு ஒதுக்கீடு செய்வதன் மூலம்) செயல்பாட்டிற்கு உள்ளூர் செய்யப்படுகின்றன மற்றும் கொடுக்கப்பட்ட மதிப்புகள் அமைக்கப்படுகின்றன. பின்னர் செயல்பாடு வரையறை கொடுக்கப்பட்ட கட்டளை செயல்படுத்தப்படுகிறது. கட்டளையை நிறைவு செய்யும் போது பதவிக்குரிய அளவுருக்கள் அசல் மதிப்புகளுக்கு மீட்டமைக்கப்படும். இது தற்போதைய ஷெல்க்குள் ஏற்படுகிறது.

ஷெல் கட்டடங்களை ஒரு புதிய செயல்முறை உருவாகாமல், ஷெல் உள்நாட்டில் செயல்படுத்தப்படுகிறது.

இல்லையெனில், கட்டளை பெயர் ஒரு செயல்பாடு அல்லது கட்டப்பட்டதுடன் பொருந்தவில்லை என்றால், கட்டளை கோப்பு முறைமையில் ஒரு சாதாரண நிரலாக (அடுத்த பகுதியில் விவரிக்கப்பட்டுள்ளது) தேடுகிறது. ஒரு சாதாரண நிரல் செயல்படுத்தப்படும் போது, ​​ஷெல் நிரல் இயங்கும், வாதங்கள் மற்றும் சூழலை நிரல் நிரல். நிரல் இயல்பான இயங்கக்கூடிய கோப்பு இல்லை என்றால் (அதாவது, அதன் ASCII பிரதிநிதித்துவம் "#!" எனும் "மாய எண்" உடன் தொடங்கவில்லை என்றால், (2) ER ErnEXEC ஐ மீண்டும் கொடுங்கள்) ஷெல் திட்டம் subshell. குழந்தையின் ஷெல் இந்த விஷயத்தில் தன்னை மறுகட்டமைக்கும், எனவே விளைவாக ஒரு புதிய ஷெல் விளம்பர ஹாக் ஷெல் ஸ்கிரிப்ட்டை கையாள முற்பட்டால், பெற்றோர் ஷெல் அமைந்துள்ள ஹேஷ்டு கட்டளைகளின் இடம் நினைவில் கொள்ளப்படும் குழந்தை.

இந்த ஆவணத்தின் முந்திய பதிப்புகள் மற்றும் மூலக் குறியீடு ஆகியவை தவறாகவும் மற்றும் ஒரு ஷெல் ஸ்கிரிப்ட்டை ஒரு மாய எண்ணை இல்லாமல் "ஷெல் நடைமுறையாக" குறிப்பிடுகின்றன.

பாதை தேடல்

ஒரு கட்டளையை கண்டுபிடிக்கும் போது, ​​ஷெல் முதலில் அந்த ஷெல் செயல்பாட்டைக் கொண்டிருந்தால் அதைப் பார்க்கும். பின்னர் அந்த பெயரில் ஒரு கட்டளை கட்டளைக்கு இது தெரிகிறது. ஒரு கட்டளை கட்டளை காணப்படவில்லை என்றால், இரண்டு விஷயங்களில் ஒன்று நடக்கும்:

  1. ஒரு சாய்வு கொண்ட கட்டளை பெயர்கள் வெறுமனே எந்த தேடல்களையும் செய்யாமல் செயல்படுத்தப்படுகின்றன.
  2. கட்டளைக்கு பதிலாக PATH இல் உள்ள ஒவ்வொரு உள்ளீட்டை ஷெல் தேடுகிறது. PATH மாறியின் மதிப்பு பெருங்குடல்களால் பிரிக்கப்பட்ட உள்ளீடுகளின் வரிசையாக இருக்க வேண்டும். ஒவ்வொரு நுழைவு ஒரு அடைவு பெயரை கொண்டுள்ளது. தற்போதைய அடைவு ஒரு வெற்று அடைவு பெயரால் மறைமுகமாகவோ அல்லது ஒரு குறிப்பிட்ட காலப்பகுதி வெளிப்படையாகவோ காட்டப்படலாம்.

கட்டளை வெளியேறு நிலை

ஒவ்வொரு கட்டளையிலும் ஒரு ஷெல் கட்டளைகளின் நடத்தை பாதிக்கக்கூடிய வெளியேறும் நிலை உள்ளது. முன்னுதாரணம் என்பது பூஜ்ஜியத்துடன் இயல்பான அல்லது வெற்றிக்கான பூஜ்யத்துடன் வெளியேறும், தோல்வி, பிழை அல்லது தவறான குறிப்பிற்காக பூஜ்யம் அல்லாதது. ஒவ்வொரு கட்டளத்திற்கும் மனிதன் பக்கம் பல்வேறு வெளியேறும் குறியீடுகள் மற்றும் அவர்கள் என்ன அர்த்தம் என்பதை குறிக்க வேண்டும். கூடுதலாக, கட்டப்பட்ட கட்டளைகள் செயல்பாட்டு ஷெல் செயல்பாட்டைப் போல, வெளியேறும் குறியீடுகள் திரும்பும்.

காம்ப்ளக்ஸ் கட்டளைகள்

சிக்கலான கட்டளைகள் கட்டுப்பாட்டு ஆபரேட்டர்கள் அல்லது ஒதுக்கப்பட்ட சொற்களால் எளிமையான கட்டளைகளின் கலவையாகும், ஒன்றாக ஒரு பெரிய சிக்கலான கட்டளையை உருவாக்கும். பொதுவாக, ஒரு கட்டளை பின்வருவதில் ஒன்றாகும்:

  • எளிய கட்டளை
  • குழாய்
  • பட்டியல் அல்லது கலவை-பட்டியல்
  • கூட்டு கட்டளை
  • செயல்பாடு வரையறை

இல்லையெனில் சொல்லவில்லை என்றால், ஒரு கட்டளையின் வெளியேறும் நிலை கட்டளையால் செயல்படுத்தப்படும் கடைசி எளிய கட்டளையே ஆகும்.

பைப்லைன்ஸ்

கட்டுப்பாட்டு ஆபரேட்டரால் பிரிக்கப்பட்ட ஒன்று அல்லது அதற்கு மேற்பட்ட கட்டளைகளின் ஒரு வரிசை ஆகும். அடுத்த கட்டளையிலிருந்தே நிலையான வெளியீடு அடுத்த கட்டளையின் நிலையான உள்ளீடோடு இணைக்கப்பட்டுள்ளது. கடந்த கட்டளையின் நிலையான வெளியீடு வழக்கம் போல், ஷெல் இருந்து மரபுரிமை.

குழாய் வடிவமைப்பிற்கான வடிவமைப்பு:

[!] கட்டளை [| கட்டளை 2 ...]

கட்டளை 1 இன் நிலையான வெளியீடு கட்டளை 2 இன் நிலையான உள்ளீடோடு இணைக்கப்பட்டுள்ளது. கட்டளையின் பகுதியாக இருக்கும் திசைமாற்றி ஆபரேட்டர்களால் குறிப்பிட்ட திசைதிருப்பலுக்கு முன், நிலையான உள்ளீடு, நிலையான வெளியீடு அல்லது ஒரு கட்டளை இரண்டும் குழாயால் ஒதுக்கப்படும்.

குழாய் பின்னணி இல்லை என்றால் (பின்னர் விவாதிக்கப்பட்டது), ஷெல் அனைத்து கட்டளைகள் முடிக்க காத்திருக்கும்.

ஒதுக்கப்பட்ட வார்த்தை என்றால்! குழாய்த்திட்டத்திற்கு முன் இல்லை, வெளியேறும் நிலை என்பது குழாயில் குறிப்பிட்ட கடைசி கட்டளையின் வெளியேறும் நிலையாகும். இல்லையெனில், வெளியேறும் நிலை கடைசி கட்டளையின் வெளியேறும் நிலைக்கான தர்க்கரீதியான குறிப்பு அல்ல. கடைசி கட்டளையை பூஜ்ஜியமாக்குகிறது என்றால், வெளியேறும் நிலை 1; கடைசி கட்டளையை பூஜ்ஜியத்தை விட அதிகமானால், வெளியேறும் நிலை பூஜ்யமாகும்.

ஏனெனில் நிலையான உள்ளீடு அல்லது நிலையான வெளியீடு குழாய் ஒதுக்கீடு அல்லது இரு திசைமாற்றத்திற்கு முன்னர் நடைபெறுகிறது, இது திசைமாற்றம் மூலம் திருத்த முடியும். உதாரணத்திற்கு:

$ command1 2> & 1 | command2

கட்டளை 1 இன் நிலையான உள்ளீடு மற்றும் நிலையான பிழை ஆகிய இரண்டையும் கட்டளை 2 இன் நிலையான உள்ளீடுக்கு அனுப்புகிறது.

A; அல்லது terminator முந்தைய மற்றும் OR-பட்டியலை (விவரிக்கப்பட்ட அடுத்தது) தொடர்ச்சியாக செயல்படுத்தப்படுவதற்கு ஏற்படுத்துகிறது; ஒரு & முந்தைய மற்றும் OR-பட்டியல் ஒத்திசைவற்ற செயல்படுத்துகிறது.

வேறு சில குண்டுகள் போலல்லாமல், குழாயில் உள்ள ஒவ்வொரு செயல்முறையும் தொடரும் ஷெல் ஒரு குழந்தையாகும் (இது ஒரு ஷெல் கட்டப்பட்டது இல்லையென்றால், அது தற்போதைய ஷெல் இல் செயல்படும் - ஆனால் அது சூழலில் எந்த விளைவை துடைக்கிறது).

பின்னணி கட்டளைகள் -

ஒரு கட்டளை கட்டுப்பாட்டு ஆபரேட்டர் ampersand (&) மூலம் நிறுத்தப்பட்டால், ஷெல் கட்டளையை ஒத்தியங்காமல் செய்கிறது - அதாவது, அடுத்த கட்டளையை நிறைவேற்றுவதற்கு முன் முடிக்க கட்டளைக்கு ஷெல் காத்திருக்காது.

பின்புலத்தில் ஒரு கட்டளையை இயக்கும் வடிவமைப்பு:

கட்டளை 1 & [command2 & ...]

ஷெல் ஊடாடும் போது, ​​ஒரு ஒத்தியங்கா கட்டளையின் நிலையான உள்ளீடு / dev / null க்கு அமைக்கப்படுகிறது

பட்டியல்கள் - பொதுவாக பேசுதல்

ஒரு பட்டியல் பூஜ்யம் அல்லது புதிய கட்டளைகள், அரைப்புள்ளிகள் அல்லது ampersands ஆகியவற்றால் பிரிக்கப்பட்ட கட்டளைகள் ஆகும், மேலும் இந்த மூன்று எழுத்துக்களில் ஒன்றை விருப்பத்தேர்வாக நிறுத்தலாம். பட்டியலிலுள்ள கட்டளைகள் எழுதப்பட்ட வரிசையில் செயல்படுத்தப்படுகின்றன. கட்டளை ஒரு ampersand தொடர்ந்து இருந்தால், ஷெல் கட்டளையை தொடங்கி அடுத்த கட்டளைக்கு உடனடியாக தொடரவும்; இல்லையெனில், அடுத்த கட்டத்திற்குச் செல்ல முன் கட்டளையை முடிக்க வேண்டும்.

குறுகிய-சர்க்யூட் பட்டியல் இயக்கிகள்

`` && '' மற்றும் '`||' 'ஆகியவை, OR- OR பட்டியல் இயக்குநர்கள். `` && '' முதல் கட்டளையை செயல்படுத்துகிறது, பின்னர் இரண்டாவது கட்டளையை செயல்படுத்துகிறது என்றால் முதல் கட்டளையின் வெளியேறும் நிலை பூஜ்ஜியம். `` || '' இதுபோன்றது, ஆனால் இரண்டாவது கட்டளையை செயல்படுத்துகிறது iff முதல் கட்டளையின் வெளியேறும் நிலை nonzero. `` && '' மற்றும் '`||' 'இருவருக்கும் ஒரே முன்னுரிமை உள்ளது.

பாய்வு-கட்டுப்பாட்டு கட்டமைப்புகள் - என்றால், வழக்கு, போது

கட்டளை என்றால் தொடரியல்

பட்டியல் என்றால்
பின்னர் பட்டியல்
[elif பட்டியலில்
பின் பட்டியல்] ...
[வேறு பட்டியல்]
புனைகதை

போது கட்டளையின் தொடரியல்

பட்டியல்
பட்டியல் செய்யுங்கள்
முடிந்ததாகக்

முதல் பட்டியலின் வெளியேறும் நிலை பூஜ்ஜியமாக இருக்கும் போது இரண்டு பட்டியல்களும் மீண்டும் மீண்டும் செயல்படுத்தப்படுகின்றன. கட்டளை வரை ஒத்திருக்கிறது, ஆனால் அதற்கு முன்னர் அந்த வார்த்தை உள்ளது, இது முதல் பட்டியலின் வெளியேறும் நிலை பூஜ்ஜியமாக இருக்கும் வரை மீண்டும் மீண்டும் வரும்.

கட்டளையின் தொடரியல்

வார்த்தை மாறி ...
பட்டியல் செய்யுங்கள்
முடிந்ததாகக்

வார்த்தைகள் விரிவாக்கப்பட்டு, பின் ஒவ்வொரு வார்த்தையிலும் மாறி அமைக்கப்பட்ட பட்டியலில் மீண்டும் மீண்டும் செயல்படுத்தப்படுகிறது. செய்ய மற்றும் செய்யப்படலாம் "` 'மற்றும்' '' ''

முறிவின் தொடரியல் மற்றும் தொடர கட்டளை

இடைவெளி [எண்]
தொடரவும்

முறிவு அல்லது சுழற்சியில் உள்ள இடைவெளியை முறித்து விடுகிறது. உள்ளார்ந்த வளையத்தின் அடுத்த மறுதொடக்கம் தொடர்கிறது. இவை கட்டப்பட்ட கட்டளைகளாக செயல்படுத்தப்படுகின்றன.

வழக்கு கட்டளையின் தொடரியல்

வழக்கு சொல்
மாதிரி) பட்டியல்;
...
esac

இந்த மாதிரி உண்மையில் ஒன்று அல்லது அதற்கு மேற்பட்ட வடிவங்கள் (ஷெல் வடிவங்கள் பின்னர் விவரித்ததைப் பார்க்கவும்), `` 'எழுத்துக்கள் மூலம் பிரிக்கப்படுகின்றன.

ஒன்றாக குழுசேர் கட்டளைகள்

கட்டளைகளை எழுதலாம்

(பட்டியல்)

அல்லது

{list;

இவற்றில் முதலாவது கீழ்க்கண்ட கட்டளைகளை செயல்படுத்துகிறது. பில்டின் கட்டளைகள் (பட்டியலில்) குழுவாக இருக்கும் தற்போதைய ஷெல்வை பாதிக்காது. இரண்டாவது வடிவம் இன்னொரு ஷெலுக்குப் பிடிக்கவில்லை, அதனால் சற்று திறமையானது. இந்த வழிமுறையை ஒன்றாக இணைத்தல் கட்டளைகளை நீங்கள் ஒரு நிரலாக இருந்தபோதிலும், வெளியீடுகளைத் திசைதிருப்ப அனுமதிக்கின்றன:

{printf ஹலோ; printf உலகம் \ n ";}> வாழ்த்துக்கள்

பணிகள்

ஒரு செயல்பாடு வரையறை தொடரியல்

பெயர் () கட்டளை

ஒரு செயல்பாட்டு வரையறை ஒரு செயல்படுத்தும் அறிக்கை; செயல்படுத்தப்பட்டால், பெயர் பெயரிடப்பட்ட ஒரு செயல்பாட்டை நிறுவி, பூஜ்ஜியத்தின் வெளியேறும் நிலையைத் தரும். கட்டளை பொதுவாக '' '' மற்றும் '' '' '' இடையே

உள்ளூர் கட்டளையைப் பயன்படுத்துவதன் மூலம் ஒரு செயல்பாட்டிற்கு வேறாக மாறிகள் அறிவிக்கப்படலாம். இது ஒரு சார்பின் முதல் அறிக்கையாக தோன்றும், தொடரியல் உள்ளது

உள்ளூர் [மாறி | -] ...

உள்ளமை கட்டப்பட்ட கட்டளை என செயல்படுத்தப்படுகிறது.

ஒரு மாறி உள்ளூர் செய்யப்படும் போது, ​​அது ஆரம்ப மதிப்பு மற்றும் மரபுவழியிலிருந்து ஒரே மாதிரியான அதே பெயருடன் மாறிவந்தால் மட்டுமே ஏற்றுமதி செய்யப்படுகிறது. இல்லையெனில், மாறி ஆரம்பத்தில் அமைக்கப்படாது. ஷெல் டைனமிக் ஸ்கோபிங்கைப் பயன்படுத்துகிறது, எனவே நீங்கள் மாறி x இன் செயல்பாட்டை f செயல்படச் செய்ய வேண்டும், பின்னர் function g ஐ அழைக்கும், g க்குள்ளான மாறி x க்கு குறிப்புகள் f உள்ளே அறிவிக்கப்பட்ட மாறி x ஐ குறிக்கும், .

செயல்பாட்டிற்கு திரும்பும் போது மட்டுமே சிறப்பு அளவுருக்கள் `` - '' செய்யும் '' - '' எந்த ஷெல் விருப்பங்களுடனும் அமைக்கப்பட்டிருக்கும்.

திரும்ப கட்டளையின் தொடரியல்

[exitstatus

இது தற்போது செயல்படும் செயல்பாட்டை முடிக்கிறது. திரும்ப ஒரு கட்டளை கட்டளை என செயல்படுத்தப்படுகிறது.

மாறிகள் மற்றும் அளவுருக்கள்

ஷெல் அளவுருக்கள் தொகுப்பை பராமரிக்கிறது. ஒரு பெயர் குறிக்கப்பட்ட ஒரு அளவுரு மாறி அழைக்கப்படுகிறது. தொடங்கும் போது, ​​ஷெல் அனைத்து சூழல் மாறிகள் ஷெல் மாறிகள் மீது மாறிவிடும். புதிய மாறிகள் படிவத்தை பயன்படுத்தி அமைக்க முடியும்

பெயர் = மதிப்பு

பயனரால் அமைக்கப்படும் மாறிகள் அகரவரிசை, எண்ணியல் மற்றும் அன்டர்ஸ்கோரெஸ் ஆகியவற்றை உள்ளடக்கிய ஒரு பெயரைக் கொண்டிருக்க வேண்டும் - இதில் முதலாவது இருக்கக்கூடாது. கீழே குறிப்பிட்டுள்ளபடி, ஒரு அளவுருவும் ஒரு எண் அல்லது ஒரு சிறப்புக் கதாபாத்திரம் மூலம் குறிப்பிடப்படலாம்.

நிலைப்படுத்தப்பட்ட அளவுருக்கள்

ஒரு நிலைப்படுத்தப்பட்ட அளவுரு ஒரு எண் (n> 0) குறிக்கப்பட்ட அளவுரு ஆகும். ஷெல் ஆரம்பத்தில் ஷெல் ஸ்கிரிப்ட் பெயரைப் பின்பற்றும் அதன் கட்டளை வரி வாதங்களின் மதிப்புகளுக்கு அமைக்கிறது. தொகுப்பு (1) கட்டப்பட்டது அவற்றை அமைக்க அல்லது அவற்றை மீட்டமைக்க பயன்படுத்தலாம்.

சிறப்பு அளவுருக்கள்

ஒரு சிறப்பு அளவுரு பின்வரும் சிறப்பு எழுத்துக்களில் ஒன்றை குறிக்கும் ஒரு அளவுரு ஆகும். அளவுருவின் மதிப்பு அதன் தன்மைக்கு அடுத்ததாக பட்டியலிடப்பட்டுள்ளது.

*

ஒரு தொடங்கி, பதனிட்ட அளவுருக்கள் விரிவடைகிறது. இரட்டை மேற்கோள் சரத்திற்குள் விரிவாக்கம் நிகழும்போது, IFS மாறியின் முதல் தன்மையால் பிரிக்கப்பட்ட ஒவ்வொரு அளவுருவின் மதிப்பையும், அல்லது IFS அமைக்காமல் இருந்தால், ஒரே ஒரு புலத்தில் விரிவடைகிறது.

@

ஒரு தொடங்கி, பதனிட்ட அளவுருக்கள் விரிவடைகிறது. இரட்டை மேற்கோளில் விரிவாக்கம் நிகழும்போது, ​​ஒவ்வொன்றும் ஒரு குறிப்பிட்ட வாதமாக விரிவடைகிறது. எந்த பதவிக்குரிய அளவுருக்கள் இல்லாவிட்டால், @ விரிவாக்கம் @ பூஜ்ய வாதங்களை உருவாக்குகிறது @ @ இரட்டை மேற்கோளிடப்பட்டாலும் கூட. $ 1 என்பது 'abc' மற்றும் $ 2 என்றால் `` def ghi '' என்றால் Qq $ @ இரண்டு வாதங்களுக்கு விரிவாக்குகிறது.

abc def ghi

#

நிலை அளவுருக்கள் எண்ணிக்கை விரிவடைகிறது.

?

சமீபத்திய குழாய்த்திட்டத்தின் வெளியேறும் நிலைக்கு விரிவடைகிறது.

- (ஹைஃபென்.)

தற்போதைய விருப்பத்தேர்வு கொடிகளை (ஒரு எழுத்துக்குறி விருப்பத்தின் பெயர்கள் ஒரு சரமாக இணைக்கப்பட்டுள்ளன) விரிவுபடுத்துகிறது, அமைக்கப்பட்டுள்ள கட்டளை கட்டளையால் அல்லது ஷெல் மூலம் மறைமுகமாக.

$

செயல்படுத்தப்பட்ட ஷெல் செயல்முறை ID க்கு விரிவடைகிறது. ஒரு துணைவகை அதன் பெற்றோரின் அதே மதிப்பு $ $ வைத்திருக்கிறது.

!

நடப்பு ஷெல்லிலிருந்து செயல்படுத்தப்பட்ட சமீபத்திய பின்னணி கட்டளையின் செயலாக்க ஐடிக்கு விரிவடைகிறது. ஒரு குழாய்த்திட்டம், செயல்முறை ஐடி என்பது குழாயின் கடைசி கட்டளையின்.

0 (ஜீரோ.)

ஷெல் அல்லது ஷெல் ஸ்கிரிப்டின் பெயர் விரிவடைகிறது.

வார்த்தை விரிவாக்கம்

வார்த்தைகளில் நிகழும் பல்வேறு விரிவாக்கங்களை இந்த பிரிவு விவரிக்கிறது. ஒவ்வொரு வார்த்தையிலும் அனைத்து விரிவாக்கங்களும் செய்யப்படவில்லை, பின்னர் விளக்கினார்.

ஒரு வினைச்சொல்லுக்குள் ஒரே ஒரு புலத்தில் விரிவுபடுத்தப்படுகிற Tilde விரிவாக்கம், அளவுரு விரிவாக்கம், கட்டளை மாற்றுக்கள், கணித விரிவுரைகள் மற்றும் மேற்கோள் அகற்றல்கள். ஒரே ஒரு வார்த்தையிலிருந்து பல துறைகள் உருவாக்க முடியும், இது புலம் பிளவு அல்லது பாதை பெயர் விரிவாக்கம் ஆகும். இந்த விதிக்கு ஒற்றை விதிவிலக்கு என்பது இரட்டை மேற்கோள்களுக்குள் சிறப்பு அளவுரு @ விரிவாக்கம் ஆகும், மேலே விவரிக்கப்பட்டுள்ளது.

சொல் விரிவாக்கத்தின் வரிசை:

  1. Tilde விரிவாக்கம், அளவுரு விரிவாக்கம், கட்டளை மாற்று, அரித்மெடிக் விரிவாக்கம் (இவை அனைத்தும் ஒரே சமயத்தில் நிகழும்).
  2. IFS மாறி பூஜ்யமாக இல்லாவிட்டால், படிப்படியான (1) மூலம் உருவாக்கப்படும் புலங்களில் புலப் பிரிப்பான் செய்யப்படுகிறது.
  3. பாதை விரிவாக்கம் (அமை - f அமையாதது வரை).
  4. Quote அகற்றுதல்.

அளவுரு விரிவாக்கம், கட்டளை பதிலீடு, அல்லது கணித மதிப்பீடு அறிமுகப்படுத்த $ கதாபாத்திரம் பயன்படுத்தப்படுகிறது.

Tilde விரிவாக்கம் (பயனரின் வீட்டு கோப்பகத்தை மாற்றுதல்)

Unquoted tilde character (~) தொடங்கும் ஒரு சொல் tilde விரிவாக்கம் உட்பட்டது. ஒரு ஸ்லாஷ் (/) அல்லது வார்த்தை முடிவின் அனைத்து எழுத்துகளும் பயனர்பெயராகக் கருதப்படுகின்றன மற்றும் பயனரின் வீட்டு அடைவு மூலம் மாற்றப்படுகின்றன. பயனர் பெயரை காணவில்லை என்றால் (~ / foobar இல்) tilde மாற்றப்பட்டால் HOME மாறி (தற்போதைய பயனர் முகப்பு அடைவு) மதிப்பு.

அளவுரு விரிவாக்கம்

அளவுரு விரிவாக்கத்திற்கான வடிவமைப்பு பின்வருமாறு:

""} "" ஏதேனும் `` `'' ஒரு பின்னோக்கி அல்லது ஒரு மேற்கோள் சரம், மற்றும் உட்பொதிக்கப்பட்ட எண்கணித விரிவுரைகள், கட்டளை மாற்றுக்கள் மற்றும் மாறி விரிவாக்கம் ஆகியவற்றில் உள்ள எழுத்துக்கள், பொருந்தும் "`} ''

அளவுரு விரிவாக்கத்திற்கான எளிய வடிவம்:

மதிப்பு, ஏதேனும் இருந்தால், அளவுரு மாற்றுகிறது.

அளவுரு பெயர்களில் அல்லது குறியீடாக ப்ரேஸில் இணைக்கப்படலாம், இது நிலைக்குரிய அளவுருக்கள் தவிர ஒன்றுக்கும் மேற்பட்ட இலக்கங்களுடன் அல்லது அளவுருவைப் பெயரின் ஒரு பகுதியாகப் புரிந்துகொள்ளக்கூடிய ஒரு பாத்திரத்தை தொடர்ந்து கொண்டிருக்கும். இரட்டை மேற்கோள் உள்ளே ஒரு அளவுரு விரிவாக்கம் ஏற்படுகிறது:

  1. விரிவாக்கத்தின் முடிவுகளில் பரிதாபம் விரிவாக்கம் செய்யப்படவில்லை.
  2. விரிவாக்கத்தின் விளைவாக புலம் பிரித்தல் செய்யப்படுவதில்லை @ தவிர.

கூடுதலாக, ஒரு அளவுரு விரிவாக்கம் பின்வரும் வடிவங்களில் ஒன்றைப் பயன்படுத்தி மாற்றலாம்.

இயல்புநிலை மதிப்புகள் பயன்படுத்தவும். அளவுரு அமைக்கப்படாவிட்டால் அல்லது பூஜ்யமாக இருந்தால், வார்த்தைகளின் விரிவாக்கம் மாற்றுகிறது; இல்லையெனில், அளவுருவின் மதிப்பு மாற்றப்பட்டுள்ளது.

இயல்புநிலை மதிப்புகள் ஒதுக்க. அளவுரு அமைக்கப்படாவிட்டால் அல்லது பூஜ்யமாக இருந்தால், சொல் விரிவாக்கம் அளவுருவுக்கு ஒதுக்கப்படும். அனைத்து சந்தர்ப்பங்களிலும், அளவுருவின் இறுதி மதிப்பு மாற்றப்பட்டுள்ளது. நிலைமாற்றங்கள் அல்லது சிறப்பு அளவுருக்களை மட்டும் மாறிகள் மட்டுமே ஒதுக்க முடியும்.

பூஜ்ய அல்லது முடக்கம் என்றால் பிழை குறிக்கவும். அளவுரு அமைக்கப்படாவிட்டால் அல்லது பூஜ்யமாக இருந்தால், வார்த்தைகளின் விரிவாக்கம் (அல்லது வார்த்தை தவிர்க்கப்பட்டால் அது பொருத்தமற்றது என்பதைக் குறிக்கும்) நிலையான பிழை மற்றும் ஷெல் வெளியேறும் ஒரு nonzero வெளியேறும் நிலைக்கு வெளியேறும். இல்லையெனில், அளவுருவின் மதிப்பு மாற்றுகிறது. ஒரு ஊடாடும் ஷெல் வெளியேறக் கூடாது.

மாற்று மதிப்பு பயன்படுத்தவும். அளவுரு அமைக்கப்படாவிட்டால் அல்லது பூஜ்யமாக இருந்தால், பூஜ்யம் மாற்றுகிறது; இல்லையெனில், வார்த்தை விரிவாக்கம் பதிலாக உள்ளது.

முன்னர் காட்டப்பட்டுள்ள அளவுரு விரிவாக்கங்களில், காலனியின் பயன்பாட்டின் வடிவத்தை ஒரு பொருட்டாக மாற்றாத அல்லது பூஜ்யமாகக் கொண்ட ஒரு பரிசோதனையில் விளைவிக்கிறது; பெருங்குடல் நீக்கம் என்பது ஒரு அளவுருவுக்கு மட்டுமே சோதனை செய்யப்படாது.

சரம் நீளம். அளவுருவின் மதிப்புகளின் எழுத்துகளில் நீளம்.

பின்வரும் நான்கு வகைகள் அளவுரு விரிவாக்கத்திற்குப் பயன்படுகின்றன. ஒவ்வொரு வழக்கிலும், மாதிரி பொருத்துதல் குறிப்பீடு (ஷெல் வடிவங்கள் பார்க்கவும்), வழக்கமான வெளிப்பாடு குறிப்பதை விட, வடிவங்களை மதிப்பீடு செய்ய பயன்படுத்தப்படுகிறது. அளவுரு * அல்லது @ என்றால், விரிவாக்கம் விளைவாக குறிப்பிடப்படவில்லை. இரட்டை மேற்கோள்களில் முழு அளவுரு விரிவாக்க சரத்தை மூடுவதால் பின்வரும் நான்கு வகை எழுத்து எழுத்துக்கள் மேற்கோள் காட்டப்படாது, அதேசமயத்தில் ப்ரேஸ் உள்ள எழுத்துக்கள் மேற்கோளிடுவதால் இந்த விளைவு ஏற்படுகிறது.

சிறிய பின்னொட்டு வடிவத்தை அகற்று. வார்த்தை ஒரு வடிவத்தை உருவாக்க விரிவாக்கப்பட்டுள்ளது. அளவுரு விரிவாக்கம் பின்னர் அளவுருவில் முடிவடைகிறது, மாதிரியால் பொருத்தப்பட்ட பின்னொட்டின் மிகச் சிறிய பகுதி நீக்கப்பட்டது.

பெரிய பின்னணி வடிவத்தை அகற்று. வார்த்தை ஒரு வடிவத்தை உருவாக்க விரிவாக்கப்பட்டுள்ளது. அளவுரு விரிவாக்கம் பின்னர் அளவுருவில் விளைகிறது, மாதிரியைப் பொருத்தப்பட்ட பின்னொட்டு மிகப்பெரிய பகுதி நீக்கப்பட்டது.

சிறிய முன்னொட்டு வடிவத்தை அகற்று. வார்த்தை ஒரு வடிவத்தை உருவாக்க விரிவாக்கப்பட்டுள்ளது. அளவுரு விரிவாக்கம் பின்னர் அளவுருவில் விளைகிறது, மாதிரியைப் பொருத்து முன்னொட்டுகளின் சிறிய பகுதி நீக்கப்பட்டது.

பெரிய முன்னொட்டு வடிவத்தை அகற்று. வார்த்தை ஒரு வடிவத்தை உருவாக்க விரிவாக்கப்பட்டுள்ளது. அளவுரு விரிவாக்கம் பின்னர் அளவுருவில் விளைகிறது, மாதிரியைப் பொருத்து முன்னுரிமையின் மிகப்பெரிய பகுதி நீக்கப்பட்டது.

கட்டளை மாற்றம்

கட்டளை பதிலீடு ஒரு கட்டளை வெளியீடு கட்டளை பெயரை பதிலாக பதிலாக அனுமதிக்கிறது. கட்டளை பின்வருமாறு ஒட்டப்பட்ட போது கட்டளை பதிலீடு ஏற்படுகிறது:

$ (கட்டளை)

அல்லது Po `` backquoted '' பதிப்பு Pc:

`command`

ஷெல் ஒரு துணைச் சூழலில் கட்டளையை நிறைவேற்றுவதன் மூலம் கட்டளை பதிலீட்டை விரிவுபடுத்துவதோடு, கட்டளையின் பிரத்தியேக வெளியீட்டை கட்டளையை மாற்றுவதன் மூலமும், ஒன்று அல்லது அதற்கும் மேற்பட்ட என்ற வரிசையை அகற்றுவதன் முடிவில் நீக்குகிறது. (வெளியீடு முடிவதற்கு முன்னர் உட்பொதிக்கப்பட்ட கள் அகற்றப்படவில்லை, இருப்பினும், புலம் பிளேடிங்கின் போது, ​​அவை கள் என மொழிபெயர்க்கப்படலாம், ஐஎஃப்எஸ் மதிப்பைப் பொறுத்து, நடைமுறையில் மேற்கோள் காட்டப்படும்.)

எண்கணித விரிவாக்கம்

எண்கணித விரிவாக்கம் ஒரு கணித வெளிப்பாட்டு மதிப்பீடு மற்றும் அதன் மதிப்பை மாற்றுவதற்கான ஒரு பொறிமுறையை வழங்குகிறது. கணித விரிவாக்கம் வடிவமைப்பு பின்வருமாறு:

$ ((வெளிப்பாடு))

வெளிப்பாடு இரண்டின் மேற்கோள்களில் உள்ளதைப் போல கருதப்படுகிறது, தவிர, இரட்டை மேற்கோள் வெளிப்பாடு சிறப்பாக நடத்தப்படாது. அளவுரு விரிவாக்கம், கட்டளை மாற்றுதல் மற்றும் மேற்கோள் நீக்கம் ஆகியவற்றிற்கான வெளிப்பாட்டில் ஷெல் எல்லா டோக்கன்களையும் விரிவாக்குகிறது.

அடுத்து, ஷெல் இதை ஒரு கணித வெளிப்பாடாக கருதுகிறது மற்றும் வெளிப்பாட்டின் மதிப்பை மாற்றுகிறது.

வெள்ளை விண்வெளி பிளவு (புலம் பிளப்பு)

அளவுரு விரிவாக்கம், கட்டளை மாற்று, மற்றும் கணித விரிவாக்கம் ஆகியவற்றிற்குப் பிறகு, விரிவாக்கங்கள் மற்றும் மாற்றங்களின் முடிவுகளை ஷெல் ஸ்கேன் செய்கிறது.

ஷெல் IFS இன் ஒவ்வொரு கதாபாத்திரமும் delimiter எனப் பயன்படுத்துகிறது மற்றும் அளவுரு விரிவாக்கம் மற்றும் கட்டளை மாற்றுப்பொருட்களை துறைகள் மூலம் பிரிப்பதற்காக delimiters ஐ பயன்படுத்தவும்.

பாதை பெயர் விரிவாக்கம் (கோப்பு பெயர் தலைமுறை)

F கொடி அமைக்கப்பட்டிருந்தால், சொல் பிளவு முடிந்ததும் கோப்பு பெயர் தலைமுறை செய்யப்படுகிறது. ஒவ்வொன்றும் ஒரு வரிசை வரிசையாக கருதப்படுகிறது, இது ஸ்லாஷ்கள் மூலம் பிரிக்கப்பட்டிருக்கிறது. விரிவாக்க செயல்முறையானது ஒவ்வொரு வடிவத்தையும் குறிப்பிட்ட வடிவமைப்போடு பொருந்தும் ஒரு சரத்தை மாற்றுவதன் மூலம் உருவாக்கப்படும் அனைத்து கோப்புகளின் பெயர்களுடனும் வார்த்தையை மாற்றுகிறது. இதில் இரண்டு தடைகள் உள்ளன: முதலாவதாக, சாய்வு ஒரு சாய்வு கொண்ட ஒரு சரம் பொருந்தாது, இரண்டாவது, ஒரு முறை தொடங்கும் ஒரு சரம் பொருந்தவில்லை, ஒரு முறை முதல் பாத்திரம் ஒரு காலம் வரை அல்ல. அடுத்த பகுதி பாதை பாதை விரிவாக்கம் மற்றும் வழக்கு (1) கட்டளை ஆகிய இரண்டிற்கும் பயன்படுத்தப்பட்ட வடிவங்களை விவரிக்கிறது.

ஷெல் வடிவங்கள்

ஒரு வடிவத்தில் சாதாரண எழுத்துகள் உள்ளன, இது தங்களை பொருந்தும், மற்றும் மெட்டா எழுத்துகள். மெட்டா-கதாபாத்திரங்கள் ""! "" ``? '' '' மற்றும் '' '[மேற்கோள் காட்டப்பட்டால் இந்த எழுத்துக்கள் சிறப்பு அர்த்தங்களை இழக்கின்றன. கட்டளை அல்லது மாறி மாற்றீடு செய்யப்படும் போது, ​​டாலர் குறியீடாக அல்லது பின் மேற்கோள்களை இரட்டை மேற்கோள் காட்டாத போது, ​​மாறியின் மதிப்பு அல்லது கட்டளையின் வெளியீடு இந்த எழுத்துக்களுக்கு ஸ்கேன் செய்யப்பட்டு அவை மெட்டா எழுத்துகளாக மாறியுள்ளன.

ஒரு நட்சத்திரம் (`` * ") எழுத்துகளின் எந்த சரக்கும் பொருந்துகிறது. ஒரு கேள்வி குறி எந்த ஒற்றை பாத்திரத்தையும் பொருந்துகிறது. ஒரு இடது அடைப்புக்குறி (`` ['') ஒரு பாத்திர வகுப்பை அறிமுகப்படுத்துகிறது. "[]] '' காணாவிட்டால், '' ['' பொருந்தும் வகையில்தான் ஒரு பொருளைக் குறிக்கும். சதுர அடைப்புக்குறிகளுக்கு இடையில் உள்ள எந்த எழுத்துக்குறிகளுமே பொருந்துகின்றன. ஒரு மைனஸ் குறியீட்டைப் பயன்படுத்தி எழுத்துக்களின் வரம்பை குறிப்பிடலாம். பாத்திரம் வகுப்பு முதல் பாத்திரத்தை வகுக்கும் வர்க்கத்தை ஒரு ஆச்சரியமாக்குவதன் மூலம் பாத்திரம் வகுக்கலாம்.

ஒரு எழுத்துக்குறி வகுப்பில் "`] '' சேர்க்க, முதல் பாத்திரம் பட்டியலிடப்பட்டால் (`` ஏதாவது '' என்றால்). ஒரு கழித்தல் அடையாளம் சேர்க்க, அதை பட்டியலிடப்பட்ட முதல் அல்லது கடைசி பாத்திரத்தை உருவாக்கவும்

Builtins

இந்த பிரிவில் கட்டப்பட்டது கட்டப்பட்ட கட்டளைகளை பட்டியலிடுகிறது, ஏனெனில் அவை ஒரு குறிப்பிட்ட செயல்முறை மூலம் செய்ய முடியாத சில செயல்பாடுகளை செய்ய வேண்டும். இவை தவிர, பல பிற கட்டளைகள் செயல்திறனுக்காக கட்டப்பட்டிருக்கின்றன (எ.கா. echo 1).

:

0 (உண்மை) வெளியேறும் மதிப்பைத் தரும் பூஜ்ய கட்டளை.

. கோப்பு

குறிப்பிடப்பட்ட கோப்பில் உள்ள கட்டளைகள் ஷெல் மூலம் படித்து செயல்படுத்தப்படுகின்றன.

மாற்று [ பெயர் [ = string ... ]]

பெயர் = சரம் குறிப்பிடப்பட்டால், ஷெல் மதிப்பு பெயரிடப்பட்டால் பெயரிடப்பட்ட பெயரை வரையறுக்கிறது, பெயரின் பெயர் அச்சிடப்படுகிறது. எந்தவொரு விவாதமும் இல்லாமல், கட்டப்பட்ட மாற்றுப்பெயர் அனைத்து வரையறுக்கப்பட்ட aliases பெயர்களையும் மதிப்புகளையும் அச்சிடுகிறது ( யுனாலஜி பார்க்கவும் )

பி.ஜி [ வேலை] ...

பின்புலத்தில் குறிப்பிட்ட வேலைகள் (அல்லது வேலைகள் வழங்கப்படாவிட்டால் தற்போதைய வேலை) தொடரவும்.

கட்டளை கட்டளை arg ...

குறிப்பிட்ட கட்டப்பட்ட கட்டளையை இயக்கவும். (நீங்கள் ஒரு கட்டளை கட்டளையைப் பயன்படுத்தி அதே பெயரில் ஷெல் செயல்பாட்டைக் கொண்டிருக்கும் போது இது பயனுள்ளதாக இருக்கும்.)

சிடி [ அடைவு ]

குறிப்பிட்ட அடைவுக்கு (இயல்புநிலை $ HOME) மாறவும் cd கட்டளையின் சூழலில் CDPATH ஒரு நுழைவு அல்லது ஷெல் மாறி CDPATH அமைக்கப்பட்டிருந்தால், அடைவு பெயர் ஒரு ஸ்லாஷ் தொடங்கும், பின்னர் CDPATH இல் பட்டியலிடப்பட்ட அடைவுகள் தேடப்படும் குறிப்பிட்ட அடைவுக்கு. CDPATH இன் வடிவம் PATH இன் அதே போல ஒரு ஊடாடத்தக்க ஷெல் இல், cd கட்டளையானது அந்த கோப்பகத்தின் பெயரை அவுட் அச்சிடும், இது பயனர் கொடுத்த பெயரிலிருந்து வேறுபட்டால், அது உண்மையில் மாறியது. சி.டி.பீ.டி. பொறிமுறையைப் பயன்படுத்தியது அல்லது ஒரு குறியீட்டு இணைப்பு கடந்துவிட்டதால் இவை வேறுபட்டிருக்கலாம்.

eval string ...

இடைவெளிகளுடன் அனைத்து வாதங்களையும் ஒத்திசைத்தல். பின் மீண்டும் parse மற்றும் கட்டளையை இயக்கவும்.

இயக்க [ கட்டளை வாதம் ... ]

கட்டளை நீக்கப்படாவிட்டால், ஷெல் செயல்முறை குறிப்பிடப்பட்ட நிரலாக மாற்றப்படும் (இது ஒரு உண்மையான நிரலாக இருக்க வேண்டும், ஷெல் கட்டப்பட்டது அல்லது செயல்படாது). Exec command இல் எந்த திசைமாற்றங்களும் நிரந்தரமாக குறிக்கப்படுகின்றன, இதனால் exec command கட்டளையிடும்போது அவை செயல்தவிர்க்கப்படாது.

வெளியேறு [ exitstatus ]

ஷெல் செயல்முறையை நிறுத்தவும். Exitstatus கொடுக்கப்பட்டால், அது ஷெல் வெளியேறும் நிலையை பயன்படுத்தப்படுகிறது; இல்லையெனில் முந்தைய கட்டளையின் வெளியேறும் நிலை பயன்படுத்தப்படுகிறது.

ஏற்றுமதி பெயர் ...

ஏற்றுமதி

அந்த குறிப்பிட்ட பெயர்கள் சூழலில் தோன்றும்படி குறிப்பிட்ட பெயர்கள் ஏற்றுமதி செய்யப்படுகின்றன. ஒரு மாறி ஏற்றுமதி செய்ய ஒரே வழி அதை அமைப்பதே ஆகும். ஷெல் ஒரு மாறியின் மதிப்பை அதே நேரத்தில் அமைக்க வேண்டும், அது எழுத்து மூலம் ஏற்றுமதி செய்யப்படுகிறது

ஏற்றுமதி பெயர் = மதிப்பு

எந்த விவாதமும் இல்லாமல் ஏற்றுமதி கட்டளை அனைத்து ஏற்றுமதி மாறிகள் பெயர்களை பட்டியலிடுகிறது. P - விருப்பம் குறிப்பிட்டவுடன் வெளியீடு அல்லாத ஊடாடும் பயன்பாட்டிற்காக பொருத்தமான முறையில் வடிவமைக்கப்படும்.

fc [- e editor ] [ முதல் [ கடைசி ]]

fc-l [- nr ] [ முதல் [ கடைசி ]]

fc-s [ பழைய = புதிய ] [ முதல் ]

Fc கட்டப்பட்டது பட்டியல்கள், அல்லது திருத்தங்கள் மற்றும் மீண்டும் செயலாக்கங்கள், முன்னர் ஒரு ஊடாடும் ஷெல் உள்ளிட்ட கட்டளைகள்.

-e ஆசிரியர்

கட்டளைகளை திருத்த ஆசிரியரால் திருத்தப்பட்ட ஆசிரியர் பயன்படுத்தவும். ஆசிரியர் சரம் ஒரு கட்டளை பெயர், பாத் மாறி மூலம் தேட வேண்டியது. FCEDIT மாறி உள்ள மதிப்பு இயல்புநிலை பயன்படுத்தப்படுகிறது போது - மின் குறிப்பிடப்படவில்லை. FCEDIT பூஜ்யமாகவோ அல்லது அமைக்கப்படாவிட்டாலோ, EDITOR மாறியின் மதிப்பு பயன்படுத்தப்படுகிறது. EDITOR பூஜ்யமாக அல்லது அமைக்கப்படாவிட்டால், ed (1) editor ஆக பயன்படுத்தப்படுகிறது.

-l (ell)

கட்டளைகளை அவர்கள் மீது ஒரு பதிவைத் தேர்ந்தெடுப்பதைக் காட்டிலும் பட்டியலிடவும். கட்டளை எண் முதல் ஒவ்வொரு கட்டளையுடனும் - பாதிக்கப்பட்ட, முதல் மற்றும் கடைசி operands மூலம் சுட்டிக்காட்டப்படுகிறது வரிசையில் எழுதப்பட்ட.

-n

-l உடன் பட்டியலிடும்போது கட்டளை எண்களை அடக்கு.

-r

பட்டியலிடப்பட்ட கட்டளைகளின் வரிசையைத் திருத்தி ( எல் அல்லது திருத்தப்பட்ட ( எல் - அல்லது எல் - உடன் )

-s

ஒரு பதிவைத் தொடங்காமல் கட்டளையை மீண்டும் இயக்கவும்.

முதல்

கடந்த

பட்டியல் அல்லது திருத்த கட்டளைகளை தேர்ந்தெடுக்கவும். அணுகக்கூடிய முந்தைய கட்டளைகளின் எண்ணிக்கை, HISTSIZE மாறி மதிப்பால் தீர்மானிக்கப்படுகிறது. முதல் அல்லது கடைசி அல்லது இரண்டின் மதிப்பு பின்வரும் ஒன்றாகும்:

, [+] எண்

கட்டளை எண் குறிக்கும் ஒரு நேர்மறை எண்; கட்டளை எண்கள் காட்டப்படும் - l விருப்பம்.

-number

முன்னரே கட்டளைகளின் எண்ணிக்கையை செயல்படுத்திய கட்டளைக்கு எதிர்மறை தசம எண். உதாரணமாக, -1 உடனடியாக முந்தைய கட்டளை ஆகும்.

சரம்

அந்த சரம் தொடங்கி மிக சமீபத்தில் உள்ளீடு கட்டளையை குறிக்கும் ஒரு சரம். பழைய = புதிய ஓபராண்ட் கூட குறிப்பிடப்படவில்லை என்றால் - s முதல் ஓரண்ட்டின் சரம் வடிவம் ஒரு உட்பொதியப்பட்ட சம அடையாளம் இருக்க முடியாது.

பின்வரும் சூழல் மாறிகள் fc இன் மரணதண்டனை பாதிக்கின்றன:

FCEDIT

பயன்படுத்த ஆசிரியர் பெயர்.

HISTSIZE

அணுகக்கூடிய முந்தைய கட்டளைகளின் எண்ணிக்கை.

fg [ வேலை ]

குறிப்பிட்ட வேலை அல்லது தற்போதைய வேலையை முன்னோக்கி நகர்த்தவும்.

getopts optstring var

POSIX getopts கட்டளை, பெல் லேப்ஸ்- ஒழுங்குபடுத்தப்பட்ட getopt (1) உடன் குழப்பக்கூடாது.

முதல் வாதம் கடிதங்களின் வரிசைகளாக இருக்க வேண்டும், ஒவ்வொன்றும் விருப்பத்தேர்வை ஒரு வாதம் தேவை என்பதைக் குறிக்கும் ஒரு பெருங்குடனானதாக இருக்கலாம். குறிப்பிடப்பட்ட மாறி பாகுபடுத்தப்பட்ட விருப்பத்திற்கு அமைக்கப்பட்டது.

Getopts கட்டளை இடைவெளி கொண்ட வாதங்கள் அதன் கையாளும் காரணமாக பழைய getopt (1) பயன்பாடு deprecates.

Getopts builtin விருப்பங்களை பட்டியல்களில் இருந்து அவர்களின் விருப்பங்களை பெற பயன்படுத்தப்படுகிறது. அழைக்கப்படும் போது, getopts அடுத்த விருப்பத்தின் மதிப்பை இடையில் விருப்பப்பட்டால், var ல் குறிப்பிடப்பட்ட ஷெல் மாறியில் பட்டியலிடப்பட்ட ஷெல் மாறியில் இருந்து மற்றும் ஷெல் மாறி உள்ள இன்டெக்ஸ் ஷெல் OPTIND ஷெல் செயல்படுத்தப்படும் போது, OPTIND ஆனது 1 க்கு ஆரம்பிக்கப்படுகிறது. ஒவ்வொரு விருப்பத்திற்கும் ஒரு வாதம், getopts builtin ஷெல் மாறி OPTARG இல் இடமாற்றும் ஒரு விருப்பம் optstring இல் அனுமதிக்கப்படவில்லையெனில் OPTARG அமைக்கப்பட்டது.

optstring என்பது தெரிந்த விருப்பம் கடிதங்களின் ஒரு சரம். ஒரு கடிதம் ஒரு பெருங்குடலை பின்பற்றியால், விருப்பம் வெள்ளை விலாசத்தால் பிரிக்கப்படக்கூடிய அல்லது விவாதிக்க முடியாத ஒரு வாதத்தை எதிர்பார்க்கும். எதிர்பார்த்த இடங்களில் ஒரு விருப்பத்தேர்வைக் கண்டுபிடிக்க முடியவில்லை என்றால், getopts மாறி var ஐ '`?' 'ஆக மாற்றும். பின்னர் getopts OPTARG ஐத் திறக்காது மற்றும் வெளியீட்டை தவறான பிழைக்கு எழுதவும். அனைத்து பிழைகளையும் அகற்றுவதன் முதல் எழுத்தாக ஒரு பெருங்குடல் குறிப்பிடுவதன் மூலம் புறக்கணிக்கப்படும்.

கடைசி விருப்பத்தை அடைந்த போது ஒரு nonzero மதிப்பு திரும்பப்பெறுகிறது. மீதமுள்ள வாதங்கள் இல்லை என்றால், getopts சிறப்பு விருப்பத்தை var அமைக்க வேண்டும், `` - இல்லையெனில், அது var அமைக்க வேண்டும் ``?

ஒரு கட்டளைக்கு ஒரு வாதத்தை எவ்வாறு செயல்படுத்தலாம் என்பதைக் குறிக்கும் பின்வரும் குறியீட்டு துண்டு, ஒரு [W] மற்றும் [b] மற்றும் விருப்பம் [c] ஆகியவற்றை எடுத்துக்கொள்ளும் ஒரு வாதம் தேவைப்படுகிறது.

கேட்ச் abc: எஃப்
செய்
வழக்கு $ f இல்
ஒரு | ப) கொடி = $ f;
c) சரக்கு = $ OPTARG;
\? எதிரொலி $ USAGE; வெளியேறு 1;
esac
முடிந்ததாகக்
shift `expr $ OPTIND - 1`

இந்த குறியீட்டை கீழ்கண்டவாறு கீழ்கண்டவாறு ஏற்றுக்கொள்கிறோம்:

cmd -acarg கோப்பு கோப்பு
cmd -a -c arg கோப்பு
cmd -carg-a கோப்பு கோப்பு
cmd -a -carg - கோப்பு கோப்பு

hash -rv கட்டளை ...

ஷெல் கட்டளைகளின் இடங்களை நினைவுபடுத்தும் ஒரு ஹாஷ் அட்டவணையை பராமரிக்கிறது. எந்தவொரு விவாதமும் இல்லாமல், ஹாஷ் கட்டளை இந்த அட்டவணையின் உள்ளடக்கங்களை அச்சிடுகிறது. கடைசியாக cd கட்டளையிலிருந்து பார்க்கப்படாத பதிவுகள் ஒரு நட்சத்திரத்துடன் குறிக்கப்பட்டுள்ளன; இந்த உள்ளீடுகளை செல்லாதது சாத்தியம்.

வாதங்களுடன், ஹாஷ் கட்டளை குறிப்பிட்ட கட்டளைகளை ஹாஷ் டேபிளிலிருந்து நீக்கிவிடும் (அவை செயல்பாடுகளைத் தவிர) பின்னர் அவற்றைக் கண்டுபிடித்தல். - v விருப்பத்தை கொண்டு, அவை காணும் கட்டளைகளின் இடங்களை ஹாஷ் அச்சிடுகிறது. - r விருப்பமானது ஹேஷ் கட்டளையை செயல்படுத்துவதை தவிர ஹாஷ் அட்டவணையில் உள்ள அனைத்து உள்ளீடுகளையும் நீக்க வேண்டும்.

வேலை [ வேலை ]

பணியில் செயல்பாட்டின் செயல்பாட்டின் அடையாளத்தை அச்சிடுக. வேலை வாதம் தவிர்க்கப்பட்டால், தற்போதைய வேலை பயன்படுத்தப்படுகிறது.

வேலைகள்

இந்த கட்டளை நடப்பு ஷெல் செயல்முறையின் குழந்தைகளான அனைத்து பின்னணி செயல்முறைகளையும் பட்டியலிடுகிறது.

PWD

தற்போதைய அடைவை அச்சிடுக. Builtin கட்டளையானது அதே பெயரின் நிரலில் இருந்து மாறுபடலாம் ஏனெனில் builtin கட்டளையானது ஒவ்வொரு அடைவையும் recomputing விட தற்போதைய அடைவு என்ன என்பதை நினைவில் கொள்கிறது. இது வேகமானது. இருப்பினும், தற்போதைய அடைவு மறுபெயரிடப்பட்டால், pwd இன் கட்டப்பட்ட பதிப்பு அடைவுக்கான பழைய பெயரை அச்சிடும்.

[- p உடனடி ] [- r ] மாறி ...

P விருப்பம் குறிப்பிட்டால் மற்றும் நிலையான உள்ளீடு ஒரு முனையம் என்றால் prompt அச்சிடப்படுகிறது. பின்னர் ஒரு வரி நிலையான உள்ளீடு இருந்து படிக்க. முன்னிலைப்படுத்தப்பட்ட புதுப்பிப்பு வரிக்கு நீக்கப்பட்டது, மேலே உள்ள பிரிவில் உள்ள பிரிவில் விவரிக்கப்பட்டபடி வரி பிரிக்கப்படுகிறது, மேலும் துண்டுகள் வரிசையில் மாறிகளுக்கு ஒதுக்கப்படுகின்றன. குறைந்தது ஒரு மாறி குறிப்பிடப்பட வேண்டும். மாறிகள் விட அதிகமான துண்டுகள் இருந்தால், மீதமுள்ள துண்டுகள் (அவற்றை பிரிக்கப்பட்ட IFS இல் உள்ள எழுத்துகளுடன் சேர்த்து) கடைசி மாறிக்கு ஒதுக்கப்படும். துண்டுகளை விட அதிக மாறிகள் இருந்தால், மீதமுள்ள மாறிகள் பூஜ்ய சரம் ஒதுக்கப்படும். EOF என்பது உள்ளீட்டில் ஏற்பட்டால், வெற்றிகரமாகப் பெறப்பட்டால், கட்டப்பட்ட பில்டின் வெற்றி காண்பிக்கும்.

முன்னிருப்பாக - r விருப்பம் குறிப்பிடப்படவில்லை எனில், பின்ஸ்லாஷ் `` \ "'' தப்பிக்கும் பாத்திரமாக செயல்படுகிறது, இதனால் பின்வரும் பாத்திரத்தை மொழியில் எழுதலாம். பின்செல் ஒரு புதிய வரியால் தொடர்ந்து இருந்தால், பின்சாய்வு மற்றும் புதியது நீக்கப்படும்.

படிக்க வேண்டிய பெயர் ...

readonly -p

குறிக்கப்பட்ட பெயர்கள் மட்டுமே படிக்கப்படும் என குறிக்கப்படுகின்றன, இதனால் அவை பின்னர் மாற்றப்படவோ அல்லது அமைக்கப்படவோ முடியாது. ஷெல் ஒரு மாறி மதிப்பை ஒரே நேரத்தில் அமைக்கும்படி எழுத அனுமதிக்கிறது

readonly name = value

எந்தவொரு விவாதமும் இல்லாமல், படிக்கக்கூடிய கட்டளை அனைத்து பெயர்களையும் மாறி மாறிகள் மட்டுமே பட்டியலிடுகிறது. P - விருப்பம் குறிப்பிட்டவுடன் வெளியீடு அல்லாத ஊடாடும் பயன்பாட்டிற்காக பொருத்தமான முறையில் வடிவமைக்கப்படும்.

அமைக்கவும் [{- விருப்பங்கள் | + விருப்பங்கள் | - விவாதம் ... ]

தொகுப்பு கட்டளை மூன்று வெவ்வேறு செயல்பாடுகளை செய்கிறது.

எந்த வாதமும் இல்லாமல், அது அனைத்து ஷெல் மாறிகள் மதிப்புகளை பட்டியலிடுகிறது.

விருப்பங்களை வழங்கியிருந்தால், அது குறிப்பிட்ட விருப்பத்தேர்வு கொடிகளை அமைக்கிறது அல்லது Sx Argument List Processing எனப்படும் பிரிவில் விவரிக்கப்பட்டுள்ளது.

குறிப்பிட்ட கட்டளைகளின் ஷெல் இன் நிலைப்படுத்தப்பட்ட அளவுருக்களின் மதிப்புகள் அமைக்க, தொகுப்பு கட்டளையின் மூன்றாவது பயன்பாடு ஆகும். எந்த விருப்பங்களையும் மாற்றாமல், பதவிக்குரிய அளவுருவை மாற்றுவதற்கு, முதல் வாதமாக அமைக்க `` - "ஐ பயன்படுத்தவும். எந்த விவாதமும் இல்லை என்றால், தொகுப்பு கட்டளை அனைத்து நிலை அளவுருக்கள் ("$ shift $" ஐ நிறைவேற்றுவதற்கு சமமானதாகும்.

மாறி மதிப்பு

மாறி மதிப்பை ஒதுக்க. (பொதுவாக, மாறி = மதிப்பை எழுதுவது செட்வார் செட்வாரைப் பயன்படுத்துவதை விட சிறந்தது, அதன் பெயர்கள் மாறிகளாக மதிப்புகளாக ஒதுக்கப்படும் நோக்கங்களில் பயன்படுத்தப்படுகின்றன.)

shift [ n ]

நிலைப்படுத்தப்பட்ட அளவுருக்கள் n முறை மாற்றவும். ஒரு மாற்றமானது $ 2 மதிப்பு $ 2 மதிப்பு $ 2 மதிப்பிற்கு $ 3 மதிப்பு மற்றும் $ 1 மதிப்பைக் குறைக்கிறது. நேர்மறை அளவுருக்கள் எண்ணிக்கையை விட அதிகமானால், shift ஒரு பிழை செய்தியை வெளியிடுவதோடு, திரும்ப நிலை 2 உடன் வெளியேறும்.

முறை

ஷெல்லிற்கான திரட்டப்பட்ட பயனர் மற்றும் முறைமை முறைகளை அச்சிட மற்றும் ஷெல் இயக்கத்தில் செயல்முறைகள். திரும்ப நிலை 0 ஆகிறது.

பொறி நடவடிக்கை சமிக்ஞை ...

குறிப்பிடப்பட்ட சமிக்ஞைகள் எந்தெந்த இடங்களில் அடைக்கப்படும் போது ஷெல் ஷெல் மற்றும் செயல்பட செயல்படுகின்றன. சமிக்ஞை எண் குறிக்கப்படுகிறது. சிக்னல் 0 என்றால் ஷெல் வெளியேறும் போது நடவடிக்கை செயல்படுத்தப்படுகிறது. நடவடிக்கை பூஜ்யமாகவோ அல்லது `` - "முன்னரே குறிப்பிட்ட குறியீட்டை புறக்கணிக்க வேண்டும், மேலும் பிந்தைய இயல்புநிலை நடவடிக்கை எடுக்கப்படும். ஷெல் ஒரு சங்கிலியை விட்டு வெளியேறும்போது, ​​அது இயல்புநிலை செயலுக்கு சிக்னல்களை மறுபடியும் (ஆனால் புறக்கணிக்காது) மீட்டமைக்கிறது. ஷெல் நுழைவு மீது புறக்கணிக்கப்பட்ட சிக்னல்களில் இந்த பொறி கட்டளை எந்த விளைவையும் கொண்டிருக்கவில்லை.

வகை [ பெயர் ... ]

ஒவ்வொரு பெயரையும் ஒரு கட்டளையாகப் புரிந்துகொண்டு, கட்டளைத் தேடலின் தீர்மானத்தை அச்சிடுக. சாத்தியமான தீர்மானங்கள் உள்ளன: ஷெல் சொல், மாற்று, ஷெல் கட்டப்பட்டது , கட்டளை, மற்றொரு டிராக்குதல் மற்றும் காணப்படவில்லை. மறுபெயரிடுவதற்கு மாற்று விலாசம் அச்சிடப்படுகிறது; கட்டளைகள் மற்றும் திசைமாற்றங்களைக் கண்காணிக்கும் கட்டளையின் முழுமையான பாதை பெயர் அச்சிடப்படும்.

ulimit [- H -S ] [- a -tfdscmlpn [ மதிப்பு ]]

பற்றி விசாரிக்க அல்லது கடினமான அல்லது மென்மையான வரம்புகளை செயல்முறைகளில் அமைக்க அல்லது புதிய வரம்புகளை அமைக்கவும். கடினமான வரம்பு (எந்த செயல்முறை மீதும் அனுமதிக்கப்படக் கூடாது, அது குறைக்கப்படாமல் எழுப்பப்படக்கூடாது) மற்றும் மென்மையான வரம்பு (இது செயல்முறைகளை சமிக்ஞை செய்ய வேண்டிய அவசியம் இல்லை ஆனால் அவற்றால் உயிரிழக்கப்படக்கூடாது) இந்த கொடிகள்:

-H

அமைக்க அல்லது கடுமையான வரம்புகளை பற்றி விசாரிக்கவும்

-S

மென்மையான வரம்புகளை அமைக்க அல்லது விசாரிக்கவும். எச் அல்லது எஸ் - குறிப்பிடப்படவில்லை என்றால், மென்மையான எல்லை காட்டப்படும் அல்லது இரண்டு வரம்புகள் அமைக்கப்பட்டிருக்கும். இருவரும் குறிப்பிடப்பட்டிருந்தால், கடைசி வெற்றி.

கேள்வி கேட்கப்படும் அல்லது அமைக்கப்பட வேண்டிய வரம்பு, பின்வருவனவற்றில் ஒன்றைக் குறிப்பிடுவதன் மூலம் தேர்ந்தெடுக்கப்படும்:

-a

தற்போதைய வரம்புகளைக் காட்டு

-t

CPU நேரத்தின் வரம்பை காட்டு அல்லது அமைக்கலாம் (நொடிகளில்)

-f

(512-பைட் தொகுதிகள்) உருவாக்கப்பட்ட மிகப்பெரிய கோப்பை வரையறுக்க அல்லது வரையறுக்க அமைக்கவும்

-d

ஒரு செயல்முறையின் தரவு பிரிவின் அளவைக் காட்டு அல்லது அமைக்கவும் (கிலோபைட்டில்)

-s

ஒரு செயல்முறையின் ஸ்டாக் அளவைக் காண்பி அல்லது வரம்பை அமைக்கலாம் (கிலோபைட்டுகளில்)

-c

உற்பத்தி செய்யக்கூடிய மிகப்பெரிய கோர் டம்ப் அளவுக்கு (512-பைட் தொகுதிகள்)

-m

ஒரு செயல்முறையில் (கிலோபைட்டில்) பயன்படும் மொத்த உடல் நினைவகத்தில் காண்பிக்கவோ அல்லது அமைக்கவோ அமைக்கவும்

-l

(2) ( கிலோபைட்ஸில் ) ஒரு செயல்முறை பூட்டுவதற்கு எவ்வளவு நினைவகம் என்பதை காண்பிக்கவோ அல்லது அமைக்கவோ அமைக்கவும்

-p

இந்த பயனர் ஒரே நேரத்தில் செயல்படும் செயல்முறைகளின் எண்ணிக்கையை காண்பி அல்லது அமைக்கலாம்

-n

ஒரு செயல்முறையை ஒரே நேரத்தில் திறக்க முடியும் எண்ணை கோப்புகளில் வரம்பை காட்டு அல்லது அமைக்கலாம்

இவை எதுவும் குறிப்பிடப்படவில்லை என்றால், அது காட்டப்படும் அல்லது அமைக்கப்படும் கோப்பு அளவின் வரம்பு. மதிப்பு குறிப்பிடப்பட்டால், அந்த எண்ணிக்கை அந்த எண்ணுக்கு அமைக்கப்படுகிறது; இல்லையெனில் தற்போதைய வரம்பு காட்டப்படும்.

ஒரு தன்னிச்சையான செயல்பாட்டின் எல்லைகள் sysctl (8) பயன்பாட்டைப் பயன்படுத்தி காட்டப்படும் அல்லது அமைக்கப்படலாம்.

umask [ முகமூடி ]

Umask இன் மதிப்பை அமைக்கவும் (umask (2) ஐ பார்க்கவும்). வாதம் தவிர்க்கப்பட்டால், umask மதிப்பு அச்சிடப்படும்.

யூலியாஸ் [- ஒரு ] [ பெயர் ]

பெயர் குறிப்பிடப்பட்டிருந்தால், ஷெல் பெயர் மாற்றுகிறது. ஒரு - குறிப்பிட்டால், அனைத்து மாற்றுப்பாதைகளும் நீக்கப்பட்டன.

பெயரை அமைக்காமல் ...

குறிப்பிடப்பட்ட மாறிகள் மற்றும் செயல்பாடுகளை அமைக்கப்படவில்லை மற்றும் பதிவிறக்கப்படவில்லை. கொடுக்கப்பட்ட பெயர் ஒரு மாறி மற்றும் ஒரு செயல்பாட்டை இருக்குமானால், மாறி மற்றும் செயல்பாடு இரண்டும் அமைக்கப்படாது.

காத்திருக்கவும் [ வேலை ]

குறிப்பிட்ட வேலையை முடிக்க, வேலை முடிவில் கடைசி செயல்முறையின் வெளியேறும் நிலையை திரும்பவும் காத்திருக்கவும். வாதம் புறக்கணிக்கப்பட்டால், அனைத்து வேலைகளையும் முடிக்க காத்திருக்கவும் பூஜ்ஜியத்தின் வெளியேறும் நிலைக்கு திரும்பவும் காத்திருக்கவும்.

கட்டளை வரி எடிட்டிங்

ஒரு முனையிலிருந்து ஷா பயன்படுத்தப்படுகிறது போது, ​​தற்போதைய கட்டளை மற்றும் கட்டளை வரலாறு (SX Builtins இல் fc பார்க்கவும்) vi-mode கட்டளை வரி எடிட்டிங் பயன்படுத்தி திருத்த முடியும். Vi man page இல் விவரிக்கப்பட்ட ஒரு subset ஐப் போல, இந்த முறை கீழ்கண்டவாறு கட்டளைகளைப் பயன்படுத்துகிறது. கட்டளை `தொகுப்பு '-o vi vi-mode எடிட்டிங் செயல்படுத்துகிறது மற்றும் vi செருகும் முறையில் மாற்றவும். Vi-mode செயல்படுத்தப்பட்டால், ஷார்ட் பயன்முறை மற்றும் கட்டளை முறைமை ஆகியவற்றுக்கு இடையே மாறலாம். ஆசிரியர் இங்கு முழுமையாக விவரிக்கப்படவில்லை, ஆனால் பின்னர் ஆவணத்தில் இருப்பார். இது vi ஐ ஒத்துள்ளது: AQ ESC ஐத் தட்டச்சு செய்வது VI கட்டளை முறைக்கு கட்டளை. கட்டளை முறையில் இருக்கும் போது AQ திரும்பும் போது ஷெல் வரியை கடக்கும்.

முக்கியமானது: உங்கள் குறிப்பிட்ட கணினியில் ஒரு கட்டளை எவ்வாறு பயன்படுத்தப்படுகிறது என்பதைப் பார்க்க, man கட்டளை ( % man ) ஐப் பயன்படுத்தவும்.