بش ۾ پروگرامنگ - حصو 1

جڏهن اسين عام طور تي ان کي انتظامي يا فائيل جي انتظام جي عملن لاءِ استعمال ڪندا آهيون ڪنسول de لينڪس انهي جي ڪارڪردگي کي انهي مقصد کان پري وڌائي ٿو ، اسان کي پروگرام ڏيڻ جي اجازت ڏني لکتون اسان جي ضرورتن مطابق. هي گائيڊ بِش ۾ پروگرامنگ تي مڪمل ريفرنس جو ارادو نه آهي ، بلڪه بنيادي ڪمن ۽ toانچي جو هڪ تعارف آهي ، جيڪو اسان کي اسان جي جي اين يو / لينڪس سسٽم جي طاقت کي وڌائڻ جي اجازت ڏيندو.

هڪ ”اسڪرپٽ“ ڇا آهي؟

بنيادي طور تي اسان اهو چئون ٿا ته اها هڪ فائل آهي جنهن ۾ ڪوڊ جي مخصوص پروگرامنگ ٻولي ۾ لکيل آهي جيڪا سسٽم ڪنهن خاص ڪم لاءِ استعمال ڪري ٿو. ان کي خارجي انٽ يا گرافڪ انٽرفيس ڪرڻ جي ضرورت ناهي ، پر اهو انهي لاءِ پروسيس ٿيل ڊيٽا جي پيداوار جو سبب بڻائڻ جي ضرورت آهي (توڙي جو صارف انهن کي نٿو ڏسي).

بش جو استعمال ڪيل ٻولي پنهنجي تشريح ڪندڙ طرفان بيان ڪئي وئي آهي ۽ ٻين شيلس جي نحو کي گڏ ڪري ٿي ، جهڙوڪ ڪارن شيل (ڪيش) يا ڪي شيل (csh). ڪيترا ئي حڪم جيڪي عام طور تي ڪنسول ۾ استعمال ڪيا ويندا آهن لکن ۾ به استعمال ٿي سگھن ٿا ، سواءِ اهي جيڪي خاص طور تي هڪ خاص تقسيم سان تعلق رکن ٿا.

هڪ رسم الخط جي جوڙجڪ

شروع ڪرڻ لاءِ اسان وٽ هڪ ٽيڪسٽ ايڊيٽر ۽ پروگرام جي خواهش هجڻ گهرجي. فائلون جيڪي اسان .sh ايڪسٽينشن سان محفوظ ڪنديون آهن اهي ڪنسول ذريعي انجام ڏيون وينديون آهن.

#! / بن / بيش

اهو سسٽم کي ٻڌائي ٿو ته فائل هلائڻ لاءِ ڪنسول استعمال ڪريو. ان سان گڏ # ڪردار توهان کي راءِ لکڻ جي اجازت ڏي ٿو. آسان مثال ٺاھڻ لاءِ اسان ھڪ وڌيڪ لائن شامل ڪئي ، جيڪا ھيٺ ڏنل تصوير ۾ ڏٺي وئي.

گونج ڪمانڊ اسڪرين تي هڪ پيغام ظاهر ڪندو آهي ، انهي صورت ۾ عام "هيلو دنيا!" جيڪڏھن اسان ان کي بچايو ۽ ان کي ڪنسول سان عمل ڪيو ته اسان نتيجو ڏسندا.

بنيادي حڪم

ھيٺ ڏنل حڪم عام آھن ۽ ڪنھن به قسم جي پروگرام لاءِ تمام ڪارآمد آھن. اسان واضح ڪيو ته ٻيا ڪيترائي ٻيا آهن ، پر هينئر تائين اسان هيٺ ڏنل ڳالهين جو احاطو ڪنداسين.

Aliases: لفظن جي هڪ اسٽرنگ کي نن oneڙي بدلائڻ جي اجازت ڏيندو آهي ، ڪوڊ گهٽائڻ جي اجازت ڏيندو آهي.

# ٺاھيو ھڪڙو عرف ٺاھيو ويو جنهن کي # ڊاؤن لوڊ فولڊر عرف جي پتي سان = "/ گهر / صارف / ڊائونڊس" # ھر وقت اسين ان کي استعمال ڪرڻ چاھيو ٿا اسان کي صرف # نئون لفظ في # گھرائڻ لاءِ ان عرف کي ختم ڪرڻ لاءِ ، اسان استعمال ڪجو ڪريو

وقفو: توهان کي فوري طور تي ٻاهر نڪرڻ جي اجازت ڏي ٿو ، جڏهن ته ، لوپ تائين يا چونڊڻ (اسان تفصيلي طور تي لوپ جو مطالعو ڪنداسين)

