10 ٹھنڈی اور زبردست باش لوپ کی مثالیں۔

10 N Y Awr Zbrdst Bash Lwp Ky Mthaly



پروگرامنگ لینگویج میں، بنیادی طور پر تین قسم کے لوپ ہوتے ہیں (کے لیے، جبکہ، اور جب تک)۔ تینوں قسم کے لوپ مختلف طریقوں سے اہم ہیں۔ اس وقت اور جب تک لوپس میں زیادہ فرق نہیں ہے، لیکن لوپ کے لیے ان دونوں سے بالکل مختلف کام کرتا ہے۔ اسی لیے آپ ان لوپس کو بطور باش صارف انٹرایکٹو اسکرپٹس بنانے کے لیے استعمال کر سکتے ہیں۔

لہذا bash کی مثالیں سیکھنے سے آپ کو اسکرپٹ بنانے میں اپنی مہارت کو بہتر بنانے میں مدد مل سکتی ہے۔ اس لیے اس ٹیوٹوریل میں، ہم 10 ٹھنڈی اور زبردست باش لوپ مثالیں شامل کریں گے جو آپ اپنی اسکرپٹنگ کی مہارت کو بڑھانے کی کوشش کر سکتے ہیں۔







10 ٹھنڈی اور زبردست باش لوپ کی مثالیں۔

اس حصے میں، ہم مختلف مثالوں اور ان طریقوں کی وضاحت کریں گے جو ہم نے لوپس میں استعمال کیے ہیں۔



Bash میں لوپ کے ساتھ Seq کمانڈ

آپ نمبروں کی ترتیب بنانے کے لیے for loop میں seq کمانڈ استعمال کر سکتے ہیں۔ مثال کے طور پر، آپ کے پاس ایک bash اسکرپٹ 'File.sh' ہے جس میں درج ذیل کوڈ ہے:



#!/bin/bash
کے لیے اے میں $ ( seq 5 دو 25 )
کیا
بازگشت 'کی تعداد $A ہیں'
ہو گیا





ٹرمینل میں اسکرپٹ پر عمل کرنے کے بعد آپ کو درج ذیل نتیجہ ملے گا:

. / file.sh




لوپ کا استعمال کرتے ہوئے فائلوں کا نام تبدیل کریں۔

ایک bash اسکرپٹ کا استعمال کرتے ہوئے، آپ متعدد فائلوں کا نام تبدیل کرنے کے لیے for loops کا استعمال کر سکتے ہیں۔ مثال کے طور پر، آپ کے پاس متعدد .txt فائلیں ہیں اور آپ موجودہ تاریخ کو نام کے ساتھ شامل کرنا چاہتے ہیں۔ تو یہاں اسکرپٹ کی مثال ہے جسے آپ استعمال کرسکتے ہیں:

#!/bin/bash
کے لیے اے میں $ ( ls * .TXT ) ; کیا
mv $A ( بنیادی نام $A .TXT ) _$ ( تاریخ % ڈی % m % ) .TXT
ہو گیا


اب، آپ اسکرپٹ کو چلا سکتے ہیں، اور یہ موجودہ تاریخ کو شامل کرکے تمام .txt فائلوں کا نام بدل دے گا:

. / MyFile.sh



اسی طرح آپ ایک اسکرپٹ کے ذریعے فائل کی ایکسٹینشن کو تبدیل کر سکتے ہیں۔ تو آئیے درج ذیل اسکرپٹ کے ذریعے .txt ایکسٹینشن کو .sh میں تبدیل کریں۔

#!/bin/bash
کے لیے فائل میں * .TXT؛ کیا
mv -- ' $file ' '{file%.txt}.sh'
ہو گیا

ٹرمینل میں اسکرپٹ پر عمل کرنے کے بعد، آپ کو .txt فائلوں کے بجائے .sh ملے گا:

. / MyFile.sh


باش میں لوپ کے لیے لامحدود

