BASH کمانڈ کو متغیر میں آؤٹ کریں۔

Bash Command Output Variable



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

متغیر= $۔(کمانڈ)
متغیر= $۔(کمانڈ [آپشن…]دلیل 1 دلیل 2 ...)
متغیر= $۔(/راستہ/کو/کمانڈ)

یا







متغیر='کمانڈ'
متغیر='کمانڈ [آپشن…]دلیل 1 دلیل 2 ...'
متغیر=`/راستہ/کو/کمانڈ'

*** نوٹ: مندرجہ بالا احکامات استعمال کرتے وقت مساوی نشان سے پہلے اور بعد میں کوئی جگہ استعمال نہ کریں۔



ایک متغیر میں سنگل کمانڈ آؤٹ پٹ۔

بش کمانڈ ان کمانڈز کے لیے بغیر کسی آپشن اور دلیل کے استعمال کیے جا سکتے ہیں جہاں یہ حصے اختیاری ہیں۔ مندرجہ ذیل دو مثالیں سادہ کمانڈ متبادل کے استعمال کو ظاہر کرتی ہیں۔



مثال نمبر 1:

bash ` تاریخ ` موجودہ تاریخ اور وقت دکھانے کے لیے کمانڈ استعمال کیا جاتا ہے۔ درج ذیل اسکرپٹ `کی پیداوار کو محفوظ کرے گا۔ تاریخ ` $ میں کمانڈ کریں۔ موجودہ تاریخ کمانڈ متبادل کا استعمال کرتے ہوئے متغیر.





$موجودہ تاریخ= $۔(تاریخ)
$باہر پھینک دیا 'آج ہے$ current_date۔'

آؤٹ پٹ:



مثال نمبر 2:

`pwd`۔ کمانڈ موجودہ ورکنگ ڈائرکٹری کا راستہ دکھاتی ہے۔ درج ذیل اسکرپٹ آؤٹ پٹ کو محفوظ کرتا ہے۔ `pwd`۔ متغیر میں کمانڈ ، $ current_dir اور اس متغیر کی قیمت کو استعمال کرکے پرنٹ کیا جاتا ہے۔ `گونج`۔ کمانڈ.

$موجودہ_ڈائر='پی ڈبلیو ڈی'
$باہر پھینک دیا موجودہ ڈائریکٹری یہ ہے:$ current_dir'

آؤٹ پٹ:

اختیار اور دلیل کے ساتھ حکم دیں۔

کچھ bash کمانڈز کے لیے آپشن اور دلیل لازمی ہے۔ مندرجہ ذیل مثالیں ظاہر کرتی ہیں کہ آپ کس طرح کمانڈ کی آؤٹ پٹ کو آپشن اور دلیل کے ساتھ ایک متغیر میں محفوظ کر سکتے ہیں۔

مثال نمبر 3:

باش `۔ ڈبلیو سی کمانڈ کسی بھی فائل کی لائنوں ، الفاظ اور حروف کی کل تعداد گننے کے لیے استعمال ہوتی ہے۔ یہ کمانڈ -c ، -w اور -l بطور آپشن اور فائل نام بطور دلیل آؤٹ پٹ پیدا کرنے کے لیے استعمال کرتی ہے۔ نامی ٹیکسٹ فائل بنائیں۔ fruit.txt اگلے اسکرپٹ کو جانچنے کے لیے درج ذیل ڈیٹا کے ساتھ۔
fruit.txt

fruit.txt
آم
کینو
کیلا
انگور
امرود
سیب