# هڪ لوپ ٺاهيو جيڪو 1 کان 5 تائين انگن کي تفويض ڪندو # هر لاءِ “لوپ جو موڙ” 1 2 3 4 5 ۾ ڪاؤنٽر لاءِ # اسان متغير # موجوده ڪيئيٽر کي پرنٽ ڪندا آهيون ، جنهن جو تجزيو ڪيو ويو آهي ڪردار $ گونج “ $ انسائيڪٽر # # جيڪڏهن مقابلو برابر آهي 3 جي برابر جيڪڏهن [$ ڪائونٽر –ايڪ 3] ته پوءِ # وقفي وقفو فيل ٿيڻ لاءِ لوپ خارج ٿئي ٿو

جاري رکو - ڀڃڻ لاءِ ساڳي آهي ، سواءِ ان جي ته اها موجوده لوپ کي نظرانداز ڪري ايندڙ کي ڏانهن ڇڏي ٿي.

# هڪ لوپ ٺاهيو جيڪو 1 کان 5 تائين انگن کي تفويض ڪندو # هر هڪ لاءِ “لوپ جو موڙ” 1 2 3 4 5 میں کاونٹر کے لیے # اگر کاؤنٹر قدر 3 کے برابر ہے اگر [$ کاؤنٹر –ق 3] تو # جاري رکو ايندڙ دور کي جمپ ڪرڻ سان باقي # موجوده دور کي تجزيي کان روڪي ٿو ، يعني # ويليو 3 ڇپائي نه سگهندو. جاري رکو في گونج “$ ڪائونٽر“ ڪيو ويو

اعلان: متغيرات بيان ڪري ٿو ۽ انهن کي قدر مقرر ڪري ٿو ، بس ٽائپ وانگر (اهي ساڳئي طريقي سان ڪم ڪن ٿا) اسان انهي کي ڪجهه اختيارن سان ملائي سگهون ٿا: -ا انٽيگرس جو اعلان ڪري ٿو ؛ -r صرف پڙهڻ وارن متغيرن لاءِ ، جن جي ويليو تبديل نه ٿي ڪري سگھجي ؛ – بندي لاءِ يا ”arrays“ لاءِ ؛ ڪم لاء ؛ -x ڪي متغيرن لاءِ جيڪي ”برآمد ٿي سگهي ٿو“ خود اسڪرپٽ جي ماحول کان ٻاهر.

اعلان –ان نمبر = 12 اعلان –ڪس پائي = 3.14

help: هڪ خاص حڪم لاءِ مدد ڏيکاري ٿو.

نوڪريون: هلندڙ عملن کي ڏيکاري ٿو.

# انهي سان گڏ اسان هر عمل جي --p # پيڊ (پروسي آئي ڊي) سان ڏنل حڪمن جو نالو ڏيکاريندا آهيون. نوڪريون-سي پي

Let: هڪ رياضياتي اظهار جو جائزو وٺو

اچو ته = 11 اچو a = a + 5 # آخرڪار اسين قدر جي ڇپائي ڪريون جيڪا 16 گونج ”11 + 5 = $ a“

مقامي: مقامي متغيرات ٺاهيو ، جيڪي غلطين کان بچڻ لاءِ خود رسم الخط جي افعال ۾ استعمال ڪيا وڃن. توھان اعلى ڪم ڪري سگھوٿا اعلى حڪم طور استعمال ڪريو.

مقامي v1 = "هي هڪ مقامي متحرڪ آهي"

ڪم ڇڏڻ: هڪ شيل کان مڪمل طور تي نڪرڻ جي اجازت ؛ ڪيسن لاءِ مفيد آهي جتي اسان هڪ کان وڌيڪ شيل ونڊوز سان ڪم ڪندا آهيون ، جن ۾ نڪتل ڪمانڊ صرف هڪ ونڊو کي هڪ وقت ۾ ختم ڪرڻ جي اجازت ڏيندو.

printf: توهان کي ڊيٽا پرنٽ ڪرڻ ۽ انهي کي شڪل ڏيڻ جي اجازت ڏئي ٿي. ان جا ڪيترائي آپشن آهن ، ان ڪري اسان ڪجھه ذڪر ڪنداسين.

#٪ f پرنٽ ٿيندڙ نمبر جي طور تي ، نون لاءِ نئون # لائن پرنٽ ايف “٪ fn” 5 5.000000 # & d ڊيمل نمبر کي دليل طور اجازت ڏي ٿو دليل طور پرنٽف “٪ d آرڊر ويلز آھن٪ d ڊالر. n" 20 500 هتي 20 آرڊر جي قيمت آھن 500 ڊالرن.