جب لوپ میں کوئی ٹرمنیشن کنڈیشن متعین نہیں کی جاتی ہے تو اسے لامحدود لوپ کہا جاتا ہے۔ باش لوپ کی اس مثال میں، ہم bash میں لوپ کے لیے لامحدود کو دیکھیں گے۔ لوپ کے لیے درج ذیل لامحدود کی تعریف ڈبل سیمیکولن (؛ ؛ ) سے کی گئی ہے اور اس میں کوئی ابتدائی، عمل، یا ختم ہونے والے حصے نہیں ہیں۔

نیچے دی گئی اسکرپٹ اس وقت تک جاری رہے گی جب تک کہ آپ Ctrl+C دبائیں یا ان پٹ کے طور پر 'quit' ٹائپ نہ کریں۔ یہ اسکرپٹ ہر نمبر کو 10 سے 50 تک پرنٹ کرے گا جو بطور ان پٹ دیا گیا ہے۔ بصورت دیگر، یہ پرنٹ کرے گا 'نمبر حد سے باہر ہے۔'

#!/bin/bash
# لامحدود لوپ
کے لیے ( ( ; ; ) )
کیا
بازگشت '10 سے 50 کے درمیان نمبر درج کریں'
پڑھیں n
اگر [ $n == 'چھوڑو' ]
پھر
بازگشت 'ختم'
باہر نکلیں 0
ہونا
اگر ( ( $n < 10 || $n > پچاس ) )
پھر
بازگشت 'نمبر حد سے باہر ہے'
اور
بازگشت 'نمبر ہے۔ $n '
ہونا
ہو گیا

ہم نے مندرجہ بالا اسکرپٹ پر 45 اور 23 درست ان پٹ دیے۔ اس کے بعد، ہم 2 کو بطور ان پٹ پرنٹ کرتے ہیں جو آؤٹ پٹ میں بتاتا ہے کہ 'نمبر حد سے باہر ہے۔' اس کے بعد، اسکرپٹ کو بند کرنے کے لیے، ہم ان پٹ کے طور پر quit ٹائپ کرتے ہیں۔ یہاں آپ لامحدود لوپ کو چھوڑنے کے لیے Ctrl+C بھی دبا سکتے ہیں۔

باش میں تین ایکسپریشن لوپ

یہ تھری ایکسپریشن لوپ کے نام سے جانا جاتا ہے کہ یہ تین ایکسپریشنز پر مشتمل ہے، جسے کنٹرول ایکسپریشن بھی کہا جاتا ہے۔ پہلا اظہار (EXP1) ابتدائیہ ہے، دوسرا اظہار (EXP2) لوپ ٹیسٹ یا شرط ہے، اور تیسرا اظہار (EXP3) شماری اظہار/مرحلہ ہے۔ آئیے ہم bash میں تین-اظہار لوپ چلاتے ہیں:

#!/bin/bash
کے لیے ( ( n = 5 ; n > = 1 ; n-- ) )
کیا
بازگشت 'کتاب $n '
ہو گیا

مندرجہ بالا اسکرپٹ کو چلانے پر، آپ کو درج ذیل آؤٹ پٹ ملے گا۔

متعدد شرائط کے ساتھ لوپ

ہم نے مندرجہ ذیل bash لوپ مثال میں متعدد شرائط کے ساتھ تک لوپ کا استعمال کیا ہے۔ اس اسکرپٹ میں، ہم نے دو ویری ایبلز 'm' اور 'n' لیے جن کی ویلیو بالترتیب 20 اور 10 ہے، اور 15 کی حد رکھی۔ یہاں ہم نے 'm' اور 'n' کنڈیشنز کو لوپ میں ایک ساتھ رکھا، جس میں لوپ اس وقت تک چلے گا جب تک 'm' کی قدر حد سے کم اور 'n' حد سے زیادہ نہ ہو۔

