از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
چگونه می توان دستورات شل را در هنگام اجرا در Bash اکو کرد
سرفصلهای مطلب
چگونه می توان دستورات شل را در هنگام اجرا در Bash اکو کرد
بازتاب دستورات در Bash به کاربران و توسعه دهندگان کمک می کند تا بفهمند در اسکریپت هایشان چه اتفاقی می افتد. با نمایش دستورات در حین اجرای آنها، کاربران می توانند بررسی کنند که اسکریپت طبق خواسته کار می کند و هرگونه خطا یا رفتار غیرمنتظره را شناسایی کنند، در اینجا چند راه برای بازتاب دستورات پوسته در Bash وجود دارد:
روش 1: با استفاده از دستور set
دستور set در Bash را می توان برای فعال یا غیرفعال کردن گزینه ها و تنظیم پارامترهای پوسته استفاده کرد. با تنظیم -ایکس گزینه، شما می توانید ردیابی پوسته را فعال کنید، که باعث می شود Bash هر دستور را قبل از اجرا چاپ کند.
تنظیم -ایکس
اکو “سلام لینوکس!”
تنظیم +x
خروجی این اسکریپت شامل دستور در حال اجرا خواهد بود:
روش 2: استفاده از تله DEBUG
تله DEBUG یک تله پوسته ویژه است که قبل از هر دستور در یک اسکریپت Bash اجرا می شود. با تعریف یک تابع برای تله DEBUG، می توانید هر دستور را قبل از اجرا چاپ کنید:
تابع اشکال زدایی {
اکو “BASH_COMMAND $“
}
تله اشکال زدایی DEBUG
اکو “سلام دنیا!”
تله – اشکال زدایی
خروجی این اسکریپت شامل دستور در حال اجرا خواهد بود:
روش 3: با استفاده از گزینه Bash -x
همچنین می توانید فعال کنید xtrace حالت با عبور از -ایکس گزینه ای برای فرمان Bash هنگام اجرای یک اسکریپت. برای نشان دادن استفاده از -ایکس گزینه در اینجا یک اسکریپت ساده Bash است که فقط یک رشته را با استفاده از دستور echo چاپ می کند:
اکو “سلام لینوکس!”
برای اجرای این اسکریپت با فعال کردن حالت xtrace، میتوانید اسکریپت را با استفاده از دستور زیر اجرا کنید:
در این مثال، Bash -ایکس دستور اسکریپت را با xtrace حالت فعال است، که باعث می شود پوسته هر فرمان را قبل از اجرا چاپ کند. سپس دستور echo چاپ می شود “سلام دنیا!” به console:
نتیجه
تکرار دستورات پوسته هنگام اجرا، یک راه قدرتمند برای اشکال زدایی اسکریپت های Bash است. با استفاده از تنظیم فرمان، -ایکس گزینه و تله DEBUG، می توانید به راحتی هر دستور را قبل از اجرا چاپ کنید.
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-29 01:06:03