سلامو 😀
هن ڀيري مان توهان کي ڏيکاريندس ته حالت ۾ هڪ اسڪرپٽ ڪيئن ٺاهجي بش، جيڪو ترجمو ڪيو ويو آهي:
جيڪڏهن ايڪس جيڪو توهان چاهيو ٿا اهو مڪمل ٿيو ، Y ڪم مڪمل ٿي ويو آهي ، جيڪڏهن اهو مڪمل نه ٿيو ته ٻي ڪا ڪارروائي ڪئي وڃي.
سادي وضاحت نه 😀
ھاڻي ، مون ڪجھ منٽن لاءِ سوچيو آھي ڪجھ مثال مون کي ھي سبق ۾ استعمال ڪرڻ جي ، ھيٺيون مشڪوڪ / مسئلو / صورتحال مون تي.
اسان جي ڪمپني جي نيٽورڪ تي آهيون ، ۽ اسان toاڻڻ چاهيون ٿا ته ايڪس ڪمپيوٽر نيٽورڪ سان ڳن isيل آهي. ان لاءِ اسان ٺاهيندا آهيون رسم الخط هي ڇا ڪندو اوباما انهي ڪمپيوٽر ڏانهن ، ۽ جيڪڏهن اهو نيٽ ورڪ تي آهي (يعني ، جيڪڏهن اهو موٽندو اوباما) اسان کي ٻڌائيندو ته ها ، اهو نيٽورڪ تي آهي ، ٻي صورت ۾ (اهو آهي ، اهو نيٽ ورڪ تي نه آهي) اهو اسان کي ٻڌائيندو ته اهو نيٽورڪ تي ناهي.
هڪ دفعو اهو ٿي چڪو آهي ، هاڻي آئون بيان ڪندس ته حالتن سان چال ڪيئن ڪجي 🙂
هتي ڪوڊ آهي:
ping -c 1 DIRECCION-IP
if [ $? -ne 0 ]; then
echo "No está en red"
else
echo "Sí está en red"
fi
پريشان نه ٿيو ، مان توهان کي هن بابت تفصيل سان ٻڌائيندس 😉
اوباما اهو حڪم آهي جيڪو اسان استعمال ڪنداسين ، ۽ اهو اسان کي ٻڌائيندو ته جيڪڏهن اهو پي سي نيٽورڪ تي آهي. ٻڌائڻ لاءِ ته ڪهڙو پي سي اسان چيڪ ڪرڻ چاهيون ٿا ته اهو نيٽورڪ تي آهي يا نه ، اسان کي تبديل ڪرڻ گهرجي پي ايڊريس واضح طور تي پي سي جو IP پتو جنهن کي اسان چيڪ ڪرڻ چاهيون ٿا.
جئين توهان ڏسي سگهو ٿا ، مون وجهي ڇڏيو «-سي 1«، جيڪو اسان لاءِ ضروري آهي. جڏهن اسان ڪمپيوٽر کي پنگ ڪندا آهيون ، اهو عمل تيستائين رڪاوٽ نه ڪندو آهي [ڪيٽرل] + [سي]، انهي ڪري «-سي 1»اسان توهان کي ٻڌايو ته صرف هڪ تصديق (صرف هڪ پنگ ڪوشش) ۽ ٻيو ڪو نه ، اهو انهي کي فوري طور تي روڪي ڇڏيندو ، اهو آهي ... اهو چيڪ ڪنديون ته ڪمپيوٽر صرف هڪ ڀيرو نيٽورڪ تي آهي.
جيڪڏهن توهان کي انهي بابت ڪا شڪايت آهي ، نه درد ... اهي ائين چوندا آهن ۽ مان خوش ٿي ڪريان انهن کي ٻيهر بيان ڪندي 😉
هاڻ چڪر اچي ٿو ، ڇاڪاڻ ته جيڪو ڪجهه مون بيان ڪيو ئي عام حڪم / عمل کان وڌيڪ ڪجهه ناهي 😀
if [ $? -ne 0 ]; then
echo "No está en red"
else
echo "Sí está en red"
fi
ته جيئن توهان اهو سمجهي ، مان بش جي هڪ انتهائي اهم تفصيل جي وضاحت ڪندس
موضوع جو سڀني کان وڌيڪ ableاڻڻ وارو مون کي غلط يا انهي وانگر ڪجهه سٺو ٿي سگهي ٿو ، پر اي ، مان اهو ناول يا گهٽ ماهرن لاءِ لکندو آهيان ، جيستائين ان کي سمجهندا آهن پوءِ وڏي ٿي 😉
اهو ٿئي ٿو جيئن جئين بش اهو ڪجهه هن وانگر آهي 0 y 1، اهو آهي ، يا ته توهان زنده آهيو يا توهان مري ويا آهيو ، جڏهن هڪ حڪم يا عمل جاري آهي: يا ته چedي ريت عمل ڪيو ڪو مسئلو ناهي (1، يا هتي ڪجهه هو مسئلو يا غلطي (0).
اسان ايڪس ايڪشن يا حڪم جاري ڪيو ، ۽ جيڪو اسان ڪيو هو چ wellو يا خراب طريقي سان ڪيو پيو وڃي ، شايد انهي ۾ غلطي هجي يا نه هجي ، ۽ هي آهي ته هتي تفصيل ڪٿي آهي 😉
جيڪڏهن اسان ڇا ڪرڻ لاءِ موڪليو ٿا (هن صورت ۾: پنگ-سي 1 IP- ايڊريس) ھڪ غلطي نه ڏني ۽ اھو ڪامياب ٿي ويو ، تنھنڪري اھو قدر واپس آڻيندو: 1 . ٻي صورت ۾ ، ۽ جيڪڏهن عمل (يعني ، پنگ) ڪامياب نه ٿيو ، اهو قدر واپس ڪري سگهندو 0.
۽ آخرڪار ، مٿي ڏنل ڪوڊ جو مطلب هي آهي:
جيڪڏهن ويليو 0 موٽي ويو ته پوءِ
متن ڏيکاريو: «نيٽ ورڪ تي نه»
ٻي صورت ۾ (۽ نه 0 ، پر 1 موٽجي ٿو)
متن ڏيکاريو: «جيڪڏهن اهو نيٽورڪ ۾ آهي«
هي جيڪو مون صرف توهان کي ٻڌايو آهي ، ڪيترن ئي شين جي لاءِ مستقبل ۾ اسان جي خدمت ڪندو ، ڇو ته اهو چوڻ ۾ واقعي فائدي جي ڳالهه ٿي هوندي ته جيڪڏهن ايڪس ايڪشن هڪ غلطي ڏني ، يو ايڪشن ڪيو ، ۽ جيڪڏهن ايڪس ايڪشن نه ڏني ته غلطي ، Z کي عمل ڪرڻ ڏيو.
آئون thatاڻان ٿو ته ڪجهه شايد ڪجهه مونجهارو وڃايو آهي ، تنهنڪري مون ان کي ڪيترن ئي مختلف طريقن سان بيان ڪرڻ جي ڪوشش ڪئي ، هر ڪنهن کي هڪٻئي سان سمجهڻ جي ڪوشش ڪرڻ جي ڪوشش ڪئي. جيڪڏهن ڪنهن کي شڪ ۾ رهجي ويو هجي ، مون کي ٻڌايو.
هاڻي ، اچو ته پنهنجو اسڪرپٽ ٺاهيو make
اسان کي هن سبق ۾ سيزن جي پيروي ڪرڻ گهرجي. بش: ايگزيڪيوٽو اسڪرپٽ ڪيئن ٺاهيو
اچو ته هيٺ ڏنل ڪوڊ کي ان فائل ۾ ڪاپي ڪريون (اسڪرپٽ) ، ۽ آخر ۾ اچو ته چوندا آهيوننڪرڻ»(حوالن کان سواءِ):
ping -c 1 DIRECCION-IP
if [ $? -ne 0 ]; then
echo "No está en red"
else
echo "Sí está en red"
fi
انهي کي انهي وانگر ڏسڻ گهرجي (ياد رکڻ گهرجي ته انهن IP جي ايڊريس کي ان IP ۾ تبديل ڪيو هجي جيڪي چاهين ٿا):
هتي توهان هلندڙ رسم الخط ڏسي سگهو ٿا:
٪٪ ڪوڊ
جئين توهان ڏسي سگهو ٿا ، آخر ۾ هو اسان کي ٻڌائي ٿو «ها اهو نيٽورڪ ۾ آهي»🙂
هتي اهم ڳالهه اها آهي ته توهان اصل ۾ هن شرطن بابت سمجهو ، تنهنڪري آئون توهان کي ٻيهر بيان ڪرڻ لاءِ ڪو ٻيو ڪوڊ ڇڏيان ٿو ، پر هڪ ٻئي نقطي نظر کان.
read "texto"
if [ "$texto" = "3" ]; then
echo "Correcto"
else
echo "Incorrecto"
fi
هي ڇا مطلب آهي سادو ، آئون وضاحت ڪري ڇڏيو لڪير جي لحاظ کان:
پهرين لائن جيڪو اسان لکون ٿا ، اهو متغير جي قدر ٿيندو «texting»(چوڻي کان سواءِ).
ٻي لڪير: چيڪ ڪيو ته متغير جو مواد (جيڪو اسان صرف لکيو آهي) آهي 3.
پهرين لائن هئڻ جي صورت ۾ 3، اهو اسان کي متن ڏيکاريندو.درست آهي»(چوڻي کان سواءِ).
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
هتي اهو رسم الخط ڪئين ڪم ڪري ٿو:
٪٪ ڪوڊ
۽ چ ...و ... شامل ڪرڻ لاءِ ٻيو ڪجھ به ناهي.
اها هڪڙي ابتدائي آهي ، سادو ها ، پر پوءِ به مون ان کي سٺي طريقي سان وضاحت ڪرڻ جي ڪوشش ڪئي ، ڇاڪاڻ ته نه هر ڪنهن وٽ پروگرامر جي روح آهي ، ۽ اسان کي ڪيترائي ڀيرا اهڙا اسڪرپٽ (يا ساڳي طرح) ٺاهڻ گهرجن ، ڪنهن به صورت ۾ آئون. اميد ته اھو آرٽيڪل توھان لاءِ ڪارآمد ٿيندو 🙂
ڪا به شڪايت ، سوال ، شڪايت يا صلاح مهرباني ڪري ، هتان ڇڏي ڏيو ، مان توهان کي خوشيءَ سان جواب ڏيندس ۽ اهڙي طرح ، اسان سڀئي ڪجهه وڌيڪ سکون ٿا 😀
اقتباس سان جواب ڏيو
26 تبصرا ، پنھنجو ڇڏ
تون هڪ پرو آهين !!! * يا *
نه ڪجھ به ناهي 😀
جيڪڏهن اهو توهان جي خدمت ڪئي ۽ اهو دلچسپ آهي ، مان مطمئن آهيان 😉
سلام دوست
@ KZKG ^ گارا ،
بيش پروگرامنگ بابت ڳالهائيندي مون وٽ هڪ سوال آهي:
انهي VAR وانگر هلائيندڙ اعلان ڪرڻ جي وچ ۾ ڇا فرق آهي = هيلو ۽ هن کي اهڙي VAR = اعلان ڪندي $ VAR = $ {VAR: -hello}؟
مان وضاحت ڪريان ٿو:
http://pastebin.com/a3cfWXeD
مبارڪون 😉
سلامو 😀
ٺيڪ ، مان بيش ۾ ماهر نه آهيان ... اصل ۾ ، مون کي ڪوبه خيال نه آهي LOL !!
جئين آئون متغيرات بيان ڪريان ٿو اهو هن طرح آهي:
: ${OPTFOLDER:="/opt/"}
پر ڇاڪاڻ ته مون هميشه اهو پسند ڪيو ، مون کي خبر ناهي ته ڪهڙو فرق ايمانداري سان ٿي سگهي ٿو 🙁
@ KZKG ^ گارا
خير مون سوال ڪيو ڇو ته سچ اهو آهي ته مون کي نه سڃاتو ، مان عام طور تي سليڪ بلڊس لکندو آهيان ۽ سچ اهو آهي ته متغير بيان ٿيل جيئن VAR1 ۾ ظاهر ٿيل آهن انهن رسم الخط ۾. هڪ جلدي گوگل سرچ انهي سوال کي واضح ڪرڻ ۾ مدد ڪئي ، آئون سڀني سان حصيداري ڪريان ٿو ته جيئن اسان سڀ سکڻ سکون:
اسڪرپٽ:
http://pastebin.com/faAQb35w
وضاحت:
فارم جي متغير کي اعلان ڪرڻ VAR = $ {VAR: -default_value} انهي جو مطلب آهي ته متغير VAR ويليو ڊيفالٽ_ ويليو کي وٺندو جيڪڏهن ۽ صرف جيڪڏهن قدر خالي يا موجود نه هوندو.
عملي مثال
جڏهن اسڪرپٽ کي عمل ڪندي ، اهو ويليو VAR ۾ ذخيرو ڪرڻ لاءِ قيمت داخل ڪرڻ لاءِ پڇندو آهي ، جيڪڏهن ڪا شي داخل ڪئي وئي آهي اهو ڏيکاريندو ته ان کي ڇا داخل ڪيو ويو هو. جيڪڏهن اسان ڪجهه داخل نه ڪيو ۽ داخل ڪريو دٻايو ٿا اسان متغير VAR کي رد ڪري رهيا آهيون ، تنهن ڪري اهو ڊفالٽ_ ويليو ڏيکاري ٿو.
مهرباني
هاه مون کي خبر نه هئي 😀
ٺيڪ ، توهان جي وڏي مهرباني مهرباني ... انهي جو مطلب آئون مضمون جي آخر ۾ چوندو آهيان ، مون کي ڪجهه سيکارڻ جو ارادو ناهي ۽ بس ، مان thatاڻان ٿو ته مان هتي هميشه ڪجهه نئون سکندس
سلام ۽ مهرباني هڪ ڀيرو ٻيهر.
توهان صحيح آهيو ، هڪ هتي ڪيترائي سکڻ سکي ٿو.
سلام ۽ موڪلن جون خوشيون !! 😀
ڏا goodو سٺو ۽ شاندار نموني بيان ڪيو +1 ، اهو وقت توهان کي وٺي ويندو.
پر مان ڪوشش جي قابل آهيان 😉
مون اصل ۾ 80٪ فقط 1 ڏينهن ۾ لکيو ، اهو مون کي موڪلڻ ۾ گهڻو وقت لڳي ويو ڇاڪاڻ ته منهنجو انٽرنيٽ مون کي اجازت نه ڏيندو.
اوهان جي مهرباني جي مهرباني 😉
ان کي ڪرڻ جو هڪ ٻيو طريقو ڊي ايس اين استعمال ڪيو پيو وڃي ، ڇاڪاڻ ته ڪڏهن ڪڏهن نيٽ ورڪ ICMP پروٽوڪول کي روڪيندي آهي:
(ميزبان -ta IP-ADDRESS> / dev / null 2> & 1) & & echo "نيٽ ورڪ سان ڳن "يل"
توهان اهو به محسوس ڪنداسين ته هن مثال ۾ واپسي جي قيمت چيڪ بي مثال آهي 😉
توهان هميشه دوست آهيو ، انهن صلاحن سان جيڪي آئون مڪمل طور تي AHاڻان ڪونه هوندو.
توهان جي مهرباني ، راءِ کي ساراهيو ويو آهي ۽ هو ... هڪ ٻي نئين شيءَ جيڪا آئون سکندو آهيان I
Gracias
🙂
جيتوڻيڪ انهي موضوع جي اشاعت کي ڪيترائي ڏينهن گذري چڪا آهن ، ان منهنجي تمام گهڻي خدمت ڪئي ، هاڻ ته آئون بش ۾ اسڪرپٽ ٺاهي چڪو آهيان .. مهرباني گاءِ ..
ڊاڪ. مدد لاءِ مهرباني توهان مون لاءِ شيون واضح ڪيو.
صرف هڪ سوال ، مان ڪيئن ڪري سگهان ٿو جڏهن هڪ ڪمپيوٽر پاڻ کي ping ڪرڻ ڇڏي ڏيندو آهي ٻئي تبديليون IP. مون وٽ اهو آهي.
IP بدلائڻ
#! / بن / بيش
پنگ-سي 10 192.168.1.50 # جيڪڏهن اهو پاڻمرادو پنگ نه ٿئي
ifconfig eth0 192.168.1.50 نيٽ ماسڪ 255.255.255.0 نشر 192.168.1.0
ifconfig eth0 ھيٺ
ifconfig eth0 مٿي
ڇاڪاڻ ته جيڪڏهن توهان سان سوال جي نشان جو استعمال ڪيو ويندو آهي ته مقابلو ڪرڻ؟ لڳائڻ ۾ فرق ڇا آهي؟ ڪو ٻيو خط
$؟ مطلب 'پوئين شي يا محصول' ، اهو آهي ، اڳوڻي حڪم جو نتيجو ... 🙂
ساڳيو نتيجو حاصل ڪرڻ جو هڪ ٻيو طريقو آهي ، پنگ ڪمانڊ سڌو سنئون دليل طور پيش ڪيو وڃي ته جيڪڏهن:
جيڪڏهن پنگ-سي 1 IP-ADDRESS ؛ پوءِ
گونج ”ها اهو نيٽ تي آهي“
هم عصر
گونج "نيٽورڪ تي نه"
fi
ڇا ٿئي ٿو اهو آهي ته جيڪڏهن ان حڪم جي واپسي جي قيمت جو اندازو لڳايو جيڪو توهان دليل جي طور تي گذري ٿو ، جيڪڏهن اهو 0 موٽائي ٿو ته اهو صحيح آهي ، ٻي ڪا شي باطل آهي. چورس بریکٹ ٽيسٽ ڪمانڊ جي برابر آهن. پر توهان ڪنهن حڪم کي دليل طور منظور ڪري سگهو ٿا (جيستائين حڪم ڪجهه قدر واپس ڪري).
هيلو ، آئون اسڪرپٽ ۾ ڪيئن يو ايڪس ايڪس کي اسڪرپٽ ۾ استعمال ڪندو آهيان ، مان صارف يو ٺاهي وٺندو آهيان ، ۽ اهو يوزر اسڪرپٽ.sh تي عمل جاري رکندو آهي.
ڇا ڪري سگهجي ٿو؟
تمام دلچسپ ، مهرباني!
ڀاڳ ونڊڻ جي مهرباني ، مان هن کي XD سمجھڻ لاءِ هڪ ڪلاڪ ٿي چڪو آهي ، پر مان اهو سمجهي ويس !!!!
رسم الخط تمام سٺو آهي. عددي طور تي ، اهو پڻ ڪري سگھجي ٿو جئين ($؟ == 0) جيڪڏهن اهو صفر جي برابر آهي ته اهو نيٽورڪ تي نه آهي ، ٻي صورت ۾ اهو نيٽورڪ تي آهي. ۽ جيڪڏهن اسان اهو اڃا وڌيڪ ٿورو وڌيڪ ڳنactiveڻ چاهيون ٿا ، اسان چئي سگهون ٿا:
گونج-اين پي داخل ڪريو:
آءِ پي پڙهو
پنگ -c 1 $ ايپي
هيلو ، آئون ان لاءِ بلڪل نئون آهيان ، مان پڙهي رهيو آهيان ٽڪيٽ نمبر ٺاهڻ (الفاانوميرڪ) پڙهڻ جي ذريعي ۽ مان چاهيان ٿو ته جيڪڏهن ڇا داخل ڪيو ويو آهي صحيح فارميٽ (ABC-123456) عمل ڪريو x knowاڻ ته ان کي ڪيئن ڪر ، ڇا تون منهنجي مدد ڪري سگھين ٿو؟
گونج ”ٽڪيٽ داخل ڪريو“
پڙهڻ واري ٽڪيٽ
جيڪڏهن $ ٽڪيٽ = "ڪوبه خيال ناهي (شڪل ABC-123456") ؛ پوءِ cp file.txt $ ٽڪيٽ ؛ ٻي صورت ۾ ”غلط فارميٽ ، ٻيهر ڪوشش ڪريو“ جي گونج آهي پڙهائي -p؛ في.
اها پڪ آهي ته اها خوفناڪ آهي ۽ اهي هنسائيندا آهن ، پر مون وانگر چيو آئون صرف انهي سان شروع ڪري رهيو آهيان.
جيڪڏھن مان خراب سمجھان ٿو ته ضرور ٻڌاءِ ۽ آئون بهتر ڪرڻ جي ڪوشش ڪندس.
سڀني کي گولي ڏيو.
بهترين وضاحت ، سلام
مون کي ٿورو شڪ آهي if، else ۽ ٻين سان.
مان هڪ اسڪرپٽ چاهيان ٿو چيڪ ڪرڻ لاءِ ته هڪ فائل موجود آهي (لاگ مان هڪ) ۽ جيڪڏهن نه، ان کي ٺاهڻ لاءِ ۽ بعد ۾ ان تي لکو. پر جيڪڏهن اهو موجود آهي، مان چاهيان ٿو ته توهان صرف ان تي لکو.
مون وٽ ڇا آهي:
تاريخ = `تاريخ -آر`
# مان متغير تاريخ جي جانچ ڪري رهيو هوس، جيڪو شروع ڪرڻ جي وچ ۾ مون کي اپڊيٽ نٿو ڪري
# عمل ۽ ختم ٿئي ٿو، ڪڏهن ڪڏهن هڪ ڪلاڪ گذري سگهي ٿو ۽ صحيح وقت نه ٿو اچي.
جيڪڏهن [-f/home/user/logs/test.log]؛
پوء
ٽچ ڪريو /home/usuario/logs/test.log
هم عصر
گونج "$ تاريخ: اپڊيٽ ٿيل" >> /home/user/logs/test.log
گونج «——————————————-» >> /home/user/logs/test.log
fi
نظريي ۾ اهو ٺيڪ هجڻ گهرجي، پر حقيقت اها آهي ته اها اپڊيٽ نه ڪئي وئي آهي جيڪڏهن حوالو فائل اڳ ۾ ئي موجود آهي
معاف ڪجو، مون ڏٺو ته اهو نه موڪليو ويو هو ۽ اهو ٻيڻو ٿي ويو آهي