از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
روش تغییر مسیر stderr به stdout در Bash
سرفصلهای مطلب
دستورات در لینوکس مقداری ورودی از کاربر می گیرند که می تواند یک فایل یا هر ویژگی باشد و پس از اجرا مقداری خروجی به نام خروجی استاندارد می دهد. خروجی استاندارد می تواند یک خروجی موفقیت آمیز یا یک خروجی خطا باشد. هر دو نمایش داده خواهد شد روی شما terminal صفحه نمایش اما در برخی موارد، شما می خواهید خروجی های استاندارد را برای آزمایش یا اشکال زدایی کد در یک فایل ذخیره کنید. در لینوکس، این خروجی ها می توانند به یک فایل هدایت شوند، و process از گرفتن آن redirection نامیده می شود.
هر process در لینوکس سه جریان داده “stdin”، “stdout” و “stderr” تولید می کند:
- stdin: ورودی را از طریق صفحه کلید از کاربر می گیرد
- stdout: خروجی را نمایش می دهد روی صفحه نمایش
- stderr: اطلاعات خطا را نشان می دهد روی صفحه نمایش
هر جریان داده یک شناسه عددی دارد:
شناسه عددی | نام |
0 | stdin |
1 | stdout |
2 | stderr |
اجازه دهید تغییر مسیر را کمی بیشتر با جزئیات توضیح دهیم:
روش تغییر مسیر خروجی استاندارد و خطای استاندارد در Bash:
برای تغییر مسیر خروجی استاندارد دستور، از “1” با یک عملگر تغییر مسیر بزرگتر از علامت “>” استفاده می کنیم:
دستور بالا یک فایل ایجاد می کند و خروجی استاندارد دستور “ls” را در فایل “stdout.txt” قرار می دهد.
برای خواندن فایل “stdout.txt” از:
همچنین میتوانیم با استفاده از دستور خطای استاندارد را به یک فایل هدایت کنیم:
برای مشاهده فایل “stderr.txt” از:
مطمئن شوید که استفاده از “2” بزرگتر از علامت “>” خواهد بود. از آنجایی که فایل “myfile.txt” در دایرکتوری وجود ندارد، دستور “cat” یک خطایی می دهد که در فایل “stderr.txt” اضافه می شود.
این خروجیهای استاندارد را میتوان با یک فرمان تغییر مسیر داد، از:
خروجی دستور “ls” در “” نوشته می شود.stdout.txt” فایل، اما ”stderr.txt” خالی خواهد ماند زیرا هیچ خطایی وجود نخواهد داشت.
حالا بیایید برای “stderr.txt” این کار را انجام دهیم:
برای خواندن “stderr.txt” از دستور زیر استفاده کنید.
و البته، “stdout.txt” خالی خواهد بود.
نتیجه:
دستور لینوکس پس از اجرا خروجی استانداردی را می دهد که می تواند یک خروجی موفقیت آمیز یا یک خروجی خطا باشد. به طور کلی، این خروجی ها را نمی توان با استفاده از عملگرهای تغییر مسیر هدایت کرد. باید از شناسه های عددی خاصی با علامت “>” استفاده کنیم. در این راهنما، ما یاد گرفتیم که چگونه از این کلیدهای عددی برای تغییر مسیر خروجی استاندارد به یک فایل همراه با مثال استفاده کنیم.
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-31 01:41:03