محمد عابدینی
کارشناس ارشد متخصص سیستم عامل های متن باز ( لینوکس و یونیکس )

با خروجی های ناخواسته فرمان های اسکریپت های لینوکس چه کنیم؟

در بسیار از موارد شاید شما قصد داشته باشید که خروجی فرمان های اجرا شده را به محلی مثل سطل آشغال منتقل کنید و آنها را دور بریزید، برای این منظور در خط لینوکس و یونیکس دستگاهی ایجاد شده است به نام dev/null که شما می توانید این مدل از خروجی های خودتون رو به آن منتقل کنید تا در جایی نمایش داده نشه. برای این کار کافیست که با استفاده از علامت < خروجی فرمان را به سمت این دستگاه منتقل کنید. در شکل زیر این مثال را مشاهده می کنید:

انتقال همیشگی خروجی یک فرمان :

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران
command >/dev/null

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

command 2>/dev/null

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

command &>/dev/null

یک مثال ساده از این قابلیت :

grep mohammad /etc/passwd >/dev/null && echo "mohammad found" || "mohammad not found"

در این فرمان اگر کاربر محمد در فایل passdw وجود داشته باشد خروجی فرمان echo mohamad found نمایش داده می شود و خروجی فرمان اولی که شامل خط فایل مربوطه به mohammad در فایل passwd است نمایش داده نمی شود.


محمد عابدینی
محمد عابدینی

کارشناس ارشد متخصص سیستم عامل های متن باز ( لینوکس و یونیکس )

سلام دوستان از سال ۱۳۸۱ با سیستم عامل های مبتنی بر BSD کار کردم. برگذار کننده دوره های PF و pfsense مدرس دوره های لینوکس ( LPIC303) مقالات و فیلم های آموزشی در زمینه BSD تهیه کردم. یکی از سیستم عامل های مورد علاقه من OpenBSD است. عاشق کار با سیستم عاملهای متن باز عاشق کار با خط فرمان.

نظرات