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

سرور مجازی NVMe

روش استفاده از Here Document در bash برنامه نویسی

0 8
زمان لازم برای مطالعه: < 1 دقیقه


بلوک کد یا متنی که می تواند به اسکریپت فرمان یا برنامه تعاملی هدایت شود، اینجا سند یا HereDoc نامیده می شود. انواع مختلف زبان های برنامه نویسی مانند bash, sh, csh, ksh و غیره می توانند مستقیماً با استفاده از سند اینجا و بدون استفاده از هیچ فایل متنی ورودی متن را دریافت کنند. بنابراین زمانی که کدنویس به مقدار کمتری داده متنی نیاز دارد، استفاده از کد و داده در همان فایل گزینه بهتری است و با استفاده از اینجا-document در اسکریپت می توان این کار را به راحتی انجام داد. بدون زبان اسکریپت، سند اینجا را می توان در زبان های مختلف سطح بالا مانند php، perl و غیره نیز استفاده کرد. چگونه می توانید از اینجا-document در bash اسکریپت در این آموزش نشان داده شده است.

برای استفاده از اینجا-سند در هر bash اسکریپت، باید از نماد << به دنبال هر شناسه تعیین کننده بعد از هر کدام استفاده کنید bash دستور دهید و HereDoc را با استفاده از همان شناسه تعیین کننده در انتهای متن ببندید. نحو نوشتن HereDoc در زیر نشان داده شده است.

فرمان << HeredocDelimiter
. . .
. . .
HeredocDelimiter

مثال-1: استفاده از متن ساده هردوک

