«Ç¥Ø¥Þ Ø¥Û¥T¥T¥Å ѥإ₩¥H¥É¥R¥È»
فہرست کا خانہ:
- بش ارے
- بش آرری تشکیل دینا
- ہندسے کے حساب سے ترتیب اشاروں کی تشکیل
- انجمن سازی کی صفوں کی تشکیل
- صف کے آپریشنز
- حوالہ عناصر
- صف کی لمبائی
- سرنی کے ذریعے لوپ
- ایک نیا عنصر شامل کریں
- عنصر کو حذف کریں
- نتیجہ اخذ کرنا
اعداد و شمار سب سے زیادہ مستعمل اور بنیادی اعداد و شمار کے ڈھانچے میں سے ایک ہیں۔ آپ سوچ سکتے ہیں کہ ایک صف ایک متغیر ہے جو اس کے اندر متعدد متغیرات رکھ سکتی ہے۔
، ہم بش کی صفوں کا احاطہ کریں گے ، اور ان کو اپنے بش اسکرپٹ میں استعمال کرنے کا طریقہ بتائیں گے۔
بش ارے
باش ایک جہتی ہندسے کے حساب سے ترتیب دیئے جانے اور اسسوسی ایٹو ایریز اقسام کی حمایت کرتا ہے۔ عددی صفوں کا استعمال عددی اعدادوشمار کے ذریعہ کیا جاتا ہے ، اور اسسوسی ایٹیو کا حوالہ تار کو استعمال کرتے ہوئے کیا جاتا ہے۔
منفی اشاریوں کا استعمال کرتے ہوئے ہندسوں کے حساب سے اشارے پر پہنچے جاسکتے ہیں ،
-1
کا اشاریہ آخری عنصر کا حوالہ دیتا ہے۔ اشاریے متناسب نہیں ہیں۔
پروگرامنگ کی زیادہ تر زبانوں کے برعکس ، باش سرنی عناصر کو ایک ہی طرح کا ڈیٹا ہونا ضروری نہیں ہے۔ آپ ایک صف تیار کرسکتے ہیں جس میں تار اور نمبر دونوں ہوں۔
بش کثیر جہتی صفوں کی حمایت نہیں کرتا ہے ، اور آپ کے پاس سرنی عناصر نہیں ہوسکتے ہیں جو ارای بھی ہیں۔
عناصر کی زیادہ سے زیادہ تعداد کی کوئی حد نہیں ہے جو ایک صف میں محفوظ کی جاسکتی ہیں۔
بش آرری تشکیل دینا
باش میں صفوں کو مختلف طریقوں سے شروع کیا جاسکتا ہے۔
ہندسے کے حساب سے ترتیب اشاروں کی تشکیل
بش متغیر کو ٹائپ نہیں کیا جاتا ہے ، کسی بھی متغیر کو اعلان کیے بغیر انڈیکسڈ سرنی کے طور پر استعمال کیا جاسکتا ہے۔
کسی صف کو واضح طور پر اعلان کرنے کے لئے ، اعلان بلٹین کا استعمال کریں:
declare -a array_name
انڈیکسڈ صف بنانے کا ایک طریقہ مندرجہ ذیل فارم کا استعمال کرکے ہے۔
array_name=value_1 array_name=value_2 array_name=value_n
جہاں
index_*
ایک مثبت عدد ہے۔
عددی صف تیار کرنے کا دوسرا طریقہ یہ ہے کہ قوسین کے اندر موجود عناصر کی فہرست کو خالی جگہ سے الگ کیا جائے۔
array_name=(element_1 element_2 element_N)
جب مندرجہ بالا فارم کا استعمال کرتے ہوئے صف بنائی جاتی ہے ، تو اشاریہ صفر سے شروع ہوتا ہے یعنی پہلے عنصر کی اشاریہ
0
۔
انجمن سازی کی صفوں کی تشکیل
ہندسے کے حساب سے ترتیب کے برخلاف ، اسوسیٹو ایریز کو استعمال کرنے سے پہلے ان کا اعلان کرنا ضروری ہے۔
کسی انجمن سازی صف کا
declare
کرنے کے لئے
declare
بلین کو
-A
(اپر کیس) آپشن کے ساتھ استعمال کریں۔
declare -A array_name
ایسوسی ایٹ کی صفوں کو درج ذیل فارم کا استعمال کرتے ہوئے تشکیل دیا جاسکتا ہے۔
declare -A array_name array_name=value_foo array_name=value_bar array_name=value_xyz
جہاں
index_*
کوئی بھی تار ہوسکتا ہے۔
آپ ذیل میں دیئے گئے فارم کو استعمال کرکے ایک انجمن سازی سرے بھی تشکیل دے سکتے ہیں۔
declare -A array_name array_name=(=value_foo =value_bar =value_xyz)
صف کے آپریشنز
باش کے سرسری اشارے پہلے تھوڑا سا عجیب لگ سکتے ہیں ، لیکن اس مضمون کو پڑھنے کے بعد یہ اور زیادہ معنی خیز ہوگا۔
حوالہ عناصر
کسی ایک عنصر کا حوالہ دینے کے ل you ، آپ کو عنصر کا اشاریہ جاننے کی ضرورت ہے۔
مندرجہ ذیل نحو کا استعمال کرتے ہوئے کسی بھی عنصر کا حوالہ دیا جاسکتا ہے:
${array_name}
کسی سرنی عنصر تک رسائی حاصل کرنے کا نحو زیادہ تر پروگرامنگ زبانوں کی نحو سے ملتا جلتا ہے۔ شیل کے فائل نام توسیع آپریٹرز سے بچنے کے لئے گھوبگھرالی منحنی خطوط وحدانی
${}
کی ضرورت ہے۔
آئیے
1
کے اشاریہ کے ساتھ عنصر پرنٹ کریں:
## declare the array declare -a my_array=("Hydrogen" "Helium" "Lithium" "Beryllium") ## print element echo ${my_array}
Helium
## declare the array declare -a my_array=("Hydrogen" "Helium" "Lithium" "Beryllium") ## print all elements echo "${my_array}"
Hydrogen Helium Lithium Beryllium
@
اور
*
درمیان فرق صرف اس صورت میں ہے جب
${my_array}
form فارم
${my_array}
سے گھرا ہوا ہو۔ اس معاملے میں ،
*
ایک ایک لفظ تک پھیل جاتا ہے جہاں صف کے عناصر کو خلا کے ساتھ الگ کردیا جاتا ہے۔
@
ہر صف عنصر کو الگ لفظ میں پھیلاتا ہے۔ یہ خاص طور پر اہم ہے جب سرنی عناصر کے ذریعہ فارم کو ناخواندہ کرنے کے ل using استعمال کریں۔
سرنی کی چابیاں پرنٹ کرنے کے لئے شامل کریں
!
صف کے نام سے پہلے آپریٹر:
${!array_name}
یہاں ایک مثال یہ ہے:
## declare the array declare -a my_array=("Hydrogen" "Helium" "Lithium" "Beryllium") ## print all elements echo "${!my_array}"
صف کی لمبائی
کسی سرنی کی لمبائی حاصل کرنے کے لئے ، درج ذیل فارم کا استعمال کریں:
${#array_name}
ترکیب وہی ہے جو صف کے نام سے پہلے
#
عناصر کے اضافی عناصر کا حوالہ دیتے وقت ہے۔
## declare the array declare -a my_array=("Hydrogen" "Helium" "Lithium" "Beryllium") ## array Length echo ${#my_array}
سرنی کے ذریعے لوپ
سرنی میں ہر آئٹم پر تکرار کرنے کا سب سے عام طریقہ فور لوپ کا استعمال کرکے ہے۔
declare -a my_array=("Hydrogen" "Helium" "Lithium" "Beryllium") ## Array Loop for i in "${my_array}" do echo "$i" done
مندرجہ بالا کوڈ صف پر اعادہ کرے گا اور ہر عنصر کو ایک نئی لائن میں پرنٹ کرے گا۔
Hydrogen Helium Lithium Beryllium
یہاں ایک مثال ہے کہ تمام چابیاں اور اقدار کیسے پرنٹ کریں؟
declare -a my_array=("Hydrogen" "Helium" "Lithium" "Beryllium") ## Array Loop for i in "${!my_array}" do echo "$i" "${my_array}" done
0 Hydrogen 1 Helium 2 Lithium 3 Beryllium
سرنی کے ذریعے لوپ کا دوسرا طریقہ یہ ہے کہ سرنی کی لمبائی حاصل کی جائے اور
C style
لوپ کا استعمال کیا جائے:
declare -a my_array=("Hydrogen" "Helium" "Lithium" "Beryllium") # Length of the array length=${#my_array} # Array Loop for ((i=0; i < ${length}; i++)) do echo $i ${my_array} done
0 Hydrogen 1 Helium 2 Lithium 3 Beryllium
ایک نیا عنصر شامل کریں
کسی نئے عنصر کو باز کے سرے میں شامل کرنے اور اس کی اشاریہ کی وضاحت کے لئے درج ذیل فارم کا استعمال کریں:
my_array="New Element"
یہاں ایک مثال یہ ہے:
declare -a my_array=("Hydrogen" "Helium" "Lithium" "Beryllium") ## add new element my_array="Aluminum" ## print all elements echo "${my_array}"
Hydrogen Helium Lithium Beryllium Aluminum
اشارے کی وضاحت کیے بغیر کسی سرے میں نئے عنصر کو شامل کرنے کا ایک اور طریقہ
+=
آپریٹر کا استعمال کرنا ہے۔ آپ ایک یا ایک سے زیادہ عناصر شامل کرسکتے ہیں:
declare -a my_array=("Hydrogen" "Helium" "Lithium" "Beryllium") ## add new elements my_array+=(Cobalt Nickel) ## print all elements echo "${my_array}"
Hydrogen Helium Lithium Beryllium Cobalt Nickel
عنصر کو حذف کریں
کسی ایک عنصر کو حذف کرنے کے ل you'll ، آپ کو عنصر کا اشاریہ جاننے کی ضرورت ہوگی۔ کسی عنصر کو غیر
unset
کمانڈ کا استعمال کرتے ہوئے
unset
جاسکتا ہے:
unset my_array
آئیے ایک مثال دیکھتے ہیں:
declare -a my_array=("Hydrogen" "Helium" "Lithium" "Beryllium") ## remove element unset my_array ## print all elements echo "${my_array}"
نتیجہ اخذ کرنا
ہم نے یہ وضاحت کی ہے کہ ہندسے کے حساب سے ترتیب دینے اور اسسیویٹو ارای بنانے کا طریقہ۔ ہم نے یہ بھی دکھایا ہے کہ کس طرح ارے کے ذریعے تکرار کی جائے ، سرنی کی لمبائی کا حساب لگائیں ، اور عناصر کو شامل اور دور کیا جائے۔
بش ٹرمینل