#!/bin/bash
حد = پندرہ
m = بیس
n = 10
جب تک [ [ $m -lt $حد || $n -جی ٹی $حد ] ] ;
کیا
بازگشت 'اگر M = $m پھر N = $n '
( ( m-- ) )
( ( n++ ) )
ہو گیا

آپ دیکھ سکتے ہیں کہ مذکورہ اسکرپٹ کو چلانا اس وقت تک چلے گا جب تک کہ 'm' اور 'n' کی قدریں ایک ہی سطح پر نہ آجائیں۔

Bash میں فائل پڑھیں

bash میں، آپ فائل کے مواد کو کئی طریقوں سے پڑھ سکتے ہیں۔ bash لوپ کی اس مثال میں، ہم فائل کے مواد کو فائل نام کے ذریعے پڑھیں گے۔ bash میں فائل کو پڑھنے کے لیے ہم درج ذیل اسکرپٹ کا استعمال کر سکتے ہیں۔

#!/bin/bash
بازگشت 'درج کردہ فائل کا مواد یہ ہے:'
جبکہ
پڑھیں لائن
کیا
بازگشت لائن
ہو گیا < ~ دستاویزات / Linuxhint.txt

مندرجہ بالا اسکرپٹ کو چلانے کے بعد، آپ داخل کی گئی فائل کا مکمل مواد پڑھ سکتے ہیں۔

ایک فائل میں لکھنا

آپ ٹرمینل سے فائل میں ترمیم کرنے کے لیے اسکرپٹ میں موجود لوپس کا استعمال کر سکتے ہیں۔ مثال کے طور پر، اگر ہمارے پاس txt فائل 'Example.txt' ہے اور ہم کچھ معلومات شامل کرنا چاہتے ہیں، تو ہم درج ذیل اسکرپٹ کا استعمال کر سکتے ہیں:


اگر آپ مندرجہ بالا اسکرپٹ کو چلاتے ہیں، تو یہ آپ سے تفصیلات درج کرنے کو کہے گا:


تفصیلات درج کرنے کے بعد، براہ کرم فائل کو محفوظ کرنے کے لیے CTRL + D اور اس عمل کو کامیابی سے مکمل کرنے کے لیے CTRL + Z استعمال کریں۔

باش میں بیان لوپ کو توڑیں اور جاری رکھیں

باش میں، آپ وقفے کے بعد اپنا لوپ بیان جاری رکھ سکتے ہیں۔ بریک اسٹیٹمنٹ لوپ سے باہر نکلتا ہے اور پھر کنٹرول اگلے دیے گئے اسٹیٹمنٹ کو منتقل کرتا ہے۔ اسی جاری بیان کے ساتھ موجودہ تکرار کو چھوڑنے کے بعد تکرار نمبر دو شروع ہوتا ہے۔

#!/bin/bash
ایک پر = 16
جب تک جھوٹا
کیا
( ( ایک پر-- ) )
اگر [ [ $num -eq 13 ] ]
پھر
جاری رہے
elif [ [ $num --.د ہ n 4 ] ]
پھر
توڑنا
ہونا
بازگشت 'LinuxHint= $num '
ہو گیا

مندرجہ ذیل bash اسکرپٹ میں، آپ دیکھ سکتے ہیں کہ جب 'num' 13 کے برابر ہوتا ہے، تو یہ باقی لوپ باڈی کو چھوڑ کر اگلی تکرار پر چلا جاتا ہے۔ اسی طرح، لوپ ٹوٹ جائے گا جب 'num' 4 سے کم یا اس کے برابر ہو گا۔


مندرجہ بالا اسکرپٹ سے پتہ چلتا ہے کہ لوپ 15 سے شروع ہوتا ہے، 13 پر ٹوٹتا ہے، اور 5 تک جاری رہتا ہے۔

باش میں اوسط کا حساب لگانا

