பாரா பாதுகாப்பானது நமது கருத்துக்கள் பாஷில் சரியாக வேலை செய்யும் நிரலாக்கத்திற்கான 2 மிகவும் பயனுள்ள கருவிகளைக் கற்றுக்கொள்வோம். உருவாக்க கற்றுக்கொள்ளுங்கள் செயல்பாடுகளை மற்றும் வரையறுக்கவும் குழாய்வழிகள் முதலில் சிக்கலானதாகத் தோன்றலாம், ஆனால் பின்னர் நாம் மகத்தானதைக் காண்போம் பயன்பாடு அவை எங்களுக்கு வழங்குகின்றன. |
குழாய்கள்
குறிப்பாக, மற்றும் பல திருப்பங்களை எடுக்காமல், ஒரு குழாய் என்பது ஒரு செயல்முறையின் வெளியீட்டை இன்னொருவரின் உள்ளீடாக இயக்க அனுமதிக்கும் ஒரு முறையாகும், இது குறியீட்டின் வரிகளைக் குறைத்தல், முடிவுகளின் சேமிப்பக மாறிகள் மூலம் விநியோகித்தல் மற்றும் மேம்படுத்துதல் போன்ற தொடர்ச்சியான நன்மைகளை அனுமதிக்கிறது. ஸ்கிரிப்டின் செயல்திறன்.
ஒரு குழாய் பொதுவாக | இது வெளிப்பாடுகளை ஒன்றிணைக்க அனுமதிக்கிறது; இது இயல்பாகவே பயன்படுத்தப்பட்டாலும், குழாய்களை உருவாக்க வேறு வழிகள் உள்ளன.
எடுத்துக்காட்டு: சமீபத்திய கர்னல் செய்திகளை அச்சிடுக
#dmesg சமீபத்திய கர்னல் செய்திகளையும் ஏற்றப்பட்ட இயக்கிகளையும் காண உங்களை அனுமதிக்கிறது # கணினி துவக்கத்தை நீக்குகிறது; வால் ஒரு கோப்பின் கடைசி பகுதிகளை அச்சிடுகிறது அல்லது # கட்டளை
dmesg | வால்
அவை நாம் விரும்பும் அளவுக்கு சிக்கலானதாக இருந்தாலும், ஒரு குழாயின் அடிப்படை கட்டமைப்பு ஒரு கட்டளையின் முடிவை அடுத்தவருக்கு உள்ளீடாகப் பயன்படுத்த அனுமதிக்கிறது, இது தொடர்ச்சியான குழாய்களைச் சேர்த்தால் புதிய கட்டளைக்கான உள்ளீட்டை வழங்க முடியும்.
செயல்பாடுகளை
செயல்பாடுகள் என்பது ஒன்றிணைக்கப்பட்ட அறிக்கைகளின் தொகுப்பாகும், இதனால் அவற்றை மீண்டும் எழுதாமல் பல முறை செயல்படுத்த முடியும். ஒரு வகை உணவை சமைக்கக் கற்றுக் கொள்ளும்போது அதன் செய்முறையை ஒரு தாளில் எழுதுவோம், ஒவ்வொரு முறையும் அந்த உணவை சமைக்க விரும்புகிறோம், அதே செய்முறையுடன் ஒரு புதிய தாளை மீண்டும் எழுதுவதற்குப் பதிலாக செய்முறையை அணுகுவோம்.
செயல்பாடுகளைப் பற்றிய மிக முக்கியமான விஷயம், அளவுருக்களை அனுப்பும் திறன், அவை செயலாக்க மற்றும் வெளியீட்டை உருவாக்க பயன்படுத்தும் தரவு. அதன் அமைப்பு பின்வருமாறு:
செயல்பாடு செயல்பாடு-பெயர் {
செயல்முறைகள்
}
எடுத்துக்காட்டு: tcp நெறிமுறையில் செயல்படும் சேவைகளைக் காட்டும் செயல்பாடு. மேலும் குழாய்களை எவ்வாறு பயன்படுத்துவது என்பதையும் பார்க்கலாம்.
# நாங்கள் ஒரு செயல்பாட்டு பெயரை வரையறுக்கிறோம், அது நாம் விரும்பும் பெயராக இருக்கலாம்.
செயல்பாடு services_tcp {
# கேட் / etc / services கோப்புறையின் உள்ளடக்கங்களை ஒன்றிணைத்து காட்டுகிறது, இது # இது அனைத்து சேவைகளையும் அவற்றின் தொடர்புடைய துறைமுகங்களுடன் கொண்டுள்ளது.
# முதல் grep பட்டியலை எடுத்து கருத்துகளை நீக்குகிறது, –v மூலம் நாம் முடிவைத் திருப்புகிறோம்
# இரண்டாவது grep tcp தொடர்பானவற்றை மட்டுமே காட்டுகிறது
பூனை / etc / services | grep –v "^ #" | grep tcp
}
இந்த செயல்பாட்டை நாம் இயக்க வேண்டியிருக்கும் போது அதை அதன் பெயரால் அழைக்க வேண்டும்:
tcp_services
இந்த வழக்கில் இது அளவுருக்கள் இல்லாமல் செயல்படுகிறது; அது அவற்றைக் கொண்டால், அவற்றைச் சேர்க்க வேண்டும், இதனால் செயல்பாடு சரியாக வேலை செய்யும், இல்லையெனில் செயல்பாடு சரியாக இயங்காது. வருவாயைப் பயன்படுத்துவது செயல்பாட்டின் விளைவாக ஒரு மதிப்பை வழங்க ஒரு செயல்பாட்டை அனுமதிக்கிறது.
எடுத்துக்காட்டு: 2 எண்களின் தொகையை கணக்கிடும் உள்ளீட்டு அளவுருக்களுடன் செயல்பாடு.
#! / பின் / பாஷ்
செயல்பாடு தொகை ()
{
# மேற்கோள்களுக்குள் செயல்பாட்டை இயக்கலாம்
"முடிவு = $ 1 + $ 2"
# திரும்ப முழு எண் மதிப்பை வழங்க அனுமதிக்கிறது. வருவாய் செயல்படுத்தப்பட்டதும், மதிப்பு the மாறிக்குள் டெபாசிட் செய்யப்படும்?
திரும்ப $ முடிவு;
}
# கூட்டு செயல்பாடு அழைக்கப்படுகிறது, மேலும் 2 உள்ளீட்டு அளவுருக்களை அனுப்புகிறோம்.
2 3 ஐச் சேர்க்கவும்
# of இன் மதிப்பை அச்சிடுகிறதா? மேற்கோள்களில் மாறியின் உண்மையான மதிப்பை எதிரொலி மதிப்பீடு செய்கிறது
echo -e "முடிவு = $?";
<< முந்தைய பகுதிக்குச் செல்லவும்
எனக்கு நிச்சயமாகத் தெரியவில்லை, ஆனால் செயல்பாடுகளின் வருவாய் அறிக்கை 0 மற்றும் 255 க்கு இடையில் ஒரு முழு எண்ணைத் திருப்புவதற்கு மட்டுமே உதவுகிறது, "வெளியேறு" இன் பிழைக் குறியீடுகளைப் போல, பொதுவாக 0 எல்லாம் நன்றாக இருந்தால் மற்றும் பிற நிகழ்வுகளுக்கு மற்றொரு எண். எடுத்துக்காட்டில் இது செயல்படுகிறது என்றாலும், முடிவைத் திரும்பக் கொடுப்பது நல்ல நடைமுறை என்று நான் நினைக்கவில்லை.
அங்கே நான் ஒரு முட்டாள்தனத்தை சொல்கிறேன்! கண்! ஹே!
உண்மை என்னை சந்தேகத்துடன் விட்டுவிட்டது. எந்தவொரு சந்தர்ப்பத்திலும், செயல்பாடுகளில் உள்ள சிக்கல்களைத் தவிர்ப்பதற்கு, செயல்பாடு ஒரு மதிப்பு அல்லது சரத்தை திருப்பி அல்லது அச்சிட முற்பட்டால், வருவாயை எதிரொலியாக மாற்றலாம்.
இது உண்மைதான், இதைத் தீர்க்க நீங்கள் பிசி கட்டளையைப் பயன்படுத்தலாம், நீங்கள் பயன்படுத்தக்கூடிய கூட்டுச் செயல்பாட்டில்: முடிவு = `எதிரொலி $ 1 + $ 2 | bc -ql`
நல்ல,
கணினி அகலமாக இயங்க பாஷ் கோப்புகளை நான் எங்கே சேமிக்க முடியும் என்பதை அறிய விரும்புகிறேன், அது பின் அடைவு அல்ல, ஆனால் காப்புப்பிரதி எடுக்க முடியும்.
நன்றி மற்றும் அன்புடன்.
மிக்க நன்றி, நான் ஸ்கிரிப்டுகளுடன் தொடங்குகிறேன், உண்மை இது மிகவும் பயனுள்ளதாக இருக்கிறது, நீங்கள் உங்கள் அறிவைப் பகிர்ந்துகொள்கிறீர்கள்!
மேற்கோளிடு
நன்றி! கட்டிப்பிடி!
பப்லோ
தொடரியல் பிழை: "(" எதிர்பாராதது
எடுத்துக்காட்டை இயக்க முயற்சிக்கும்போது எனக்கு ஒரு பிழை ஏற்பட்டது, நான் அதை அப்படியே நகலெடுத்தேன்
என்ன இருக்க முடியும்? நான் உபுண்டு 14.10 இல் இருக்கிறேன்