பாஷ் சப்ஷெல்ஸ்

Pas Capsels



சில நேரங்களில், நீங்கள் பின்னணியில் ஒன்று அல்லது அதற்கு மேற்பட்ட கட்டளைகள் அல்லது ஸ்கிரிப்ட்களை இயக்க வேண்டும். அனைத்து கட்டளைகள் அல்லது ஸ்கிரிப்ட்களை ஒரு ஸ்கிரிப்ட் கோப்பில் எழுதி, ஆம்பர்சண்ட் (&) ஐப் பயன்படுத்தி கோப்பை இயக்குவதன் மூலம் அல்லது தற்போதைய ஷெல்லில் இருந்து துணை ஷெல்லில் கட்டளைகள் அல்லது ஸ்கிரிப்ட்களை இயக்குவதன் மூலம் இந்தப் பணியைச் செய்யலாம். $() அல்லது backticks (`) உடன் இணைப்பதன் மூலம் பல கட்டளைகள் அல்லது ஸ்கிரிப்ட்களை இயக்க துணை ஷெல் பயன்படுத்தப்படலாம். இந்த டுடோரியலில் Bash subshell ஐப் பயன்படுத்தும் முறைகள் காட்டப்பட்டுள்ளன.

சப்ஷெல்லின் வெவ்வேறு எடுத்துக்காட்டுகள்

துணை ஷெல்லில் ஸ்கிரிப்டை இயக்குவதற்கான பல்வேறு வழிகள் டுடோரியலின் இந்தப் பகுதியில் காட்டப்பட்டுள்ளன.

எடுத்துக்காட்டு 1: ஒற்றை மேற்கோள் மற்றும் இரட்டை மேற்கோளைப் பயன்படுத்தி துணை ஷெல்லை இயக்கவும்

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







#!/பின்/பாஷ்

#சப்ஷெல்லில் `தேதி` கட்டளையை அச்சிடவும்

எதிரொலி 'இன்று `தேதி` '

#ஒரு சரம் மாறியை வரையறுக்கவும்

strVal = 'பாஷ் சப்ஷெல்'

#ஒற்றை மேற்கோள்களைப் பயன்படுத்தி துணை ஷெல்லில் மாறியை அச்சிடவும்

எதிரொலி 'ஒற்றை மேற்கோள்களின் வெளியீடு:' '$(எக்கோ $strVal)'

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

எதிரொலி 'இரட்டை மேற்கோள்களின் வெளியீடு:' ' $(எக்கோ $strVal) '

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





எடுத்துக்காட்டு 2: சப்ஷெல் மூலம் குறிப்பிட்ட நீட்டிப்பின் அனைத்து கோப்புகளையும் தேடுங்கள்

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





#!/பின்/பாஷ்

எதிரொலி -என் 'கோப்பு நீட்டிப்பின் பெயரை உள்ளிடவும்:'

#தேடப்படும் கோப்பு நீட்டிப்பு பெயரை எடுத்துக் கொள்ளுங்கள்

படி ext

#உள்ளீட்டு மதிப்பைச் சரிபார்க்கவும்

என்றால் [ [ $ext == '' ] ] ; பிறகு

#அச்சு பிழை செய்தி

எதிரொலி 'நீட்டிப்பு வழங்கப்படவில்லை.'

வேறு

எதிரொலி 'கோப்புப் பெயர்கள் $ext நீட்டிப்பு:'

# கொடுக்கப்பட்ட நீட்டிப்புடன் அனைத்து கோப்பு பெயர்களையும் அச்சிடவும்

எதிரொலி ' $( எதிரொலி `ls *.$ext` ) '

இரு

'txt' உள்ளீட்டுடன் ஸ்கிரிப்டை இயக்கிய பின் பின்வரும் வெளியீடு தோன்றும். வெளியீட்டின் படி, தற்போதைய இடத்தில் மூன்று உரை கோப்புகள் உள்ளன:



வெற்று மதிப்புடன் ஸ்கிரிப்டை இயக்கிய பின் பின்வரும் வெளியீடு தோன்றும்:

எடுத்துக்காட்டு 3: சப்ஷெல்லில் எண்கணித வெளிப்பாட்டை இயக்கவும்

பிரதான ஷெல் மற்றும் சப்ஷெல்லில் அதே பெயரின் மாறி பயன்படுத்தப்படும் பின்வரும் ஸ்கிரிப்ட் மூலம் ஒரு பாஷ் கோப்பை உருவாக்கவும். எண்கணித செயல்பாடு பிரதான ஷெல் மற்றும் துணை ஷெல்லில் வரையறுக்கப்படுகிறது.

#!/பின்/பாஷ்

#ஒரு பெற்றோர் ஷெல் மாறியை வரையறுக்கவும்

எண் = 10

#பேரன்ட் ஷெல் மாறியின் அடிப்படையில் முடிவை அச்சிடவும்

( ( விளைவாக = $எண் + 5 ) )

எதிரொலி 'தொகை $எண் +5= $ முடிவு '

#பேரன்ட் ஷெல்லின் அதே பெயரில் ஒரு துணை ஷெல் மாறியை உருவாக்கவும்

( எண் = இருபது ; ( ( விளைவாக = $எண் + 10 ) ) ; எதிரொலி 'தொகை $எண் +5= $ முடிவு ' )

#பேரன்ட் ஷெல்லின் மாறியின் அடிப்படையில் முடிவை மீண்டும் அச்சிடவும்

எதிரொலி 'தொகை $எண் +5= $ முடிவு '

ஸ்கிரிப்டை இயக்கிய பின் பின்வரும் வெளியீடு தோன்றும். முதல் மற்றும் கடைசி வெளியீடுகள் பிரதான ஷெல்லின் முடிவைக் காட்டுகின்றன. இரண்டாவது வெளியீடு துணை ஷெல்லின் முடிவைக் காட்டுகிறது. பிரதான ஷெல்லின் மாறியானது துணை ஷெல்லின் மாறியால் மாற்றியமைக்கப்படவில்லை:

எடுத்துக்காட்டு 4: சப்ஷெல்லில் பல கட்டளைகளை இயக்கவும்

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

#!/பின்/பாஷ்

#ஒரு சரம் மதிப்பை வரையறுக்கவும்

strVal = 'ஜாவாஸ்கிரிப்ட்'

# அசல் சரத்தின் மதிப்பை அச்சிடவும்

எதிரொலி 'சர மதிப்பு: $strVal '

#சப்ஷெல் மதிப்பை அச்சிடவும்

எதிரொலி -என் 'சப்ஷெல் மதிப்பு:'

எதிரொலி ' $(எக்கோ $strVal | sed 's|Java|JavaScript வகை|') '

ஸ்கிரிப்டை இயக்கிய பின் பின்வரும் வெளியீடு தோன்றும். வெளியீட்டின் படி, 'ஜாவா' சரம் 'வகை' சரத்தால் மாற்றப்படுகிறது. சப்ஷெல்லின் வெளியீடு “ஜாவாஸ்கிரிப்ட் டைப்ஸ்கிரிப்ட்”:


முடிவுரை

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