வணக்கம்
நிபந்தனையுடன் ஒரு ஸ்கிரிப்டை எவ்வாறு உருவாக்குவது என்பதை இந்த நேரத்தில் காண்பிப்பேன் பாஷ், இது மொழிபெயர்க்கப்பட்டுள்ளது:
நீங்கள் விரும்பும் எக்ஸ் விஷயம் நிறைவேற்றப்பட்டால், ஒய் செயல் செய்யப்படுகிறது, அது நிறைவேற்றப்படாவிட்டால் மற்றொரு செயல் செய்யப்படுகிறது.
விளக்கம் எளிதானது அல்ல
இப்போது, இந்த டுடோரியலில் சில எடுத்துக்காட்டுகளைப் பயன்படுத்த சில நிமிடங்கள் யோசித்தேன், பின்வரும் சங்கடம் / சிக்கல் / நிலைமை எனக்கு ஏற்பட்டது:
நாங்கள் எங்கள் நிறுவனத்தின் நெட்வொர்க்கில் இருக்கிறோம், மேலும் எக்ஸ் கணினி பிணையத்துடன் இணைக்கப்பட்டுள்ளதா என்பதை அறிய விரும்புகிறோம். இதற்காக நாம் ஒரு ஸ்கிரிப்ட் அவர் என்ன செய்வார் பிங் அந்த கணினியை நோக்கி, அது ஒரு பிணையத்தில் இருந்தால் (அதாவது, அது திரும்பினால் பிங்) ஆம், அது நெட்வொர்க்கில் உள்ளது என்று எங்களுக்குத் தெரிவிக்கும், இல்லையெனில் (அதாவது, இது பிணையத்தில் இல்லை) இது பிணையத்தில் இல்லை என்று நமக்குத் தெரிவிக்கும்.
இது முடிந்ததும், நிபந்தனைகளுடன் லூப்பை எவ்வாறு உருவாக்குவது என்பதை இப்போது விளக்குகிறேன்
இங்கே குறியீடு:
ping -c 1 DIRECCION-IP
if [ $? -ne 0 ]; then
echo "No está en red"
else
echo "Sí está en red"
fi
கவலைப்பட வேண்டாம், இதை நான் உங்களுக்கு விரிவாக விளக்குகிறேன்
பிங் நாம் பயன்படுத்தும் கட்டளை, அந்த பிசி பிணையத்தில் இருந்தால் அது நமக்குத் தெரிவிக்கும். எந்த பிசி நெட்வொர்க்கில் இருக்கிறதா இல்லையா என்பதை சரிபார்க்க விரும்புகிறோம், நாம் மாற வேண்டும் ஐபி முகவரி பிசியின் ஐபி முகவரியால் நாம் சரிபார்க்க விரும்புகிறோம்.
நீங்கள் பார்க்க முடியும் என, நான் put-சி 1«, இது எங்களுக்கு அவசியம். நாம் ஒரு கணினியை பிங் செய்யும்போது, நம்மை நாமே அழுத்தும் வரை இந்த செயல் நிறுத்தப்படாது (பிங்) [Ctrl] + [C], எனவே «-சி 1One ஒரே ஒரு சரிபார்ப்பை (ஒரே ஒரு பிங் முயற்சி மட்டுமே) செய்ய நாங்கள் சொல்கிறோம், மற்றொன்று இல்லை, இது உடனடியாக நிறுத்தப்படும், அதாவது… கணினி ஒரு முறை மட்டுமே பிணையத்தில் இருக்கிறதா என்று சோதிக்கும்.
இதைப் பற்றி உங்களுக்கு சந்தேகம் இருந்தால், வெட்கப்பட வேண்டாம்... அதைச் சொல்லுங்கள், அதை உங்களுக்கு மீண்டும் விளக்குவதில் நான் மிகவும் மகிழ்ச்சியடைவேன்.
இப்போது சுழற்சி வருகிறது, ஏனென்றால் நான் விளக்கியது ஒரு சாதாரண கட்டளை/செயல் தவிர வேறில்லை
if [ $? -ne 0 ]; then
echo "No está en red"
else
echo "Sí está en red"
fi
இதை நீங்கள் புரிந்து கொள்ள, நான் பாஷின் மிக முக்கியமான விவரத்தை விளக்குகிறேன்
இந்த விஷயத்தில் அதிக அறிவுள்ளவர்கள் என்னை தவறாகவோ அல்லது அதுபோன்ற ஏதாவது ஒன்றையோ அழைக்கலாம், ஆனால் ஏய், நான் இதை புதியவர்கள் அல்லது குறைந்த நிபுணர்களுக்காக எழுதுகிறேன், அவர்கள் அதை நன்றாக புரிந்து கொள்ளும் வரை
அது போலவே நடக்கிறது பாஷ் இது போன்றது 0 y 1, அதாவது, ஒரு கட்டளை அல்லது செயல் செயல்படுத்தப்படும்போது, நீங்கள் உயிருடன் இருக்கிறீர்கள் அல்லது இறந்துவிட்டீர்கள்: ஒன்று நன்றாக செயல்படுத்தப்பட்டது எந்த பிரச்சினையும் இல்லை (1), அல்லது சில இருந்தது சிக்கல் அல்லது பிழை (0).
நாங்கள் மேற்கொண்டோம்
நாங்கள் என்ன செய்ய அனுப்பினால் (இந்த விஷயத்தில்: ping -c 1 IP-ADDRESS) ஒரு பிழையை கொடுக்கவில்லை, அது வெற்றிகரமாக இருந்தது, எனவே இது மதிப்பை வழங்கும்: 1 . இல்லையெனில், செயல் (அதாவது பிங்) வெற்றிகரமாக இல்லாவிட்டால், அது மதிப்பைத் தரும் 0.
இறுதியாக, மேலே உள்ள குறியீட்டின் பொருள் இதுதான்:
மதிப்பு 0 திரும்பியிருந்தால்
உரையைக் காண்பி: «பிணையத்தில் இல்லை»
இல்லையெனில் (மற்றும் 0 இல்லை, ஆனால் 1 திரும்பியது)
உரையைக் காண்பி: «இது பிணையத்தில் இருந்தால்«
இது நான் உங்களுக்கு இப்போது விளக்கியுள்ளேன், எதிர்காலத்தில் பல விஷயங்களுக்கு எங்களுக்கு சேவை செய்யும், ஏனென்றால் எக்ஸ் செயல் ஒரு பிழையைக் கொடுத்தால், ஒய் செயலைச் செய்யுங்கள், எக்ஸ் நடவடிக்கை ஒரு பிழையைக் கொடுக்கவில்லை என்றால், இசட் செயலைச் செய்யுங்கள் என்று சொல்வது மிகவும் பயனுள்ளதாக இருக்கும்.
சிலர் கொஞ்சம் ஈடுபடக்கூடும் என்று எனக்குத் தெரியும், எனவே இதை பல வழிகளில் விளக்க முயற்சித்தேன், அனைவருக்கும் அதை ஒரு வழி அல்லது வேறு வழியில் புரிய வைக்க முயற்சிக்கிறேன். யாராவது சந்தேகம் அடைந்தால், எனக்கு தெரியப்படுத்துங்கள்.
இப்போது, நமது ஸ்கிரிப்டை உருவாக்குவோம்
இந்த டுடோரியலில் உள்ள படிகளை நாம் பின்பற்ற வேண்டும்: பாஷ்: இயங்கக்கூடிய ஸ்கிரிப்டை எவ்வாறு உருவாக்குவது
பின்வரும் குறியீட்டை அந்த கோப்பில் நகலெடுப்போம் (ஸ்கிரிப்ட். எஸ்), மற்றும் இறுதியில் சொல்லலாம் «வெளியேறும்»(மேற்கோள்கள் இல்லாமல்):
ping -c 1 DIRECCION-IP
if [ $? -ne 0 ]; then
echo "No está en red"
else
echo "Sí está en red"
fi
இது இப்படி இருக்க வேண்டும் (நீங்கள் விரும்பும் ஐபிக்கு ஐபி-முகவரியை மாற்றியிருக்க வேண்டும் என்பதை நினைவில் கொள்ளுங்கள்):
இயங்கும் ஸ்கிரிப்டை இங்கே காணலாம்:
% CODE1%
நீங்கள் பார்க்க முடியும் என, இறுதியில் அவர் நமக்கு சொல்கிறார் «ஆம் அது பிணையத்தில் உள்ளது»
இங்கே முக்கியமான விஷயம் என்னவென்றால், நிபந்தனைகளைப் பற்றி அவர்கள் உண்மையில் புரிந்துகொள்கிறார்கள், எனவே அதை மீண்டும் விளக்க மற்றொரு குறியீட்டை நான் உங்களுக்கு விட்டு விடுகிறேன், ஆனால் மற்றொரு பார்வையில் இருந்து.
read "texto"
if [ "$texto" = "3" ]; then
echo "Correcto"
else
echo "Incorrecto"
fi
இதன் பொருள் என்னவென்றால், விளக்க வரியை வரியாக விடுகிறேன்:
1 வது வரி: நாம் எழுதுவது, அது மாறியின் மதிப்பாக இருக்கும் «குறுஞ்செய்தி»(மேற்கோள்கள் இல்லாமல்).
2 வது வரி: மாறியின் உள்ளடக்கம் (நாங்கள் இப்போது எழுதியது) என்பதை சரிபார்க்கவும் 3.
3 வது வரி: இருப்பது விஷயத்தில் 3, இது உரையை நமக்குக் காண்பிக்கும் «Correcto»(மேற்கோள்கள் இல்லாமல்).
4 வது வரி: இல்லையெனில் (அதாவது, நாங்கள் 3 எழுதவில்லை என்றால்).
5 வது வரி: இது உரையை நமக்குக் காண்பிக்கும் «தவறானது»(மேற்கோள்கள் இல்லாமல்).
6 வது வரி: நிபந்தனையின் முடிவு.
நாம் வைத்தால், அவர்கள் உணர முடிந்தது போல எதிரொலி பின்னர் இரட்டை மேற்கோள்களுக்கு இடையில் («) ஒரு உரை, இது அந்த உரையை முனையத்தில் காண்பிக்கும். அதாவது, நாம் வைத்தால்:
echo "esto es una prueba"
இது முனையத்தில் உள்ள உரையைக் காண்பிக்கும்: இது ஒரு சோதனை
ஆனால் இந்த இரண்டாவது உதாரணத்திற்குத் திரும்பும்போது, இந்த இரண்டாவது ஸ்கிரிப்ட்டின் பயனை (மற்றும் செயல்படுத்துவதை) நான் உங்களுக்கு மிகவும் எளிமையான ஒன்றைக் காட்டுகிறேன் … வழக்கமான «1 + 2 எவ்வளவு?«
முழுமையான ஸ்கிரிப்ட்டின் குறியீட்டை விட்டு விடுகிறேன்:
#!/bin/bash
# -*- ENCODING: UTF-8 -*-
echo "¿Cuánto es 1 + 2?"
read "texto"
if [ "$texto" = "3" ]; then
echo "Correcto"
else
echo "Incorrecto"
fi
exit
ஸ்கிரிப்ட் எவ்வாறு செயல்படுகிறது என்பது இங்கே:
% CODE2%
மேலும் ... சேர்க்க வேறு எதுவும் இல்லை.
இது ஆரம்பமானது, எளிமையானது ஆம், ஆனால் நான் அதை முடிந்தவரை சிறப்பாக விளக்க முயற்சித்தேன், ஏனென்றால் அனைவருக்கும் ஒரு புரோகிராமரின் ஆன்மா இல்லை, மேலும் பல முறை இதுபோன்ற (அல்லது ஒத்த) ஸ்கிரிப்ட்களை நாம் உருவாக்க வேண்டும். இந்த கட்டுரை உங்களுக்கு ஒருவருக்கு பயனுள்ளதாக இருக்கும் என்று நம்புகிறேன்
உங்களுக்கு ஏதேனும் சந்தேகங்கள், கேள்விகள், புகார்கள் அல்லது பரிந்துரைகள் இருந்தால், தயவுசெய்து அவற்றை இங்கே விடுங்கள், அவர்களுக்கு பதிலளிப்பதில் நான் மகிழ்ச்சியடைவேன், இதனால், நாம் அனைவரும் இன்னும் கொஞ்சம் கற்றுக்கொள்கிறோம்
மேற்கோளிடு
நீங்கள் ஒரு சார்பு !!! *அல்லது*
எதுவுமில்லை
அது உங்களுக்கு சேவை செய்தால், அது சுவாரஸ்யமானது என்றால், நான் திருப்தி அடைகிறேன்
வாழ்த்துக்கள் நண்பர்
@ KZKG ^ காரா,
பாஷ் நிரலாக்கத்தைப் பற்றி பேசுகையில் எனக்கு ஒரு கேள்வி உள்ளது:
இந்த VAR = ஹலோ போன்ற மாறியை அறிவிப்பதற்கும் இதை VAR = {AR VAR: -ஹெல்லோ like என அறிவிப்பதற்கும் என்ன வித்தியாசம்?
நான் விளக்குகிறேன்:
http://pastebin.com/a3cfWXeD
வாழ்த்துக்கள்
வணக்கம்
சரி, நான் பாஷில் ஒரு நிபுணர் அல்ல ... உண்மையில், எனக்கு எதுவும் தெரியாது LOL !!
நான் மாறிகள் அறிவிக்கும்போது இது போன்றது:
: ${OPTFOLDER:="/opt/"}
ஆனால் நான் எப்போதுமே இதைச் செய்ததால், நேர்மையாக என்ன வித்தியாசம் இருக்க முடியும் என்று எனக்குத் தெரியவில்லை
@ KZKG ^ காரா
சரி, நான் கேள்வி கேட்டேன், ஏனென்றால் உண்மை எனக்குத் தெரியாது, நான் வழக்கமாக ஸ்லாக் பில்ட்ஸ் எழுதுகிறேன், உண்மை என்னவென்றால், VAR1 இல் அறிவிக்கப்பட்ட மாறிகள் இந்த ஸ்கிரிப்ட்களில் ஏராளமாக உள்ளன. இந்த கேள்வியை தெளிவுபடுத்த விரைவான கூகிள் தேடல் எனக்கு உதவியது, இதை எல்லோரிடமும் பகிர்ந்து கொள்கிறேன், இதன் மூலம் நாம் அனைவரும் கற்றுக்கொள்ள முடியும்:
கையால் எழுதப்பட்ட தாள்:
http://pastebin.com/faAQb35w
விளக்கம்:
VAR = {AR VAR: -default_value form வடிவத்தின் மாறிகள் அறிவிப்பது என்பது மாறி VAR மதிப்பு இயல்புநிலை_மதிப்பை எடுக்கும் என்றால் மதிப்பு பூஜ்யமாக இருந்தால் அல்லது இல்லாவிட்டால் மட்டுமே.
நடைமுறை உதாரணம்:
ஸ்கிரிப்டை இயக்கும்போது, VAR மாறியில் சேமிக்க வேண்டிய மதிப்பை உள்ளிடுமாறு கோரப்படுகிறது, ஏதாவது உள்ளிடப்பட்டால், அது உள்ளிடப்பட்டதைக் காண்பிக்கும். நாம் எதையும் உள்ளிடவில்லை மற்றும் உள்ளீட்டை அழுத்தினால், மாறி VAR ஐ பூஜ்யம் என்று அறிவிக்கிறோம், எனவே இது value_default ஐக் காட்டுகிறது.
வாழ்த்துக்கள்.
HAHA எனக்கு அது தெரியாது
சரி, மிக்க நன்றி நண்பரே ... அதைத்தான் கட்டுரையின் முடிவில் நான் சொன்னேன், நான் ஏதாவது கற்பிக்க விரும்பவில்லை, அவ்வளவுதான், நான் எப்போதும் இங்கு புதிதாக ஒன்றைக் கற்றுக்கொள்வேன் என்று எனக்குத் தெரியும்
வாழ்த்துக்கள் மற்றும் நன்றி மீண்டும்.
நீங்கள் சொல்வது சரிதான், ஒருவர் இங்கே பல விஷயங்களைக் கற்றுக்கொள்கிறார்.
வாழ்த்துக்கள் மற்றும் மகிழ்ச்சியான விடுமுறைகள் !! 😀
மிகவும் நல்ல மற்றும் சிறப்பாக விளக்கப்பட்ட +1, அது உங்களை அழைத்துச் சென்ற நேரம் ...
ஆனால் நான் முயற்சிக்கு மதிப்புள்ளவன்
நான் உண்மையில் 80 நாளில் 1% எழுதினேன், எனது இணையம் என்னை அனுமதிக்காது என்பதால் அதை இடுகையிட எனக்கு இவ்வளவு நேரம் பிடித்தது.
உங்கள் கருத்துக்கு நன்றி
இதைச் செய்வதற்கான மற்றொரு வழி டி.என்.எஸ் ஐப் பயன்படுத்துவதாகும், ஏனெனில் சில நேரங்களில் நெட்வொர்க்குகள் ஐ.சி.எம்.பி நெறிமுறையைத் தடுக்கின்றன:
(ஹோஸ்ட் -ta IP-ADDRESS> / dev / null 2> & 1) && எதிரொலி "பிணையத்துடன் இணைக்கப்பட்டுள்ளது"
இந்த எடுத்துக்காட்டில் வருவாய் மதிப்பு சோதனை என்பது மறைமுகமானது என்பதையும் நீங்கள் கவனிப்பீர்கள்
நீங்கள் எப்போதும் நண்பராக இருக்கிறீர்கள், எனக்கு முற்றிலும் தெரியாத உதவிக்குறிப்புகள் ஹஹாஹா.
நன்றி, கருத்து பாராட்டப்பட்டது மற்றும் அவர்… நான் கற்றுக் கொள்ளும் மற்றொரு புதிய விஷயம்
நன்றி
????
இந்த தலைப்பு வெளியிடப்பட்டு பல நாட்கள் கடந்துவிட்டாலும், அது எனக்கு நிறைய சேவை செய்திருக்கிறது, இப்போது நான் பாஷில் ஒரு ஸ்கிரிப்டை உருவாக்கியுள்ளேன் .. நன்றி காரா ..
டாக். நீங்கள் எனக்கு விஷயங்களை தெளிவுபடுத்திய உதவிக்கு நன்றி.
ஒரு வினவல், நான் எப்படி செய்வது ஒரு கணினி தானாக பிங் செய்வதை நிறுத்தும்போது மற்றது ஐபி மாறுகிறது. என்னிடம் இது உள்ளது.
ஐபி மாற்ற
#! / பின் / பாஷ்
ping -c 10 192.168.1.50 # அது தானாக பிங் செய்யாவிட்டால்
ifconfig eth0 192.168.1.50 நெட்மாஸ்க் 255.255.255.0 ஒளிபரப்பு 192.168.1.0
ifconfig eth0 கீழே
ifconfig eth0 அப்
ஏனெனில் நீங்கள் கேள்விக்குறியைப் பயன்படுத்தினால்? வைப்பதில் என்ன வித்தியாசம் இருக்கிறது? வேறு எந்த கடிதமும்
$? அதாவது 'முந்தைய வெளியீடு', அதாவது முந்தைய கட்டளையின் விளைவாக இருந்தால் ...
அதே முடிவை அடைய மற்றொரு வழி உள்ளது, பிங் கட்டளையை நேரடியாக ஒரு வாதமாக அனுப்பினால்:
ping -c 1 IP-ADDRESS என்றால்; பிறகு
எதிரொலி "ஆம் இது வலையில் உள்ளது"
வேறு
எதிரொலி "பிணையத்தில் இல்லை"
fi
என்ன நடக்கிறது என்றால், நீங்கள் ஒரு வாதமாக அனுப்பும் கட்டளையின் வருவாய் மதிப்பை மதிப்பீடு செய்தால், அது 0 ஐத் திருப்பினால் அது உண்மைதான், வேறு எதுவும் தவறானது. சதுர அடைப்புக்குறிகள் சோதனை கட்டளைக்கு சமம். ஆனால் நீங்கள் எந்த கட்டளையையும் ஒரு வாதமாக அனுப்பலாம் (கட்டளை சில மதிப்பைக் கொடுக்கும் வரை).
வணக்கம், ஸ்கிரிப்ட்டில் ஒரு பயனர் எக்ஸ் உடன் ஸ்கிரிப்ட்.ஷை எவ்வாறு செயல்படுத்துவது?
இதை செய்ய முடியுமா ??
மிகவும் சுவாரஸ்யமானது, நன்றி!
பங்களிப்புக்கு நன்றி, நான் அதை xD புரிந்து கொள்ள ஒரு மணிநேரம் ஆகிவிட்டேன், ஆனால் நான் அதை புரிந்து கொண்டேன் !!!!.
ஸ்கிரிப்ட் நன்றாக உள்ளது. எண்கணிதப்படி, இது பூஜ்ஜியத்திற்கு சமமாக இருந்தால் அது பிணையத்தில் இல்லை, இல்லையெனில் அது பிணையத்தில் உள்ளது ($? == 0). நாம் இன்னும் கொஞ்சம் ஊடாடும் வகையில் இதைச் செய்ய விரும்பினால்:
echo -n ஐபி உள்ளிடவும்:
ஐபி படிக்க
ping -c 1 $ ip
வணக்கம், நான் இதற்கு மிகவும் புதியவன், நான் ஒரு வாசிப்பு மூலம் டிக்கெட் எண்ணை (எண்ணெழுத்து) உருவாக்க முயற்சிக்கிறேன், உள்ளிடப்பட்டவை சரியான வடிவத்தைக் கொண்டிருந்தால் (ஏபிசி -123456) ஒரு "x" கட்டளையை இயக்க வேண்டும் அதை எப்படி செய்வது என்று எனக்குத் தெரியவில்லை, நீங்கள் எனக்கு உதவ முடியுமா?
எதிரொலி "டிக்கெட்டை உள்ளிடுக"
read -p டிக்கெட்
if $ ticket = "தெரியாது (வடிவம் ABC-123456"); பின்னர் cp file.txt $ டிக்கெட்; வேறு "தவறான வடிவம், மீண்டும் முயற்சிக்கவும்"; read -p; fi.
நிச்சயமாக அது பயங்கரமானது, அவர்கள் ஹாஹா என்று சிரிக்கிறார்கள், ஆனால் நான் சொன்னது போல் நான் இதைத் தொடங்குகிறேன்.
நான் மோசமாக விளக்கினால் தயவுசெய்து என்னிடம் சொல்லுங்கள், மேலும் சிறப்பாகச் செய்ய முயற்சிக்கிறேன்.
அனைவரையும் கட்டிப்பிடி.
சிறந்த விளக்கம், வாழ்த்துக்கள்
if, else மற்றும் பிறவற்றில் எனக்கு ஒரு சிறிய சந்தேகம் உள்ளது.
ஒரு கோப்பு இருக்கிறதா (பதிவுகளில் ஒன்று) உள்ளதா என்பதைச் சரிபார்க்க ஒரு ஸ்கிரிப்ட் வேண்டும், இல்லையெனில், அதை உருவாக்கி, பின்னர் அதில் எழுத வேண்டும். ஆனால் அது இருந்தால், நீங்கள் அதற்கு எழுத வேண்டும் என்று நான் விரும்புகிறேன்.
என்னிடம் இருப்பது:
தேதி = `தேதி -ஆர்`
#நான் மாறி தேதியைச் சோதித்துக்கொண்டிருந்தேன், இது தொடங்குவதற்கு இடையில் என்னைப் புதுப்பிக்கவில்லை
#செயல்முறை மற்றும் முடிவடைகிறது, சில சமயங்களில் ஒரு மணிநேரம் கடந்தாலும் சரியான நேரம் வராது.
[-f /home/user/logs/test.log] என்றால்;
பிறகு
/home/usuario/logs/test.log தொடவும்
வேறு
எதிரொலி "$ தேதி: புதுப்பிக்கப்பட்டது" >> /home/user/logs/test.log
எதிரொலி «———————————————-» >> /home/user/logs/test.log
fi
கோட்பாட்டில் இது நன்றாக இருக்க வேண்டும், ஆனால் உண்மையில் குறிப்பிடப்பட்ட கோப்பு ஏற்கனவே இருந்தால் அது புதுப்பிக்கப்படாது
மன்னிக்கவும், அனுப்பவில்லை என்று பார்த்தேன், அது இரட்டிப்பாகிவிட்டது