از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
تعداد آرگومان ها در اسکریپت Bash را بررسی کنید
سرفصلهای مطلب
شمارش تعداد کل آرگومان هایی که به اسکریپت برای اهداف مختلف مانند مدیریت خطا، ارائه پیام های مبتنی بر ارسال می شوند ضروری است. روی تعداد آرگومان ها، و کمک به کاربر برای ارسال تعداد صحیح آرگومان ها. تعداد کل آرگومان ها را می توان در Bash به دو صورت شمارش کرد. یکی از “$#” و دیگری با استفاده از یک حلقه استفاده می کند. روش های بررسی تعداد آرگومان ها و استفاده از این مقدار برای اهداف مختلف در این آموزش نشان داده شده است.
کاربردهای مختلف بررسی تعداد آرگومان ها
کاربردهای بررسی تعداد آرگومان ها در این قسمت از آموزش با استفاده از مثال های متعدد نشان داده شده است.
مثال 1: تعداد کل آرگومان ها را با استفاده از “$#” بشمارید
یک فایل Bash با اسکریپت زیر ایجاد کنید که تعداد کل آرگومان ها را می شمارد و مقادیر آرگومان را با استفاده از یک حلقه “for” چاپ کنید.
تعداد آرگومان ها را #ذخیره کنید
لن=$#
اکو “تعداد کل آرگومان ها: $لن“
اکو “مقادیر آرگومان عبارتند از:”
#مقادیر آرگومان را چاپ کنید
برای val که در $@
انجام دادن
اکو $val
انجام شده
خروجی زیر پس از اجرای اسکریپت با مقادیر آرگومان 67، 34 و 12 ظاهر می شود:
مثال 2: بر اساس مقادیر استدلال چاپ کنید روی طول استدلال
یک فایل Bash با اسکریپت زیر ایجاد کنید که تعداد کل آرگومان ها را می شمارد و مقادیر آرگومان را بر اساس چاپ می کند. روی تعداد آرگومان ها اگر هیچ آرگومانی به اسکریپت ارسال نشود، پیام خطا چاپ می شود.
تعداد آرگومان ها را #ذخیره کنید
لن=$#
#تعداد کل آرگومان ها را بررسی کنید
اگر [ $len -eq 0 ]; سپس
اکو “هیچ استدلالی ارائه نشده است”
فی
شمارنده را #ابتدا اولیه کنید
پیشخوان=0
#بر اساس مقدار آرگومان چاپ کنید روی مقدار شمارنده
در حالی که (( شمارنده $ < $لن ))
انجام دادن
اگر [ $counter -lt 1 ]; سپس
اکو 1 دلار
elif [ $counter -lt 2 ]; سپس
اکو 2 دلار
elif [ $counter -lt 3 ]; سپس
اکو 3 دلار
فی
((شمارنده ++))
انجام شده
اسکریپت چهار بار در خروجی اجرا می شود. پیام خطا زمانی چاپ می شود که هیچ آرگومانی داده نشود. مقادیر آرگومان زمانی چاپ می شوند که مقادیر یک، دو و سه آرگومان داده شوند.
مثال 3: میانگین مقادیر استدلال را محاسبه کنید
یک فایل Bash با اسکریپت زیر ایجاد کنید که تعداد کل آرگومان ها را می شمارد و میانگین مقدار پنج مقدار آرگومان را چاپ می کند. دستور bc در اسکریپت برای محاسبه مقدار میانگین استفاده می شود. اگر هیچ آرگومانی به اسکریپت ارسال نشود، پیام خطا چاپ می شود.
#تعداد کل آرگومان ها را بررسی کنید
اگر [ $# -eq 5 ]; سپس
#مجموع مقادیر آرگومان را محاسبه کنید
مجموع=$((1 دلار+2 دلار+3 دلار+4 دلار+5 دلار))
#مقادیر میانگین را محاسبه کنید
میانگین=$(($ مجموع/5 | قبل از میلاد مسیح -ل))
#مقادیر میانگین و مقادیر آرگومان را چاپ کنید
اکو “مقدار آرگومان ها عبارتند از: $1 $2 $3 $4 $5”
اکو “مقدار متوسط: میانگین $“
دیگر
#پیام خطای چاپ
اکو “تعداد کل آرگومان ها باید 5 باشد.”
فی
اسکریپت دو بار در خروجی اجرا می شود. پیام خطا زمانی چاپ می شود که هیچ آرگومانی داده نشود. میانگین مقادیر آرگومان زمانی چاپ می شود که پنج مقدار آرگومان داده شود.
مثال 4: بر اساس پیام خطا چاپ کنید روی ارزش های استدلال
یک فایل Bash با اسکریپت زیر ایجاد کنید که هر یک از سه پیام را بر اساس چاپ کند روی شرط “اگر”. اولین شرط “if” بررسی می کند که آیا تعداد آرگومان ها 2 است یا خیر. شرط دوم “if” بررسی می کند که آیا طول مقدار آرگومان کمتر از 5 باشد یا خیر. شرط سوم “اگر” بررسی می کند که آیا آرگومان دوم مثبت است یا خیر.
#مقادیر آرگومان را بخوانید
نام=1 دلار
قیمت=2 دلار
#طول آرگومان دوم را بشمارید
لن=${#name}
#تعداد کل آرگومان ها را بررسی کنید
اگر [ $# -ne 2 ]; سپس
اکو “تعداد کل آرگومان ها باید 2 باشد.”
خروج
#طول آرگومان اول را بررسی کنید
elif [ $len -lt 5 ]; سپس
اکو “نام محصول باید حداقل 5 کاراکتر باشد.”
خروج
#مقدار آرگومان دوم را بررسی کنید
elif [ $2 -lt 0 ]; سپس
اکو “ارزش قیمت باید مثبت باشد.”
خروج
فی
#مقادیر آرگومان را چاپ کنید
اکو “قیمت $name TK است. قیمت دلار“
اسکریپت چهار بار در خروجی اجرا می شود. پیام خطا، “تعداد کل آرگومان ها باید 2 باشد” زمانی چاپ می شود که هیچ آرگومانی داده نشود. پیام خطا، “نام محصول باید حداقل 5 کاراکتر باشد” زمانی چاپ می شود که طول اولین آرگومان کمتر از پنج باشد. وقتی آرگومان دوم منفی باشد، پیغام خطا، “مقدار قیمت باید مثبت باشد” چاپ می شود.
نتیجه
استفاده از تعداد آرگومان ها در اسکریپت Bash برای اهداف مختلف در این آموزش با استفاده از مثال های متعدد برای کمک به کاربران جدید Bash نشان داده شده است.
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-28 20:14:05