بررسی خروجی عددی در اسکریپت Bash

بررسی خروجی عددی در اسکریپت Bash کار ساده ای است ، برای بررسی اینکه آیا خروجی یک دستور در bash یک عدد است یا خیر، می‌توانید از مطابقت با الگو pattern matching..

انتشار: , زمان مطالعه: 2 دقیقه
بررسی خروجی عددی در اسکریپت Bash در لینوکس
دسته بندی: برنامه نویسی تعداد بازدید: 182

بررسی خروجی عددی در اسکریپت 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]+$ استفاده کنید.

بیایید این کد را برایتان توضیح بدهیم:

  1. output=$(echo 123):

    • در این خط، خروجی دستور echo 123 به متغیر به نام output اختصاص می‌یابد.
    • echo 123 به سادگی عدد 123 را در کنسول چاپ می‌کند.
    • با استفاده از $(...)، خروجی این دستور به متغیر output اختصاص می‌یابد.
  2. if [[ $output =~ ^[0-9]+$ ]]; then:

    • در اینجا یک شرط بررسی می‌شود. ما می‌خواهیم بفهمیم آیا متغیر output فقط شامل اعداد است یا خیر.
    • الگوی ^[0-9]+$ برای بررسی این است که آیا یک رشته فقط از اعداد تشکیل شده است یا خیر.
  3. echo "The output is a number.":

    • اگر شرط بالا درست باشد (یعنی output فقط از اعداد تشکیل شده باشد)، این پیام چاپ می‌شود.
  4. else:

    • اگر شرط بالا نادرست باشد، کد در بخش else اجرا می‌شود.
  5. echo "The output is not a number.":

    • اگر output فقط از اعداد تشکیل نشده باشد، این پیام چاپ می‌شود.

امیدوارم که این توضیحات به شما کمک کند تا بهتر کد را درک کنید.


دیدگاه های مربوط به این مقاله (برای ارسال دیدگاه در سایت حتما باید عضو باشید و پروفایل کاربری شما تکمیل شده باشد)