از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
ایجاد توابع Bash با آرگومان ها
سرفصلهای مطلب
برای ایجاد کد کارآمد، از توابع bash در اسکریپت های پوسته استفاده می شود. در اصل، اینها مجموعه ای از دستورالعمل ها هستند که می توانند دوباره در سراسر برنامه مورد استفاده قرار گیرند. علاوه بر این، برنامه نویسان را قادر می سازد تا اسکریپت های طولانی و پیچیده را به تکه های قابل مدیریت تقسیم کنند که ممکن است در صورت نیاز فراخوانی شوند. در این مقاله به روش ارسال آرگومان به تابع bash برای ساخت یک تابع با آرگومان خواهیم پرداخت. این پارامتر ممکن است یک رشته، یک عدد صحیح یا چیز دیگری باشد. روش های مختلف ارسال آرگومان به توابع bash در این مقاله استفاده خواهد شد.
انتقال آرگومان به تابع Bash
در این بخش، روش ارائه آرگومان برای تابع bash در لینوکس را به شما نشان خواهیم داد. اما ابتدا روش ایجاد یک تابع در bash را نشان خواهیم داد. استفاده از توابع در برنامه نویسی bash یک راه فوق العاده برای استفاده مجدد از محتوا است. گروهی از دستورات را که می توان به طور مکرر در یک اسکریپت bash فراخوانی کرد، ممکن است ماژول bash نامیده شود. توابع در bash وجود دارند تا برنامه های شما را راحت تر بخوانند و از وارد کردن مکرر اسکریپت مشابه جلوگیری کنند.
برای نوشتن برنامه از پوسته bash استفاده می کنیم که “#!/bin/bash” است. سپس، در خط زیر، یک تابع اساسا تعریف شده توسط کاربر را تعریف می کنیم، بنابراین نام انتخابی خود را به آن می دهیم. در اینجا، نام تابع را “func” می گذاریم و از براکت های گرد “()” که می دانیم با توابع استفاده می شود استفاده می کنیم. سپس از براکت های فرفری در داخل این براکت ها استفاده می کنیم. ما از دستور “echo” برای چاپ عبارتی که حاوی متن “I love my country” است استفاده می کنیم و چون این عبارت در تابع تعبیه شده است، هنگام فراخوانی تابع در خروجی نمایش داده می شود. اکنون تابع در انتهای اسکریپت فراخوانی می شود. برای انجام این کار، به سادگی نام روش “func” را بدون هیچ پرانتزی وارد کنید.
تابع () {
اکو “من کشورم را دوست دارم”
}
تابع
فرمان نمایش خروجی یک اسکریپت bash در terminal اکنون وارد خواهد شد terminal. برای این کار ابتدا کلمه کلیدی “bash” و سپس یک فاصله و سپس نام اسکریپت bash “filebash.sh” را وارد می کنیم.
رشته ای که در داخل تابع “func” استفاده کردیم و می خواستیم نمایش دهیم روی صفحه بعد از فراخوانی تابع با اجرای این دستور نمایش داده می شود. همانطور که می بینید، جمله «من کشورم را دوست دارم» در تصویر زیر نمایش داده شده است.
حال در قسمت زیر یک آرگومان برای تابع bash می دهیم. برای انجام این کار، یک اسکریپت در bash می سازیم که در آن ابتدا پوسته را اضافه می کنیم، همانطور که قبلا انجام دادیم، سپس یک تابع با نام “func1()” و سپس براکت های فرفری تعریف می کنیم. بدنه تابع در داخل براکت های فرفری قرار دارد. بنابراین، در داخل بدنه تابع، از دستور “echo” برای چاپ نام تابع “func1” و ارسال پارامتر bash “$1” استفاده می کنیم. پس از خروج از بدنه تابع، آن را در خط زیر فراخوانی کرده و رشته Goodluck را به عنوان آرگومان ارسال می کنیم. این رشته در متغیر “$1” نگهداری می شود.
func1 () {
اکو “func1 1 دلار”
}
func1 “موفق باشید”
سپس خروجی اسکریپت نمایش داده می شود روی را terminal با تایپ همان دستوری که در مرحله قبل نیز از آن استفاده شده است.
همانطور که در تصویر زیر می بینید، زمانی که این دستور را اجرا کردیم، دستوری را نمایش داد که شامل نام تابع “func1” و همچنین رشته “Goodluck” است که به عنوان آرگومان برای تابع bash ارائه کرده بودیم. در پارامتر “$1” ذخیره می شود.
ارسال چندین آرگومان به تابع Bash
در حالی که این بخش مشابه قسمت قبل است، ما چندین پارامتر را در اینجا به جای یک آرگومان واحد در بخش قبلی ارسال خواهیم کرد. برای این کار، میخواهیم یک اسکریپت ایجاد کنیم که در آن ابتدا پوسته bash را اضافه میکنیم که “#!/bin/bash” است. سپس، یک تابع با نام “user_function()” و سپس بدنه تابع، که با استفاده از براکتهای فرفری ایجاد میشود، تعریف کنید. در بین این براکتها، مراحل مشابه قسمت قبل را دنبال میکنیم و عبارت user_function را که نام تابع است و پارامترهای «$1»، «$2»، «$3» و «$4» را وارد میکنیم. دستور “پژواک”.
سپس در مرحله زیر با استفاده از نام تابع “user_function” و همچنین چهار رشته تشکیل دهنده آرگومان، تابع را با آرگومان ها فراخوانی می کنیم: “I”، “Love”، “my” و “کشور”. رشته ها باید با کاما معکوس نوشته شوند. پارامترهای bash با این رشته هایی که به عنوان آرگومان ارائه می کنیم جایگزین می شوند. رشته اول در “$1″، دوم در “$2″، سوم در “$3” و چهارم در “$4” ذخیره خواهد شد.
user_function () {
اکو “user_function 1 دلار 2 دلار 3 دلار 4 دلار”
}
user_function “من” “دوست دارم” “کشور من”
اکنون می خواهیم از دستور برای باز کردن اسکریپت bash استفاده کنیم روی را terminal ابتدا “bash” و سپس نام اسکریپت “filebash.sh” را تایپ کنید.
در تصویر زیر می بینید که وقتی دستور با موفقیت اجرا شد، نام تابع، “user function” و همچنین رشته “I love my country” را که به عنوان آرگومان در تابع bash ارائه کرده بودیم نمایش می دهد.
استفاده از روش تقسیم در تابع Bash با آرگومان عدد صحیح
در این قسمت با استفاده از اسکریپت bash یک عدد صحیح را تقسیم کرده و نتیجه را به عنوان ورودی به تابع ارسال می کنیم. برای انجام این کار، یک اسکریپت می نویسیم که در آن ابتدا پوسته bash را مانند مرحله قبل اضافه می کنیم. سپس تابع “user function()” را تعریف کنید، سپس از براکت های فرفری استفاده کنید که در داخل آن متغیر “div” را تعریف می کنیم و عملیات تقسیم را با استفاده از علامت دلار “$” ذخیره می کنیم. سپس از دو براکت گرد استفاده می کنیم که در داخل آن از دو پارامتر “$1” و “$2” استفاده می کنیم و بین این دو پارامتر عملگر تقسیم را برای انجام تقسیم قرار می دهیم.
سپس از دستور “echo” در خط زیر استفاده می کنیم و عبارت ورودی “تقسیم 60 بر 10 is” و همچنین آرگومان “div” را با مقدار “$” ارسال می کنیم زیرا پاسخ تقسیم در آن ذخیره می شود. مقادیری که در تقسیم بندی استفاده می کنیم، “60” و “10” زمانی که آن را با استفاده از تابع “user_define” فراخوانی کنیم، به عنوان آرگومان به تابع ارسال می شود.
user_function () {
بخش=$( ( 1 دلار / 2 دلار ) )
اکو “تقسیم کردن 60 توسط 10 است : $div”
}
user_function 60 10
برای نمایش نتیجه باید از دستور زیر استفاده شود روی صفحه نمایش به عنوان مرحله بعدی.
وقتی این دستور را اجرا می کنیم، می توانید نتیجه تقسیم را ببینید. نتیجه “6” است همانطور که در بیانیه نشان داده شده است، که بیان می کند “تقسیم 60 بر 10 است: 6.”
نتیجه
در این مقاله روش نوشتن یک تابع bash در لینوکس که آرگومان ها را می گیرد، بحث شده است. در یک تابع bash، تکنیک های مختلفی برای ارسال آرگومان ها تعریف شده است. در بخش اول این مقاله، روش نوشتن یک اسکریپت در bash و ساخت یک تابع و همچنین روش ارائه یک آرگومان واحد به یک تابع را توضیح دادیم. پارامترهای متعدد در نیمه دوم به یک تابع bash ارائه می شود و آرگومان عدد صحیح در آخرین بخش برای انجام تقسیم ارسال می شود.
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-29 13:04:10