الفاظ کی کل تعداد کو گننے اور ذخیرہ کرنے کے لیے درج ذیل کمانڈز چلائیں۔ fruit.txt ایک متغیر میں فائل ، $ count_words اور استعمال کرتے ہوئے قیمت پرنٹ کریں۔ گونج ` کمانڈ.

$count_words='ڈبلیو سی -میںfruit.txt'
$باہر پھینک دیا 'fruit.txt میں کل الفاظ ہیں۔$ count_words'

آؤٹ پٹ:

مثال نمبر 4:

`کٹ` ایک اور بش کمانڈ ہے جو آؤٹ پٹ پیدا کرنے کے لیے آپشن اور دلیل استعمال کرتی ہے۔ نامی ٹیکسٹ فائل بنائیں۔ weekday.txt اگلے سکرپٹ کو چلانے کے لیے سات ہفتے کے دن کے ناموں کے ساتھ۔

weekday.txt

پیر
منگل
بدھ
جمعرات
جمعہ
ہفتہ
اتوار۔

نام کی ایک bash فائل بنائیں۔ cmdsub1.sh مندرجہ ذیل اسکرپٹ کے ساتھ۔ اس اسکرپٹ میں ، جبکہ لوپ کا مواد پڑھنے کے لیے استعمال کیا جاتا ہے۔ weekday.txt فائل لائن لائن اور ہر لائن کے پہلے تین حروف کو استعمال کرکے پڑھیں۔ کاٹ ` کمانڈ. کاٹنے کے بعد ، تار کی قیمت متغیر میں محفوظ ہوتی ہے۔ $ دن . اگلا ، اگر بیان کی قیمت چیک کرنے کے لیے استعمال کیا جاتا ہے۔ $ دن ہے ' سورج ' یا نہیں. آؤٹ پٹ پرنٹ کرے گا ' اتوار چھٹی ہے۔ 'جب حالت درست ہے ورنہ اس کی قیمت چھاپ دی جائے گی۔ $ دن .

cmdsub1.sh

#!/bin/bash
فائل کا نام='weekday.txt'
جبکہ پڑھیںلائن؛کیا
دن='باہر پھینک دیا $ لائن | کاٹ -سی -'
اگر [ $ دن=='سورج' ]
پھر
باہر پھینک دیا 'اتوار چھٹی ہے'
اور
باہر پھینک دیا $ دن
ہو
ہو گیا<$ filename

اسکرپٹ چلائیں۔

$کیٹweekday.txt
$لشکرcmdsub1.sh

آؤٹ پٹ:

لوپ میں کمانڈ متبادل کا استعمال۔

آپ کمانڈ متبادل کی پیداوار کو کسی بھی لوپ متغیر میں محفوظ کر سکتے ہیں جو اگلی مثال میں دکھایا گیا ہے۔

مثال نمبر 5:

نام کی فائل بنائیں۔ cmdsub2.sh مندرجہ ذیل کوڈ کے ساتھ. یہاں ، `۔ ls -d * / `کمانڈ موجودہ ڈائریکٹری سے تمام ڈائریکٹری لسٹ کو بازیافت کرنے کے لیے استعمال کیا جاتا ہے۔ لوپ کے لیے یہاں آؤٹ پٹ سے ہر ڈائریکٹری کو پڑھنے اور اسے متغیر میں محفوظ کرنے کے لیے استعمال کیا جاتا ہے۔ $ dirname جو بعد میں چھاپی جاتی ہے۔

cmdsub2.sh

#!/bin/bash
کے لیے نام میں$(ایل ایس -ڈی * /)
کیا
باہر پھینک دیا '$ dirname'
ہو گیا

اسکرپٹ چلائیں۔

$لشکرcmdsub2.sh

آؤٹ پٹ:

نیسٹڈ کمانڈز کا استعمال۔

پائپ (|) کا استعمال کرتے ہوئے آپ ایک سے زیادہ کمانڈز کیسے استعمال کر سکتے ہیں پچھلی مثال میں دکھایا گیا ہے۔ لیکن آپ کمانڈ کے متبادل میں نیسٹڈ کمانڈ استعمال کرسکتے ہیں جہاں پہلی کمانڈ کی پیداوار دوسری کمانڈ کی پیداوار پر منحصر ہوتی ہے اور یہ پائپ (|) کمانڈ کے برعکس کام کرتی ہے۔

