بررسی خروجی عددی در اسکریپت Bash
بررسی خروجی عددی در اسکریپت Bash کار ساده ای است ، برای بررسی اینکه آیا خروجی یک دستور در bash یک عدد است یا خیر، میتوانید از مطابقت با الگو pattern matching..
بررسی خروجی عددی در اسکریپت Bash
برای بررسی اینکه آیا خروجی یک دستور در bash یک عدد است یا خیر، میتوانید از مطابقت با الگو (pattern matching) در bash استفاده کنید. در اینجا، من یک مثال میزنم که در آن از دستور echo برای تولید یک خروجی استفاده میشود و سپس بررسی میکنیم که آیا خروجی یک عدد است یا خیر:
#!/bin/bash
# Here, we assume the echo command returns a value. You can replace this with any other command.
output=$(echo 123)
# Check if the output is a number
if [[ $output =~ ^[0-9]+$ ]]; then
echo "The output is a number."
else
echo "The output is not a number."
fi
توجه: الگو ^[0-9]+$ فقط اعداد مثبت را بررسی میکند. اگر میخواهید هم اعداد مثبت و هم منفی را بررسی کنید، از الگو ^-?[0-9]+$ استفاده کنید.
بیایید این کد را برایتان توضیح بدهیم:
-
output=$(echo 123):- در این خط، خروجی دستور
echo 123به متغیر به نامoutputاختصاص مییابد. echo 123به سادگی عدد123را در کنسول چاپ میکند.- با استفاده از
$(...)، خروجی این دستور به متغیرoutputاختصاص مییابد.
- در این خط، خروجی دستور
-
if [[ $output =~ ^[0-9]+$ ]]; then:- در اینجا یک شرط بررسی میشود. ما میخواهیم بفهمیم آیا متغیر
outputفقط شامل اعداد است یا خیر. - الگوی
^[0-9]+$برای بررسی این است که آیا یک رشته فقط از اعداد تشکیل شده است یا خیر.
- در اینجا یک شرط بررسی میشود. ما میخواهیم بفهمیم آیا متغیر
-
echo "The output is a number.":- اگر شرط بالا درست باشد (یعنی
outputفقط از اعداد تشکیل شده باشد)، این پیام چاپ میشود.
- اگر شرط بالا درست باشد (یعنی
-
else:- اگر شرط بالا نادرست باشد، کد در بخش
elseاجرا میشود.
- اگر شرط بالا نادرست باشد، کد در بخش
-
echo "The output is not a number.":- اگر
outputفقط از اعداد تشکیل نشده باشد، این پیام چاپ میشود.
- اگر
امیدوارم که این توضیحات به شما کمک کند تا بهتر کد را درک کنید.
دیدگاه های مربوط به این مقاله (برای ارسال دیدگاه در سایت حتما باید عضو باشید و پروفایل کاربری شما تکمیل شده باشد)