پڙهو: معياري لڪير مان هڪ لائين پڙهو (مثال طور ڪيبورڊ ذريعي ڊيٽا لوڊ ڪرڻ ۾ استعمال ٿيل ماڊل) اسان اختيار پاس ڪري سگھون ٿا جهڙوڪ: -t پڙهڻ جي حد جو وقت ڏيڻ لاءِ؛ جيئن ته هر لفظ Aname array ۾ پوزيشن لاءِ مقرر ڪيو ويو آهي. -ايم محدود ڪرڻ وارو استعمال ڪرڻ لاءِ جيڪو ليڪ جي آخر ۾ لکيو ويندو. ٻين جي وچ ۾.

گونج ”پنهنجو نالو داخل ڪريو ۽ ENTER پريس ڪريو“ # پڙهو متغير نالي وارو نالو گونج ”پنهنجو نالو $ نالو“

قسم: هڪ حڪم ۽ ان جي رويي کي بيان ڪري ٿو. اهو هر حڪم لاءِ ڊيٽا جي وضاحت معلوم ڪرڻ مفيد ٿي سگهي ٿو.

type –a '[' # ٽائيپ اسان کي ٻڌائي ٿو ته [هڪ شيل بلٽائن ڪمانڊ آهي [هڪ شيل بلٽائن آهي # -ا هڪ ڊائريڪٽريٽ ڳولڻ جي اجازت ڏي ٿو جيڪو # لکيل نالي سان ايگزيڪيوٽو ٿئي ٿو] [آھي / يوٽر / بن / [

ايليمٽ: پروسيس تائين خاص سسٽم جي وسيلن جي رسائي ۽ استعمال کي محدود ڪري ٿو ، پروگرامن لاءِ مثالي آهي جيڪي انتظامي تبديلين جي اجازت ڏين ٿا يا جيڪي مختلف قسمن جي استعمال ڪندڙن جو مقصد آهن. حد مقرر ڪرڻ وقت اسان هڪ انگ لکون ٿا جيڪو حد جي ڪلووبائٽس جي نمائندگي ڪري ٿو.

# اسان ڏسو اسان جون موجوده حدون ulimit - a # -f صارفين کي محدود ڪرڻ جي اجازت ڏي ٿو ته # 512000 ڪيب (500 #Mb) کان وڏي فائلون ٺاهي نه سگھنديون. اڪيلو-وي 512000

رکو: انتظار ڪرڻ هڪ خاص عمل يا نوڪري لاءِ اڳتي وڌڻ لاءِ.

# اسڪرپٽ پيڊ # 2585 واري عمل کي الوداع ڪري رهي آهي

2585 ​​انتظار ڪريو

ٻيا مفيد حڪم جيڪي اسان اسڪرپٽ ۾ شامل ڪري سگهون ٿا ، علامت جي طور تي ڏيکاريل آهن.

!!: ٻيهر آخري حڪم هلائي

وير: آخري حڪم تي عمل ڪيو ويندو آهي جيڪو “وار” جي اظهار سان شروع ڪيو ويو آهي.

'=='، '! ='، '>'، '<'، '> ='، ۽ '<=': واسطيدار آپريٽر.

|: او آر آپريٽر عام طور تي ٻن باقاعده اظهارن ۾ شامل ٿيندو هو.

: فرار جو حڪم جيڪو توهان کي اظهار ڪرڻ جي اجازت ڏئي ٿو. مثال طور: هڪ آواز الرٽ لاءِ ، نون لائن لاءِ ، ب اسپيس اسپيس لاءِ ، وغيره

جوآن ڪارلوس اورتيز توهان جي مهرباني!

مضمون جو مواد اسان جي اصولن تي عمل ڪري ٿو ايڊيٽوريل اخلاقيات. غلطي ڪلڪ ڪرڻ جي رپورٽ لاءِ هتي.

10 تبصرا ، پنھنجو ڇڏ

پنهنجي راءِ ڏيو

پنهنجي اي ميل ايڊريس شايع نه ڪيو ويندو. گهري شعبن سان لڳل آهن *

*

