از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
نوار پیشرفت را در Bash ایجاد کنید
سرفصلهای مطلب
نمونه های مختلف ایجاد نوار پیشرفت در Bash
روش های مختلف اجرای نوار پیشرفت در Bash در این قسمت از آموزش نشان داده شده است.
مثال 1: یک نوار پیشرفت ساده بدون هیچ دستوری پیاده سازی کنید
یک فایل Bash با اسکریپت زیر ایجاد کنید که نوار پیشرفت را با استفاده از کاراکتر “#” و دستور “sleep” نمایش می دهد. در اینجا از دستور printf برای نمایش نوار پیشرفت استفاده می شود. نوار پیشرفت به چهار قسمت تقسیم می شود. 25% بعد از 1 ثانیه نمایش داده می شود. 50% بعد از 3 ثانیه نمایش داده می شود. 75% بعد از 2 ثانیه نمایش داده می شود. 100% بعد از 1 ثانیه نمایش داده می شود.
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” “pipe viewer” است. برای نظارت بر پیشرفت داده هایی که از طریق لوله منتقل می شود و بر اساس نوار پیشرفت نمایش داده می شود، استفاده می شود روی اندازه داده ها این دستور به صورت پیش فرض در سیستم نصب نمی شود. قبل از تمرین اسکریپت این مثال، دستور زیر را برای نصب دستور “pv” اجرا کنید:
شما باید یک فایل با اندازه بزرگ را انتخاب کنید که از یک مکان به مکان دیگر کپی شده است. یک فایل Bash با اسکریپت زیر ایجاد کنید که فایل “test.txt” را از مکان فعلی به محل “/home/fahmida/temp/” کپی می کند. دستور “pv” در اینجا برای نمایش نوار پیشرفت استفاده می شود. نوار پیشرفت بر اساس نمایش داده می شود روی اندازه فایل “test.txt”.
اکو “کپی فایل از یک مکان به مکان دیگر.”
#2 ثانیه صبر کنید
خواب 2
#فایل را در مقصد کپی کنید
گربه test.txt | pv -s $(آمار -ج%s test.txt) > /خانه/فهمیده/دما/test.txt
اکو “فایل کپی شده است.”
خروجی زیر پس از اتمام اجرای اسکریپت نمایش داده می شود:
مثال 3: نوار پیشرفت را با استفاده از دستور “Dialog” پیاده سازی کنید
یکی دیگر از راههای پیادهسازی نوار پیشرفت در Bash استفاده از دستور “dialog” است. از این دستور می توان برای نمایش یک نوار پیشرفت خوب در صفحه استفاده کرد terminal. بسیاری از انواع ویجت ها را می توان با استفاده از این نوار پیشرفت نمایش داد. وظیفه نوار پیشرفت که با این دستور نمایش داده می شود توسط اسکریپت Bash قابل کنترل است. این نوار پیشرفت به طور پیش فرض در سیستم نصب نشده است. دستور زیر را برای نصب این نوار پیشرفت در سیستم اجرا کنید:
یک فایل Bash با اسکریپت زیر ایجاد کنید که نوار پیشرفت را با استفاده از دستور “dialog” نمایش می دهد. وظیفه کپی کردن فایل “/etc/passwd” در محل “/home/fahmida/tempdir” با استفاده از نوار پیشرفت نمایش داده می شود. نوار پیشرفت به پنج بخش تقسیم می شود. هر قسمت بعد از 2 ثانیه نمایش داده می شود. از گزینه –title در دستور “dialog” برای نمایش عنوان نوار پیشرفت استفاده می شود. برای نمایش نوار پیشرفت با ارتفاع 10 خط و عرض 100 کاراکتر از گزینه –gauge در دستور “dialog” استفاده می شود. پیام “در انتظار تکمیل کار” در بالای نوار پیشرفت نمایش داده می شود.
شمارنده را #ابتدا اولیه کنید
current_pos=0
(
#حلقه بی نهایت تعریف کنید
برای((;;))
انجام دادن
گربه <
شمارنده را 20 عدد افزایش دهید
(( current_pos+=20 ))
وقتی مقدار شمارنده بیش از 100 باشد، از حلقه خاتمه دهید
[ $current_pos -gt 100 ] && زنگ تفریح
#بعد از هر افزایش ۲ ثانیه صبر کنید
خواب 2
انجام شده
) | گفتگو –عنوان “در حال کپی کردن فایل…” –پیمانه “در انتظار تکمیل کار” 10 100 0
خروجی زیر پس از 6 ثانیه از اجرای اسکریپت ظاهر می شود:
خروجی زیر پس از 10 ثانیه از اجرای اسکریپت ظاهر می شود:
نتیجه
راه های مختلف توسعه نوار پیشرفت با استفاده از اسکریپت Bash در این آموزش نشان داده شده است تا به کاربران Bash کمک کند از نوار پیشرفت استفاده کنند. روی برنامه آنها
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-28 17:42:04