هدایت خروجی استاندارد و خطای استاندارد به داخل یک فایل

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

اکنون با خروجی استاندارد و خطا آشنا شدیم . چگونه  هدایت خروجی به فایل  را پیاده سازی کنیم ؟ چگونه خروجی بدست آمده را به درون یک فایل بریزیم ؟

هدایت خروجی به فایل

مواردی هست که می خواهیم همه خروجی دستورات را به داخل یک فایل جدا بریزیم . به این منظور چه کنیم ؟ بایستی هم خطای استاندارد و هم خروجی استاندارد را به صورت همزمان هدایت یا همان Redirect کنیم . به این منظور دو راه وجود دارد . اول راه رسمی که بر روی نسخه های قدیمی شل (shell) هم کار می کند :

هدایت خروجی استاندارد و خطای استاندارد به داخل یک فایل
با استفاده از این متد , ما به صورت همزمان دو ریدایرکت را انجام دادیم . اول خروجی استاندارد را به داخل فایل ls-output.txt ریختیم و سپس توصیفگر شماره 2 یعنی همان خطای استاندارد را به توصیفگر شماره 1 یعنی خروجی استاندارد هدایت کردیم چگونه با نشانگر 2>&1
دقت کنید که ترتیب هدایت مهم است . در این شیوه هدایت خطای استاندارد بایستی همیشه بعد از هدایت خروجی استاندارد صورت پذیرد در غیر اینصورت کار نخواهد کرد . در مثال بالا دستور > ls-output.txt 2>&1 خطای استاندارد را به داخل فایل ls-output.txt منتقل می کند ولی اگر ترتیب بهم بخورد . یعنی 2>&1 >ls-output.txt باعث می شود که خطای استاندارد در صفحه نمایشگر نشان داده شود .
نسخه های اخیر بش (bash) یک شیوه دوم را فراهم می کند که شیوه ساده تری برای انجام این ترکیب می باشد :

هدایت خروجی استاندارد و خطای استاندارد به داخل یک فایل

در این مثال ما با استفاده از علامت &> خطای استاندارد و خروجی استاندارد را به صورت همزمان به داخل فایل ls-output.txt منتقل کردیم .

لیست دروس

خوشحال می شویم دیدگاههای خود را در میان بگذارید * فرصت پاسخگویی به سوالات در بلاگ وجود ندارد

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *