ஷெல் ஸ்கிரிப்டுக்குள் கட்டளைகளை எவ்வாறு செயல்படுத்துவது

How Execute Commands From Within Shell Script



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

கட்டளைகள் எங்கிருந்து வருகின்றன?

பேஷில் உள்ள கட்டளைகள் பின்வரும் எந்த வகைகளிலிருந்தும் வருகின்றன:







பேஷ் தானே (பில்டின்ஸைப் பார்க்கவும்)

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



உங்கள் சூழலில் இயங்கக்கூடியவை (வெளிப்புற கட்டளைகளைப் பார்க்கவும்)

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



பயனர் வரையறுக்கப்பட்ட செயல்பாடு (செயல்பாடுகளை பார்க்கவும்)

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





கட்டளைகள் என்றால் என்ன

கட்டளை என்பது ஷெல் சூழலுக்குள் ஒரு நிரலை உள்ளிடுவதற்கான ஒற்றை புள்ளியாகக் கருதப்படும் எந்த வார்த்தையும் ஆகும். கட்டளை செயல்படுத்தப்பட்டால், கட்டளை மற்றும் விருப்ப வாதங்கள் நிலை அளவுருக்களாக அனுப்பப்படுகின்றன, $ {0}, $ {1}, $ {2}, ... பூஜ்ஜிய நிலை அளவுரு ($ {0}) குறிக்கும் கட்டளை மற்றும் சூழலில் மாறாமல் உள்ளது. அதாவது, செயல்பாடுகளில் உள்ள நிலை அளவுருக்கள் போலல்லாமல், $ {1}, $ {2}, ... சூழலைப் பொறுத்து மாறலாம், $ {0} செயல்பாட்டு அழைப்புகளுக்கு இடையில் மாறாது.

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



தெரிந்து கொள்ள வேண்டிய கட்டளை வகைகளின் பட்டியல் இங்கே.

பில்டின் கட்டளைகள்

இவர்கள் பாஷ் பிரபஞ்சத்தின் முதல் வகுப்பு குடிமக்கள், இதில் '.' ':' '' '' '' மற்றும் பாஷில் அறிவிப்பது போன்ற ஒதுக்கப்பட்ட வார்த்தைகள் அடங்கும். பாஷ் பில்டின் கட்டளைகளின் பட்டியலில் உள்ள இந்த கட்டளைகளை உங்கள் பாஷ் ஸ்கிரிப்டுக்குள் பயன்படுத்தக் கிடைக்கும் என்று நீங்கள் நம்புகிறீர்கள்.

உங்கள் பேஷ் மொழிபெயர்ப்பாளரின் பதவி மற்றும் பதிப்பு எண்ணைப் பொறுத்து சில கட்டளைகள் கிடைக்காமல் போகலாம்.

வெளிப்புற கட்டளைகள்

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

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

பேஷ்: தெரியாத-கட்டளை:கட்டளைகிடைக்கவில்லை

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

சுருட்டை() {
கட்டளை $ {FUNCNAME}...
}

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

மேலே உள்ள உதாரணம் பின்வருமாறு மாற்றுப்பெயரைப் பயன்படுத்தி நிறைவேற்றப்படலாம் என்பதை நினைவில் கொள்க.

மாற்றுப்பெயர் சுருட்டை= '
{
சுருட்டை ...
}
'

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

செயல்பாடுகள்

பேஷில் செயல்பாடுகள் ஆட்சி. பில்டின்ஸ் மற்றும் வெளிப்புற கட்டளைகளைப் பார்ப்பதற்கு முன், ஒரு வேட்பாளர் செயல்பாட்டுப் பெயரால் ஒரு செயல்பாடு வரையறுக்கப்பட்டதா என்று பேஷ் சரிபார்க்கிறது, ஒரு வரியில் அல்லது அதற்குப் பிறகு தோன்றும் முதல் வார்த்தை; கட்டளை வரியின் முடிவைக் குறிக்கும் தன்மை. $ {FUNCNAME} போன்ற அனைத்து தொப்பிகளிலும் எழுதப்பட்ட பாஷ் மாறிகள் மட்டுமே விதிவிலக்கு.

மாற்றுப்பெயர்() { FUNCNAME= asdf;வெளியே எறிந்தார் $ {@ ,,};}
மாற்றுப்பெயர் சுருட்டை='டெஸ்ட் கர்ல் ஏலியாஸ்' #?

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

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

பாஷ் ஸ்கிரிப்டுக்குள் இருந்து கட்டளைகளை எவ்வாறு செயல்படுத்துவது

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

பாஷ் ஸ்கிரிப்டில் முன்னுரிமையைக் கட்டுப்படுத்த சில வழிகள் இங்கே.

பேஷ் முடிவு செய்யட்டும்

கட்டளை_ பெயர்

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

வெளிப்புற கட்டளையை இயக்கவும்

கட்டளைகட்டளை_ பெயர்

ஊடாடும் பயன்முறையில் ஒரு வெளிப்புற கட்டளை command_name உள்ளது என்று வைத்துக்கொள்வோம் மற்றும் நீங்கள் அதை ஒரு பாஷ் ஸ்கிரிப்டில் பயன்படுத்த விரும்புகிறீர்கள். கட்டளை_பெயர் என்பது கட்டளை கட்டளையைப் பயன்படுத்தி வெளிப்புற கட்டளை என்று நாம் வெளிப்படையாக பேசலாம்.

வெளிப்புற கட்டளை உதாரணங்கள்

பின்வருபவை நிறுவப்பட்டுள்ளன என்று கருதி வெளிப்புற கட்டளை உதாரணங்கள்:

கோப்பு
போ
அத்திப்பழம்
எடுத்துக்காட்டு: கோப்பு வகை மற்றும் தகவலைப் பெறுங்கள்
{ # கோப்பு வகை மற்றும் தகவலைப் பெறுங்கள்
கோப்பு $ {infile} # (1,2)
}
# (1) கட்டளை, கோப்பு
# (2) இன்ஃபைல் = {கோப்பிற்கான பாதை}
எடுத்துக்காட்டு: மேடையில் மாற்றியமைக்கப்பட்ட மற்றும் புதிய கோப்புகள் git இல்
{ Git இல் # நிலை கோப்புகள்
git சேர்.# (1)
}
# (1) கட்டளை, ஜிட்
உதாரணம்: அத்திப்பழத்தைப் பயன்படுத்தி ஆசியக் கலையை உருவாக்கவும்
{ # ascii கலையை உருவாக்கவும்
அத்திப்பழம்$ {செய்தி} # (1,2)
}
# (1) கட்டளை, அத்தி
# (2) செய்தி = {ascii art ஆக காட்ட செய்தி}

கட்டப்பட்ட கட்டளையை இயக்கவும்

கட்டப்பட்டதுகட்டளை_ பெயர்

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

கட்டப்பட்ட கட்டளை உதாரணங்கள்
உதாரணம்: எத்தனை பில்டின்ஸ்?
கட்டப்பட்டது{,}{,,}{,,,} # எத்தனை கட்டமைப்புகள்?
உதாரணம்: பாண்டம் பிரகடனம்
{
அறிவிக்கின்றன() { வெளியே எறிந்தார்அச்சச்சோ!;}
அறிவிக்கின்றன- எக்ஸ்எஃப்அறிவிக்கின்றன #?
}

முடிவுரை

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