Bash میں پروگریس بار بنائیں

Bash My Prwgrys Bar Bnayy



جب اسکرپٹ پر عمل درآمد کے دوران ایک مقررہ وقت تک انتظار کرنا پڑتا ہے، تو بہتر ہے کہ صارف کو کچھ وقت انتظار کرنے کی اطلاع دینے کے لیے ایک پروگریس بار بنایا جائے۔ پروگریس بار کو ایک سادہ Bash اسکرپٹ کا استعمال کرتے ہوئے یا کچھ بلٹ ان لینکس کمانڈز جیسے 'cv'، 'dialog' وغیرہ کا استعمال کرتے ہوئے بنایا جا سکتا ہے۔ Bash اسکرپٹ کا استعمال کرتے ہوئے پروگریس بار بنانے کے طریقے اس ٹیوٹوریل میں دکھائے گئے ہیں۔

باش میں پروگریس بار بنانے کی مختلف مثالیں۔

Bash میں پروگریس بار کو لاگو کرنے کے مختلف طریقے ٹیوٹوریل کے اس حصے میں دکھائے گئے ہیں۔

مثال 1: بغیر کسی کمانڈ کے ایک سادہ پروگریس بار کو لاگو کریں۔

درج ذیل اسکرپٹ کے ساتھ ایک Bash فائل بنائیں جو '#' کریکٹر اور 'sleep' کمانڈ کا استعمال کرتے ہوئے پروگریس بار دکھاتی ہے۔ 'printf' کمانڈ یہاں پروگریس بار کو ظاہر کرنے کے لیے استعمال ہوتی ہے۔ پروگریس بار کو چار حصوں میں تقسیم کیا گیا ہے۔ 25% 1 سیکنڈ کے بعد ظاہر ہوتا ہے۔ 50% 3 سیکنڈ کے بعد ظاہر ہوتا ہے۔ 75% 2 سیکنڈ کے بعد ظاہر ہوتا ہے۔ 100% 1 سیکنڈ کے بعد ظاہر ہوتا ہے۔







#!/bin/bash

printf ' \n کام مکمل ہونے کا انتظار کریں... \n \n '

# 1 سیکنڈ تک انتظار کریں۔

سونا 1

# پروگریس بار کا پہلا حصہ پرنٹ کریں۔

printf '[#####] 25%% مکمل۔ \r '

#3 سیکنڈ تک انتظار کریں۔

سونا 3

# پروگریس بار کا دوسرا حصہ پرنٹ کریں۔

printf '[########### ] 50%% مکمل۔ \r '

# 2 سیکنڈ تک انتظار کریں۔

سونا 2

# پروگریس بار کا تیسرا حصہ پرنٹ کریں۔

printf '[################ ] 75%% مکمل۔ \r '

# 1 سیکنڈ تک انتظار کریں۔

سونا 1

# پروگریس بار کا آخری پرنٹ کریں۔

printf '[#####################] %100 مکمل۔ \r '

printf ' \n \n کام مکمل ہو گیا۔ \n \n '

.



درج ذیل آؤٹ پٹ اسکرپٹ پر عمل کرنے کے 1 سیکنڈ کے بعد ظاہر ہوتا ہے:







درج ذیل آؤٹ پٹ اسکرپٹ پر عمل کرنے کے 7 سیکنڈ کے بعد ظاہر ہوتا ہے:



مثال 2: 'Pv' کمانڈ کا استعمال کرتے ہوئے پروگریس بار کو لاگو کریں۔

'pv' کمانڈ کی مکمل شکل 'پائپ ویور' ہے۔ یہ پائپ سے گزرنے والے ڈیٹا کی پیشرفت کی نگرانی اور ڈیٹا کے سائز کی بنیاد پر پروگریس بار کو ظاہر کرنے کے لیے استعمال ہوتا ہے۔ یہ کمانڈ سسٹم میں بطور ڈیفالٹ انسٹال نہیں ہے۔ اس مثال کے اسکرپٹ پر عمل کرنے سے پہلے 'pv' کمانڈ کو انسٹال کرنے کے لیے درج ذیل کمانڈ کو چلائیں۔

$ sudo مناسب انسٹال کریں pv

آپ کو بڑے سائز کی فائل منتخب کرنی ہوگی جو ایک جگہ سے دوسری جگہ کاپی کی گئی ہو۔ درج ذیل اسکرپٹ کے ساتھ ایک Bash فائل بنائیں جو 'test.txt' فائل کو موجودہ مقام سے '/home/fahmida/temp/' مقام پر نقل کرے۔ 'pv' کمانڈ یہاں پروگریس بار کو ظاہر کرنے کے لیے استعمال ہوتی ہے۔ پروگریس بار 'test.txt' فائل کے سائز کی بنیاد پر ظاہر ہوتا ہے۔