هنگامی که هردوک در هر اسکریپت استفاده می شود، لازم است همان نام را برای جداکننده شروع و پایان نگه دارید. فرض کنید دستور «گربه` و تحدید کننده heredoc است ADDTEXT. ایجاد یک bash فایل اسکریپت به نام heredoc1.bash با کد زیر برای بررسی استفاده ساده از heredoc.

#!/صندوقچه/bash
گربه < این متن است
توسط Here Document اضافه شده است
ADDTEXT

دستور زیر را برای اجرای اسکریپت اجرا کنید.

$ bash heredoc1.bash

خروجی:

پس از اجرای اسکریپت خروجی زیر ظاهر می شود.

روش استفاده از Here Document در bash برنامه نویسی

مثال-2: استفاده از heredoc با علامت ‘-‘

HereDoc استفاده می کند ‘-‘ نماد برای سرکوب هر فضای برگه از هر خط از متن heredoc. در مثال زیر، برگه در ابتدای هر خط فاصله اضافه می شود و ‘-‘ نماد قبل از جداکننده شروع استفاده می شود. هنگامی که اسکریپت اجرا می شود، تمام فضاهای برگه از ابتدای هر خط حذف می شود، اما هیچ اثری ایجاد نمی کند. روی فضای معمولی ایجاد یک bash فایل به نام heredoc2.bash با اسکریپت زیر برای تست عملکرد ‘-‘.

#!/صندوقچه/bash
گربه <<-ADDTEXT2
خط 1: در اینجا سند برای چاپ متن کوتاه مفید است
خط 2: در اینجا می توان از Document برای قالب بندی متن استفاده کرد
خط 3: در اینجا Document می تواند متغیرهای درون متن را چاپ کند
خط 4: در اینجا سند با ‘-‘ فضای برگه را از خط حذف می کند
ADDTEXT2

دستور زیر را برای اجرای اسکریپت اجرا کنید.

$ bash heredoc2.sh

خروجی:

پس از اجرای اسکریپت خروجی زیر ظاهر می شود. این برگه فضا از محتوای heredoc حذف شده است.

روش استفاده از Here Document در bash برنامه نویسیروش استفاده از Here Document در bash برنامه نویسی

مثال-3: استفاده از متغیر در متن heredoc

جدید ایجاد کنید bash اسکریپت با کد زیر در اینجا، دو متغیر نامگذاری شده است شروع و پایان اعلام می شوند. این متغیرها در متن heredoc استفاده می شوند. اگر از علامت نقل قول در جداکننده شروع heredoc استفاده کنید، مقدار متغیر در console.

#!/صندوقچه/bash
شروع کنید=“سلام به همه”
پایان=“موفق باشید”

پیشنهاد می‌کنیم بخوانید:  روش استفاده از Find Command در Bash Script

گربه < شروع $
به سایت بلاگ لینوکس خوش آمدید.
$end
ADDTEXT3

دستور زیر را برای اجرای اسکریپت اجرا کنید.

$ bash heredoc3.sh

خروجی:

پس از اجرای اسکریپت خروجی زیر ظاهر می شود. خروجی محتوای heredoc را با مقدار متغیرها نشان می دهد.

روش استفاده از Here Document در bash برنامه نویسیروش استفاده از Here Document در bash برنامه نویسی

مثال-4: یک جدید ایجاد کنید bash فایل با استفاده از HerDoc

در مثال های قبلی، چگونه می توانید از heredoc در هر کدام استفاده کنید bash اسکریپت نشان داده شده است. شما همچنین می توانید یک جدید ایجاد کنید bash فایل با استفاده از heredoc که در قسمت بعدی این آموزش نشان داده شده است. جدید ایجاد کنید bash فایل به نام heredoc4.sh با کد زیر اینجا، NewFile متغیر برای تنظیم نام فایل جدید اعلام شده است bash اسکریپت که پس از اجرا ایجاد خواهد شد heredoc4.sh فایل. پس از اعدام، جدید bash فایل به نام خروجی.ش ایجاد خواهد شد.

#!/صندوقچه/bash
NewFile=output.sh
(
گربه < $NewFile

برای تست اسکریپت بالا دستورات زیر را اجرا کنید. دستور اول فایل اسکریپت اصلی را اجرا می کند. دستور دوم محتوای فایل جدید ایجاد شده را نمایش می دهد. فرمان سوم دستور تازه ایجاد شده را اجرا می کند bash فایل.

$ bash heredoc4.sh
$ گربه خروجی.ش
$ bash خروجی.ش

خروجی:

پس از اجرای اسکریپت خروجی زیر ظاهر می شود.

روش استفاده از Here Document در bash برنامه نویسیروش استفاده از Here Document در bash برنامه نویسی

مثال-5: استفاده از تابع با heredoc

شما می توانید مقادیر ورودی را به متغیرهای هر تابعی ارسال کنید bash اسکریپت از محتوای heredoc. جدید دیگری ایجاد کنید bash فایل به نام heredoc5.sh برای آزمایش روش استفاده از تابع با heredoc. کد زیر را به فایل اضافه کنید. تابعی به نام BookInfo در اسکریپت اعلام شده است که داده ها را از متن heredoc می گیرد. شش متغیر در تابعی به نام‌های ISBN، bookName، authorName، نسخه، انتشار و قیمت اعلام شده‌اند. برای تنظیم صحیح مقدار متغیرها، باید ترتیب مقادیر در قسمت heredoc را مطابق با متغیرهای اعلام شده در تابع حفظ کنید. پس از تنظیم داده ها در متغیرهای تابع، ارزش قیمت با 10% تخفیف محاسبه می شود و مقادیر تمام متغیرها در صفحه چاپ می شود. console.

#!/صندوقچه/bash
تابعی را که داده ها را از Here Document بازیابی می کند، #اعلام کنید

BookInfo ()
{

خواندن شابک
خواندن نام کتاب
خواندن نام نویسنده
خواندن نسخه
خواندن انتشار
خواندن قیمت
}
# در اینجا قسمت سند را برای ارسال داده به تابع اعلام کنید

BookInfo < ISBN-78633567809
Easy Laravel 5
دبلیو جیسون گیلمور
ویرایش نهم
لیرپاب
100
ADDTEXT5

# مقدار متغیرهای تابع را پس از محاسبه ارزش قیمت با 10% تخفیف چاپ کنید
((قیمت=قیمت دلارقیمت دلار*10/100))
اکو $bookName
اکو $authorName
اکو نسخه $، انتشار $
اکو “$”قیمت دلار

دستور زیر را برای اجرای اسکریپت اجرا کنید.

$ heredoc5.bash

خروجی:

در اینجا مقدار متغیر قیمت 100 در نظر گرفته شده است. پس از تنظیم 10% تخفیف روی مقدار قیمت، مقدار 90 تنظیم شده است. پس از اجرا، خروجی زیر در terminal.

روش استفاده از Here Document در bash برنامه نویسیروش استفاده از Here Document در bash برنامه نویسی

مثال-6: دستورات را در هردوک اجرا کنید

ایجاد یک bash فایل به نام heredoc6.bash با اسکریپت زیر برای اجرا “تاریخ”، “pwd”.، و `من کی هستمدستور با `سودودستور.

#!/صندوقچه/bash

# با دستور sudo سه دستور داخل محتوای heredoc اضافه کنید
سودو -s <<فرمان
تاریخ
pwd
من کی هستم
فرمان

پیشنهاد می‌کنیم بخوانید:  Bash Script برای دریافت Symlink Target

خروجی:

پس از اجرای اسکریپت فوق خروجی زیر ظاهر می شود. خروجی سه دستور در خروجی چاپ شده است.

روش استفاده از Here Document در bash برنامه نویسیروش استفاده از Here Document در bash برنامه نویسی

مثال-7: استفاده از heredoc برای نوشتن چندین خط در یک فایل

ایجاد یک bash فایل به نام heredoc6.bash با اسکریپت زیر چندین خط در فایل متنی به نام اضافه کنید temp.txt و محتوای فایل را چاپ کنید. پس از اجرای کد سه خط به فایل متنی اضافه می شود.

#!/صندوقچه/bash

: این اسکریپت چندین خط خواهد نوشت
در یک فایل متنی

# با استفاده از heredoc چندین خط را در یک فایل بنویسید
گربه > “temp.txt” <<فایل محتوای
Bash یک زبان برنامه نویسی محبوب است.
بسیاری از کارهای اداری را می توان به راحتی انجام داد
با استفاده از bash اسکریپت
فایل محتوای

# محتوای فایل را چاپ کنید
گربه temp.txt

خروجی:

پس از اجرای اسکریپت فوق خروجی زیر ظاهر می شود. خروجی نشان می دهد که سه خط در آن اضافه شده است temp.txt فایل.

روش استفاده از Here Document در bash برنامه نویسیروش استفاده از Here Document در bash برنامه نویسی

مثال-8: استفاده از heredoc با لوله برای جستجو و جایگزینی محتوا

ورودی heredoc نیز می تواند لوله شود. ایجاد یک bash فایل را با اسکریپت زیر برای جستجو و جایگزینی یک کاراکتر خاص از محتوای heredoc. heredoc اول متن اصلی را چاپ می کند و heredoc دوم متن جایگزین شده را چاپ می کند. دستور “sed” در اینجا برای جایگزینی تمام نمونه های کاراکتر استفاده شده است.آ‘ توسط ‘آ‘.

#!/صندوقچه/bash

اکو “محتوای اصلی این است:”
گربه <<“اصل”

Bash یک زبان برنامه نویسی پوسته است
HTML یک زبان نشانه گذاری است
جاوا اسکریپت یک زبان برنامه نویسی سمت کلاینت است
اورجینال

# یک خط جدید اضافه کنید
اکو

اکو “محتوا پس از جایگزینی “a” با “A”:”
گربه <<‘جایگزین کردن’ | sed ‘s/a/A/g’

Bash یک زبان برنامه نویسی پوسته است
HTML یک زبان نشانه گذاری است
جاوا اسکریپت یک زبان برنامه نویسی سمت کلاینت است
جایگزین کردن

خروجی:

پس از اجرای اسکریپت فوق خروجی زیر ظاهر می شود. در خروجی، همه ‘a’ با ‘A’ جایگزین شده اند.

روش استفاده از Here Document در bash برنامه نویسیروش استفاده از Here Document در bash برنامه نویسی

مثال-9: استفاده از heredoc برای نظر دادن به بلوک خطوط

یکی از کاربردهای مهم هردوک، اظهار نظر است روی خطوط متعدد از bash اسکریپت ایجاد یک bash فایل با اسکریپت زیر برای پیدا کردن یک سال یک سال کبیسه است یا خیر. هدف از اسکریپت توسط نظرات چند خطی با استفاده از heredoc توضیح داده شده است.

#!/صندوقچه/bash

<<چند خطی_نظر
این اسکریپت استفاده می شود پیدا کردن بیرون
یک سال یک سال کبیسه است یا نه
سال کبیسه
چند خطی_نظر

# ارزش سال 4 رقمی را از کاربر بگیرید
اکو -n “مقدار سال چهار رقمی را وارد کنید:”
خواندن سال

# بررسی کنید که مقدار سال گرفته شده یک سال کبیسه است یا نه
اگر [ $(($yr%400)) -eq 0 ]; سپس

اکو سال دلار یک سال کبیسه است.”
elif [ $(($yr%100)) -eq 0 ]; سپس

اکو سال دلار سال کبیسه نیست.”
elif [ $(($yr%4)) -eq 0 ]; سپس

اکو سال دلار یک سال کبیسه است.”
دیگر

اکو سال دلار سال کبیسه نیست.”
فی

خروجی:

پس از اجرای اسکریپت فوق خروجی زیر ظاهر می شود. خروجی زیر نشان می دهد که سال 2008 یک سال کبیسه است و 2021 یک سال کبیسه نیست.

روش استفاده از Here Document در bash برنامه نویسیروش استفاده از Here Document در bash برنامه نویسی

نتیجه:

کاربردهای مختلف سند heredoc در این آموزش با استفاده از مثال های متعدد نشان داده شده است. می توان از آن با انواع مختلف دستورات پوسته و افزودن نظرات چند خطی در آن استفاده کرد bash اسکریپت استفاده از heredoc برای پاکسازی خواهد شد bash کاربران پس از تمرین نمونه های این آموزش.

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

زمان انتشار: 1402-12-30 09:17:03

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

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

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