*

  1. ڊيٽا جو ذميوار: Miguel Ángel Gatón
  2. ڊيٽا جو مقصد: ڪنٽرول سپيم ، تبصرو جي انتظام.
  3. سازش: توهان جي رضامندي
  4. ڊيٽا جي ابلاغ: ڊيٽا کي قانوني ذميواري کانسواءِ ٽئين پارٽين تائين رسائي نه ڏني ويندي.
  5. ڊيٽا اسٽوريج: ڊيٽابيس اويسينٽس نيٽورڪ (اي يو) پاران ميزباني ڪيل
  6. حق: ڪنهن به وقت توهان پنهنجي معلومات کي محدود ، ٻيهر ۽ ختم ڪري سگهو ٿا.

  1.   وچولو مشڪل چيو

    زبردست! بهرحال ، 2 تبصرا: اوبنٹو ٽيگ اڌ تمام گهڻو آهي ، جئين اهو عام طور تي ڪجهه ڪندو آهي. ۽ جيڪڏهن اهي سبق پرهيز جاري رهي ، سٺو هجي جيڪڏهن اهي هڪ ٻئي سان ڳن areيل هجن….
    انهي کان سواء ، هي حرڪت دلچسپ آهي!

  2.   اچو ته لينڪس استعمال ڪريو چيو

    سٺو تعاون زبردست!

  3.   جيوواني ايسڪوبار سوسا چيو

    صرف انهن لاءِ گم ٿيل حوالا آهن جيڪي معاملي ۾ وڌيڪ آڻڻ چاهيندا آهن. ڪجھ سٺو ، جيتوڻيڪ اسان جي ملڪن ۾ ڳولڻ آسان ناهي
    - لينڪس ڪمانڊس ، ايڊيٽرن ، ۽ شيل پروگرامنگ لاءِ عملي گائيڊ ، مارڪ سوبيل (باب 8)
    - پرو بش پروگرامنگ ، ڪرس ايف جانسن (جيتوڻيڪ اهو انهن لاءِ آهي جن وٽ ٻيا حوالا آهن يا ٿورو وڌيڪ )اڻ رکيا آهن).

    سٺو مضمون.

  4.   اچو ته لينڪس استعمال ڪريو چيو

    سٺي تاريخ توهان جي مهرباني!

  5.   پيٽريا ڊورانتس جمارني چيو

    : @ "لاگ ان جئين" فنڪشن منهنجي پوئين راءِ کي حذف ڪري ڇڏيو ، تنهن ڪري آئون ان کي وڌيڪ خلاصه ڪندس:
    نوڪريون-سي پي
    بش: نوڪريون: -سي: غلط اختيار
    نوڪريون: استعمال: نوڪريون [-lnprs] [jobspec…] يا نوڪريون -x حڪم [args]

    -eq -gt -lt فيصلن جي پوائنٽ جي متغيرات کي قبول نه ڪري ، فورم ۽ فورم جي وچ ۾ مون اهو معلوم ڪيو ته بي سي هڪ سٺو اتحادي آهي.
    جيڪڏهن ["گونج 9.999،10> 1 | بي سي -ايڪ XNUMX] ؛ پوءِ
    گونج "9.999،10 XNUMX کان وڌيڪ آهي ، پڪ ڪريو ته توهان جو پروسيسر اڃان ڪم ڪري رهيو آهي."
    هم عصر
    گونج «9.999،10 XNUMX کان وڌيڪ نه آهي ، هر شي عام طور تي ڪم ڪري ٿي
    fi

  6.   نه برو بروڪلن چيو

    هي اشاعت بيش اسڪرپٽ جي سڀني عام خوبين کي خلاصي سان پيش ڪري ٿو.
    http://www.aboutlinux.info/2005/10/10-seconds-guide-to-bash-shell.html

    هن سائيٽ تي توهان هاشم خاصيتن بابت ڪيترائي سوال ۽ جواب ڳوليندا.
    http://unix.stackexchange.com/questions/tagged/bash

    ھتي ڪجھ آھن سٺا لکتون ، ۽ اي ، توھان انھن کي سکڻ وارا سکيو ٻين ماڻھن جي اسڪرپٽ سان.
    http://snipplr.com/search.php?q=bash&btnsearch=go

  7.   نه برو بروڪلن چيو

    توهان جيڪو ڪجهه چئو ٿا ان سان توهان صحيح آهيو ، سواءِ شڪ جي. هر سسٽم جنهن ۾ مون ڏٺو آهي اها بينش / بن / ڊش ۾ آهي.

    پر پٿن ، پرل ، ڪوبي وغيره لاءِ استعمال ڪرڻ مناسب آهي. مان ڪيان ٿو

  8.   گيل چيو

    اتفاق سان ، ڪاليج ۾ اسان بش اسڪرپٽ استعمال ڪري رهيا آهيون ته ڊيٽا 10 آهي ، تمام سٺو!

  9.   اليڪس vi چيو

    پي ڊي ايف ورجن ڊائون لوڊ ڪرڻ سٺو هوندو !! 😀

  10.   مارڪو انتونيو ڊي فونيٽس چيو

    تمام سٺي سائيٽ. آخرڪار مون کي ڪجھ مفيد مليو. توهان جي مهرباني.