#!/bin/bash

بازگشت 'فائل کو ایک جگہ سے دوسری جگہ کاپی کرنا۔'

# 2 سیکنڈ تک انتظار کریں۔

سونا 2

# فائل کو منزل تک کاپی کریں۔

کیٹ test.txt | pv -s $ ( اسٹیٹ -c % s test.txt ) > / گھر / سمجھ / درجہ حرارت / test.txt

بازگشت 'فائل کاپی کر لی گئی ہے۔'

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

مثال 3: 'ڈائیلاگ' کمانڈ کا استعمال کرتے ہوئے پروگریس بار کو لاگو کریں۔

Bash میں پروگریس بار کو لاگو کرنے کا دوسرا طریقہ 'ڈائیلاگ' کمانڈ کا استعمال کرنا ہے۔ یہ کمانڈ ٹرمینل میں اچھی لگنے والی پروگریس بار کو ظاہر کرنے کے لیے استعمال کی جا سکتی ہے۔ اس پروگریس بار کا استعمال کرتے ہوئے کئی قسم کے ویجٹ دکھائے جا سکتے ہیں۔ اس کمانڈ کے ذریعے ظاہر ہونے والے پروگریس بار کا کام Bash اسکرپٹ کے ذریعے کنٹرول کیا جا سکتا ہے۔ یہ پروگریس بار سسٹم میں بطور ڈیفالٹ انسٹال نہیں ہوتا ہے۔ سسٹم میں اس پروگریس بار کو انسٹال کرنے کے لیے درج ذیل کمانڈ کو چلائیں:

$ sudo مناسب انسٹال کریں ڈائیلاگ

درج ذیل اسکرپٹ کے ساتھ ایک Bash فائل بنائیں جو 'ڈائیلاگ' کمانڈ کا استعمال کرتے ہوئے پروگریس بار دکھاتی ہے۔ '/etc/passwd' فائل کو '/home/fahmida/tempdir' مقام میں کاپی کرنے کا کام پروگریس بار کا استعمال کرتے ہوئے دکھایا جاتا ہے۔ پروگریس بار کو پانچ حصوں میں تقسیم کیا گیا ہے۔ ہر حصہ 2 سیکنڈ کے بعد ظاہر ہوتا ہے۔ ٹائٹل کا آپشن 'ڈائیلاگ' کمانڈ میں پروگریس بار کے ٹائٹل کو ظاہر کرنے کے لیے استعمال کیا جاتا ہے۔ -گیج آپشن 'ڈائیلاگ' کمانڈ میں 10 لائنوں کی اونچائی اور 100 حروف کی چوڑائی کے ساتھ پروگریس بار کو ظاہر کرنے کے لیے استعمال کیا جاتا ہے۔ پروگریس بار کے اوپر 'کام مکمل کرنے کا انتظار' کا پیغام ظاہر ہوتا ہے۔

#!/bin/bash

# کاؤنٹر شروع کریں۔

موجودہ_پوز = 0

(

# ایک لامحدود لوپ کی وضاحت کریں۔

کے لیے ( ( ;; ) )

کیا

کیٹ <
حد بندی کرنے والا

$current_pos

# موجودہ کاؤنٹر ویلیو دکھائیں۔

cp /etc/passwd to /home/fahmida/tempdir ($current_pos%):

حد بندی کرنے والا

ای او ایف


# کاؤنٹر کو 20 تک بڑھا دیں۔

( ( موجودہ_پوز+= بیس ) )

#لوپ سے ختم کریں جب کاؤنٹر ویلیو 100 سے زیادہ ہو۔

[ $current_pos -جی ٹی 100 ] && توڑنا

#ہر انکریمنٹ کے بعد 2 سیکنڈ تک انتظار کریں۔

سونا 2

ہو گیا

) | ڈائیلاگ --عنوان 'فائل کاپی کر رہا ہے...' --گیج 'کام مکمل ہونے کا انتظار ہے' 10 100 0


درج ذیل آؤٹ پٹ اسکرپٹ پر عمل کرنے کے 6 سیکنڈ کے بعد ظاہر ہوتا ہے:


اسکرپٹ پر عمل کرنے کے 10 سیکنڈ کے بعد درج ذیل آؤٹ پٹ ظاہر ہوتا ہے:


نتیجہ

Bash اسکرپٹ کا استعمال کرتے ہوئے پروگریس بار بنانے کے مختلف طریقے اس ٹیوٹوریل میں دکھائے گئے ہیں تاکہ Bash صارفین کو اپنے پروگرام پر پروگریس بار استعمال کرنے میں مدد ملے۔