از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
Cat EOF در اسکریپت Bash چیست
سرفصلهای مطلب
CAT یک فرمان Bash در سیستم عامل لینوکس است. CAT مخفف کنسانتره است. در سیستم عامل لینوکس، دستور cat برای نمایش فایل، خواندن یک فایل یا تمرکز محتوای فایل همانطور که نامش توضیح می دهد استفاده می شود. یک فایل را می گیرد، محتوا یا داده های آن را می خواند و سپس محتوای فایل ها را خروجی می گیرد. همچنین در ساخت فایل به ما کمک می کند. این دستور با گزینه های زیادی همراه است که به ما کمک می کند تا اقدامات را با فایل مطابق با نیاز خود انجام دهیم.
در دستور CAT اصطلاحی وجود دارد که به EOF معروف است. EOF به معنای پایان پرونده است. EOF نشان می دهد که فایلی که توسط دستور CAT خوانده، ایجاد یا متمرکز شده است به پایان رسیده است. گربه<
اینجا-document به عنوان یک کلمه واحد در نظر گرفته می شود که پس از پایان خط و شروع یک خط جدید شروع می شود. ادامه می دهد روی تا زمانی که خط جدید یک رشته یا کاراکتر خالی در آن باشد. تا حدودی، ممکن است بین دو پاراگراف یا برخی از کاراکترهای خاص فاصله خطوط متعدد وجود داشته باشد. رسیدن به انتهای فایل برای دستور ساده echo دشوار می شود. شاید اگر ترم EOF را همراه با دستور cat پاس کنیم، اجرای فایل را خاتمه دهد. زمانی که به پایان فایل رسید خاتمه می یابد. در این مثال ابتدا محتوای فایل را چاپ می کنیم و سپس محتوا را در فایل دیگری کپی می کنیم. برای انجام این کار، ابتدا یک اسکریپت Bash ایجاد می کنیم که در آن مقداری از محتوا را ذخیره می کنیم که سپس در فایل دیگر کپی می شود. اجازه دهید ابتدا یک فایل Bash جدید ایجاد کنیم. ما می توانیم به سادگی با نوشتن دستور یا با استفاده از دفترچه یادداشت، فایل Bash را ایجاد کنیم. در این مثال با استفاده از دستور یک فایل Bash جدید ایجاد می کنیم. برای ایجاد فایل جدید دستور زیر را می نویسیم:
در دستوری که قبلا ذکر شد، فایل “bash.sh” را با استفاده از ویرایشگر متن “nano” ایجاد و باز می کنیم. همانطور که در تصویر زیر مشاهده می کنیم، فایلی با نام “bash.sh” با فشردن enter باز می شود. بعد از اینکه مقداری محتوا به فایل اضافه کردیم، آن را در فایل دیگر چاپ می کنیم. در این فایل، محتوا بین دستورات “cat< همانطور که در قطعه زیر می بینیم، فایل ما با موفقیت ایجاد و در فهرست اصلی ما ذخیره شده است. نکته ای که باید به خاطر داشته باشید این است که وقتی مسیر را هنگام ایجاد یک فایل جدید اضافه نمی کنیم، به طور خودکار در فهرست اصلی ذخیره می شود. اگر بخواهیم آن را در محل مورد نظر ذخیره کنیم، می توانیم مسیر را به همراه آن رد کنیم. فایل Bash همیشه حاوی پسوند “.sh” است اما نام فایل می تواند به انتخاب شما باشد. حال، اجازه دهید داده ها را از فایلی که به آن اضافه کرده ایم نمایش دهیم. برای چاپ داده ها به سادگی دستور زیر را می نویسیم:
دستور Bash به همراه فایلی با پسوند “.sh” به آن ارسال می شود. یعنی محتوای فایل Bash را چاپ می کند. پس از اجرای این دستور با فشردن “enter” خروجی زیر را بدست می آوریم که در آن محتوایی که در داخل دستورات “cat< اکنون، ما سعی می کنیم ببینیم اگر “EOF” را بین پاراگراف ها اضافه کنیم چه اتفاقی می افتد، آیا کل فایل را چاپ می کند یا نه. در قطعه زیر، دستور “EOF” را بعد از خط اول اضافه می کنیم. حالا با استفاده از دستور Bash فایل Bash را دوباره پرینت می کنیم.
همانطور که می بینیم، فقط اولین خط را نشان می دهد که دستور “این اولین EOF من است” است. محتوایی را که بعد از آن دستور نوشته شده بود نمایش نمی داد. در عوض، پیغام خطا را نشان می دهد که “فرمان یافت نشد”. این بدان معناست که وقتی سعی می کنیم محتوا را از یک فایل به فایل دیگر چاپ کنیم، فقط محتوایی را که داخل دستور “cat EOF” است اضافه می کند. مطالب دیگر نادیده گرفته می شود.
حال، اجازه دهید همان فایل را در فایل دیگر چاپ کنیم. برای آن، ابتدا یک متغیر در داخل فایل Bash ایجاد می کنیم که آن را ایجاد کرده ایم به نام bash.sh. ما مسیری را به این متغیر اختصاص می دهیم که در آن فایل جدید ایجاد می شود که محتوا و نام فایل در آن کپی می شود. فرض کنید نام آن را “bashcopy.txt” گذاشتیم. این بدان معنی است که ما می خواهیم محتوای Bash را که در آن به عنوان متغیری با نام “myvar” اعلام می کنیم، کپی کنیم. با اختصاص دادن آن، مسیر و نام فایل را با یک فایل متنی با پسوند “.txt” ایجاد می کنیم. سپس بعد از نوشتن دستور “cat< در قطعه قبلی، فایل “bash.sh” خود را اصلاح می کنیم. اکنون، اجازه دهید فایل “bashcopy.txt” را بررسی کنیم که آیا محتوای ما با موفقیت در آن کپی شده است یا خیر. برای این کار ابتدا فایل “bash.sh” را با استفاده از دستور Bash اجرا می کنیم.
این بار در حالی که فایل Bash را اجرا می کنیم چیزی چاپ نمی شود. این بدان معناست که محتوای ما با موفقیت در فایل متنی جدید کپی شده است. بگذارید بررسی کنیم. برای آن، ما به سادگی می توانیم دایرکتوری خانه را بررسی کنیم. ما همچنین می توانیم فقط با نوشتن دستور به آن دسترسی داشته باشیم.
اکنون میتوانیم فایلی با نام bashcopy.txt را با موفقیت ایجاد کنیم به همراه محتوایی که در آن با استفاده از متغیر myvar چاپ کردهایم. امروز دستور cat EOF را مطالعه کردیم. ما همچنین کار cat EOF و روش استفاده از آن را در اسکریپت Bash بررسی کردیم. پس از معرفی آن به شما، این را با یک مثال برای سهولت درک آن اعمال می کنیم. ما فایل Bash جدید را ایجاد می کنیم و داده های آن را در آن چاپ می کنیم terminalو سپس آن را در فایل دیگری چاپ کنید.
اینجا-سند
حائل، جداکنندهمثال:
نتیجه
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-29 12:09:04