آپ اسکرپٹ کو باش لوپ میں چلا کر اوسط کا حساب لگا سکتے ہیں۔ اس میں صارف ایک متعین حد کے اندر اعداد کی اوسط کا حساب لگا سکتا ہے۔ درج ذیل اسکرپٹ صارف کے ذریعہ فراہم کردہ ان پٹ کی اوسط کا حساب لگاتا ہے۔

#!/bin/bash
نشانات = '0'
اوسط = '0'
SUM = '500'
ایک پر = '5'
جبکہ سچ ; کیا
بازگشت -n 'اپنے نشانات درج کریں یا اسقاط کرنے کے لیے 'q' دبائیں' ; پڑھیں نشانات؛
اگر ( ( ' $ مارکس ' < '0' ) ) || ( ( ' $ مارکس ' > '100' ) ) ; پھر
بازگشت 'براہ کرم اپنے نمبر درج کریں'
elif [ ' $ مارکس ' == 'q' ] ; پھر
بازگشت 'اوسط نشانات ہیں: $AVERAGE %'
توڑنا
اور
SUM =$ [ $SUM + $ مارکس ]
ایک پر =$ [ $NUM + 1 ]
اوسط =$ [ $SUM / $NUM ]
ہونا
ہو گیا

اگر ان پٹ رینج کے اندر نہیں ہے تو، ایک پیغام پرنٹ کیا جاتا ہے کہ 'براہ کرم اپنے نشانات درج کریں۔' جب صارف تمام نمبرز داخل کرنے کے بعد 'q' دباتا ہے، تو اسکرپٹ درج کردہ تمام نمبروں کی تخمینی اوسط کا حساب لگاتا ہے۔

جب اوپر کا اسکرپٹ چلایا جائے گا تو آپ کی آؤٹ پٹ کچھ اس طرح ہوگی۔

Bash میں کمانڈ لائن دلائل پڑھیں

bash میں، آپ loops کا استعمال کرتے ہوئے سنگل کمانڈ لائن دلائل پڑھ سکتے ہیں۔ اسکرپٹ فارمیٹ شدہ دلیل کی اقدار کو پرنٹ کرتا ہے۔ ہم مندرجہ ذیل اسکرپٹ میں ایک while لوپ کا استعمال کرتے ہوئے bash میں کمانڈ لائن آرگیومینٹس چلاتے ہیں۔ اس کے ذریعے، آپ ایک کمانڈ کی مدد سے آرگیومینٹ ویلیو valid آپشن کو پاس کرنے والی ویلیو پرنٹ کریں گے۔

#!/bin/bash
جبکہ getopts N:F:M: OPT
کیا
معاملہ ' ${OPT} '
میں
ن ) نام = ${OPTARG} ;;
ایف ) والد کا نام = ${OPTARG} ;;
ایم ) ماں کا نام = ${OPTARG} ;;
* ) بازگشت 'غلط'
باہر نکلیں 1 ;;
esac
ہو گیا
printf 'نام: $نام \n والد کا نام: والد کا نام \n ماں کا نام: ماں کا نام \n '

اس طرح، آپ مندرجہ بالا اسکرپٹ کو ایک bash میں چلا کر فارمیٹ شدہ دلیل کی اقدار کو آؤٹ پٹ پر پرنٹ کر سکتے ہیں۔

ختم کرو

تو یہ تھی 10 ٹھنڈی اور زبردست باش لوپ مثالوں کے بارے میں مختصر معلومات جو آپ سیکھ سکتے ہیں۔ ہم نے انٹرایکٹو اسکرپٹ کو آسانی سے بنانے کے لیے مختلف قسم کے لوپ استعمال کیے ہیں۔ مزید برآں، ہم نے مندرجہ بالا مثالوں میں استعمال ہونے والے بنیادی طریقوں کی بھی وضاحت کی۔ اگر آپ کے پاس باش میں لوپس کے بارے میں گہرائی سے تفصیلات ہیں، تو براہ کرم مزید جاننے کے لیے ہماری آفیشل ویب سائٹ دیکھیں۔