۱۳۸۶ خرداد ۵, شنبه

ذخیره خروجی دستورات شل در فایل

احتمالا برایتان پیش آمده که به سبب وجود مشکل و عدم کارکرد بهینه سرویسی از فرد با تجربه ای تقاضای کمک یا مشورت کرده اید و فرد متخصص برای تصمیم گیری از شما درخواست میکند که خروجی برخی دستورات را برایش ارسال کنید , در چنین شرایطی برای انجام این کار 2 راه پیش رو دارید :
1- استفاده از "<" که خروجی دستورات را همانند شکل شماره 1 به یک فایل ارسال میکند و هیچ گونه خروجی را بر روی صفحه نمایش نمیدهد.استفاده از این کاراکتر برای اجرای دستورات در پس زمینه و زمانیکه ما خواهان این هستیم خروجی دستورات را بعد مطالعه کنیم و در زمان اجرای برنامه هیچ گونه خروجی بر روی صفحه نمایش نداشته باشیم توصیه میشود.
استفاده از "<" باعث میشود اگر از قبل فایلی هم نام با نامی که ما مشخص کرده ایم وجود داشته باشیم , محتویات قبلی پاک و دوباره بازنویسی شود.برای پرهیز از این کار و بعبارت بهتر اضافه کردن خروجی به انتهای یک فایل میتوانیم از "<<" استفاده کنیم.
2-استفاده از دستور tee که برخی کمبودهای که در حالت قبل وجود دارد را برطرف میکند, از قبیل : فرستادن خروجی به چنیدن فایل بصورت همزمان و مشاهده خروجی بر روی صفحه نمایش همزمان با فرستادن به فایل.
برای استفاده از این دستور همانند شکل شماره 2 عمل میکنیم :


tee [options] file-list
file-list لیست فایل هایی است که خروجی همزمان با خروجی استاندارد باید به آنها ارسال شود


append -a--
Appends output to existing files rather than overwriting them (Default is to overwrite)
این گزینه همانند "<<" عمل میکند و باعث میشود خروجی به انتهای فایل افزوده شود بجای بازنویسی فایل
ignore-interupts -i--
Causes tee not to respond to interrupts (Default is to respond to them)

هیچ نظری موجود نیست: