وبلاگ رسانگار
با ما حرفه ای باشید

سرور مجازی NVMe

روش بررسی وجود آرگومان ورودی در اسکریپت Bash Shell

0 4
زمان لازم برای مطالعه: 3 دقیقه


برنامه نویسی پوسته Bash یک ابزار قدرتمند برای خودکارسازی کارهای تکراری و انجام عملیات پیچیده است روی خط فرمان یکی از مفاهیم اساسی در اسکریپت نویسی پوسته، پذیرش آرگومان های ورودی از کاربر یا سایر اسکریپت ها است. هنگام برخورد با آرگومان های ورودی، بررسی اینکه آیا آرگومان ورودی وجود دارد یا خیر، ضروری است تا از رفتار غیرمنتظره در اسکریپت جلوگیری شود. این مقاله راه‌های مختلف برای بررسی وجود آرگومان‌های ورودی در اسکریپت پوسته Bash را مورد بحث قرار می‌دهد.

روش بررسی وجود آرگومان ورودی در اسکریپت Bash Shell

سه راه مختلف وجود دارد:

  1. با استفاده از دستور “test”
  2. با استفاده از متغیر “$#”.
  3. با استفاده از گزینه “-n”.

روش 1: با استفاده از دستور “test”.

دستور “test” که به عنوان “[” command, is a built-in command in Bash that tests for various conditions. One of the conditions that we can test using the “test” command is whether a variable exists or not. Here is an example code to check if an input argument exists using the “test” command:

#!/bin/bash

if [ -z “$1” ]

سپس

اکو “آگومان ورودی وجود ندارد.”

خروج 1

فی

اکو “آگومان ورودی وجود دارد.”

در اینجا از گزینه “-z” با دستور “test” استفاده می شود تا بررسی شود که آیا آرگومان ورودی یک رشته خالی است یا خیر. اگر آرگومان ورودی یک رشته خالی باشد، اسکریپت یک پیام خطا صادر می کند و با کد وضعیت 1 خارج می شود. در غیر این صورت، اسکریپت به اجرای خود ادامه می دهد، در زیر من آرگومان ورودی و کد را ارائه کرده ام تا پیام وجود ورودی آرگومان را نمایش دهد:

پیشنهاد می‌کنیم بخوانید:  روش ایجاد اسکریپت های ساده شل در لینوکس با استفاده از Vim

روش بررسی وجود آرگومان ورودی در اسکریپت Bash Shell

روش 2: با استفاده از متغیر “$#”.

این “$#” متغیر تعداد آرگومان های ورودی ارسال شده به یک اسکریپت را ذخیره می کند. اگر اسکریپت حداقل یک آرگومان ورودی را انتظار دارد، می‌توانیم بررسی کنیم که آیا “$#” متغیر بزرگتر از صفر است در اینجا یک کد مثال برای بررسی اینکه آیا حداقل یک آرگومان ورودی با استفاده از آن وجود دارد وجود دارد “$#” متغیر:

#!/bin/bash

اگر [ $# -eq 0 ]

سپس

اکو “آگومان ورودی وجود ندارد.”

خروج 1

فی

اکو “آگومان ورودی وجود دارد.”

اینجا “-eq” از عملگر برای بررسی اینکه آیا “$#” متغیر برابر با صفر است یا خیر و اگر متغیر $# برابر با صفر باشد، اسکریپت پیغام خطا را نمایش می دهد و با کد وضعیت 1 خارج می شود. در غیر این صورت، اسکریپت به اجرا ادامه می دهد، در زیر ارائه کرده ام و ورودی. آرگومان برای کد بنابراین پیام وجود ورودی آرگومان را نمایش می دهد:

روش بررسی وجود آرگومان ورودی در اسکریپت Bash Shellروش بررسی وجود آرگومان ورودی در اسکریپت Bash Shell

روش 3: با استفاده از گزینه “-n”.

این “-n” از گزینه برای بررسی خالی نبودن متغیر استفاده می شود. می توانیم از این گزینه برای بررسی اینکه آیا آرگومان ورودی وجود دارد یا نه استفاده کنیم. در زیر یک کد مثال آورده ام که بررسی می کند که آیا آرگومان ورودی با استفاده از “-n” گزینه:

#!/bin/bash

اگر [ -n “$1” ]

سپس

اکو “آگومان ورودی وجود دارد.”

دیگر

اکو “آگومان ورودی وجود ندارد.”

خروج 1

فی

اینجا “-n” از گزینه برای بررسی اینکه آیا آرگومان ورودی خالی نیست و اگر آرگومان ورودی خالی نباشد، اسکریپت یک پیام موفقیت آمیز نمایش می دهد استفاده می شود. در غیر این صورت، اسکریپت یک پیغام خطا نمایش می دهد و با کد وضعیت 1 خارج می شود، در زیر آرگومان ورودی و کد را ارائه کرده ام، بنابراین پیام وجود ورودی آرگومان را نمایش می دهد:

پیشنهاد می‌کنیم بخوانید:  فرمان Bash Test

روش بررسی وجود آرگومان ورودی در اسکریپت Bash Shellروش بررسی وجود آرگومان ورودی در اسکریپت Bash Shell

نتیجه

در اسکریپت نویسی پوسته، بررسی وجود آرگومان های ورودی یک گام ضروری برای اطمینان از اجرای اسکریپت مطابق انتظار است. ما می‌توانیم از تکنیک‌های مختلفی برای بررسی وجود آرگومان‌های ورودی استفاده کنیم، مانند استفاده از دستور “test”، متغیر “$#” یا گزینه “-n”. با اجرای این تکنیک‌ها، اسکریپت‌های پوسته قوی‌تر و قابل اعتمادتری ایجاد می‌کنیم که می‌توانند آرگومان‌های ورودی را مدیریت کنند.

برای نگارش بخشهایی از این متن ممکن است از ترجمه ماشینی یا هوش مصنوعی GPT استفاده شده باشد
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم

زمان انتشار: 1402-12-28 21:12:03

امتیاز شما به این مطلب
دیدگاه شما در خصوص مطلب چیست ؟

آدرس ایمیل شما منتشر نخواهد شد.

لطفا دیدگاه خود را با احترام به دیدگاه های دیگران و با توجه به محتوای مطلب درج کنید