نیسٹڈ کمانڈ نحو:

کہاں='کمانڈ 1۔'کمانڈ۔'

مثال نمبر 6:

دو احکامات ، `۔ باہر پھینک دیا `اور`۔ ڈبلیو ایچ او اس مثال میں نیسٹڈ کمانڈ کے طور پر استعمال ہوتے ہیں۔ یہاں ، `۔ ڈبلیو ایچ او کمانڈ سب سے پہلے عملدرآمد کرے گا جو کہ فی الحال لاگ ان صارف کی معلومات پرنٹ کرے گا۔ `کی پیداوار۔ ڈبلیو ایچ او `کمانڈ پر عملدرآمد ہوگا۔ باہر پھینک دیا `کمانڈ اور` کی پیداوار۔ باہر پھینک دیا `متغیر میں ذخیرہ کرے گا۔ $ var۔ . یہاں ، کی پیداوار۔ باہر پھینک دیا `کمانڈ` کی پیداوار پر منحصر ہے۔ ڈبلیو ایچ او کمانڈ

$کہاں='باہر پھینک دیا۔'ڈبلیو ایچ او۔'
$باہر پھینک دیا $ var۔

آؤٹ پٹ:

کمانڈ کا راستہ استعمال کرنا۔

اگر آپ کمانڈ کا راستہ جانتے ہیں تو آپ کمانڈ کا متبادل استعمال کرتے وقت کمانڈ کا راستہ بتاکر کمانڈ چلا سکتے ہیں۔ مندرجہ ذیل مثال کمانڈ پاتھ کا استعمال دکھاتی ہے۔

مثال نمبر 7:

`whoami` کمانڈ فی الحال لاگ ان صارف کا صارف نام دکھاتا ہے۔ بطور ڈیفالٹ ، یہ کمانڈ محفوظ ہے۔ / usr/ ہوں/ فولڈر. چلانے کے لیے درج ذیل اسکرپٹ چلائیں۔ whoami` راستے کا استعمال کرتے ہوئے کمانڈ کو متغیر میں اسٹور کریں ، $ آؤٹ پٹ ، اور کی قیمت پرنٹ کریں۔ $ آؤٹ پٹ۔ .

$پیداوار= $۔(/usr/ہوں/میں کون ہوں)
$باہر پھینک دیا $ آؤٹ پٹ۔

آؤٹ پٹ:

کمانڈ لائن دلیل کا استعمال۔

آپ کمانڈ کے ساتھ کمانڈ لائن دلیل کو کمانڈ متبادل میں بطور دلیل استعمال کرسکتے ہیں۔

مثال نمبر 8:

نام کی ایک bash فائل بنائیں۔ cmdsub3.sh مندرجہ ذیل اسکرپٹ کے ساتھ۔ ` بنیادی نام `2 یہاں سے فائل کا نام بازیافت کرنے کے لیے کمانڈ استعمال کیا جاتا ہے۔این ڈیکمانڈ لائن دلیل اور متغیر میں محفوظ ، $ filename . ہم 1 جانتے ہیں۔سینٹکمانڈ لائن دلیل عملدرآمد سکرپٹ کا نام ہے جسے $ 0 سے ظاہر کیا جاتا ہے۔

#!/bin/bash
فائل کا نام='بنیادی نام $ 1'
باہر پھینک دیا 'فائل کا نام ہے۔$ filename. '

اسکرپٹ کو درج ذیل دلیل ویلیو کے ساتھ چلائیں۔

$لشکرcmdsub3.sh ڈیسک ٹاپ۔/درجہ حرارت/hello.txt

یہاں ، بنیادی نام راستے کا ، ڈیسک ٹاپ/temp/hello.txt۔ ہے ' hello.txt '. تو ، کی قیمت $ filename ہو جائے گا hello.txt .

آؤٹ پٹ:

نتیجہ:

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

ویڈیو میں مزید معلومات: