| ENTR(1) | General Commands Manual | ENTR(1) |
نام (NAME)
entr —
اجرای
دستورهای
دلخواه به
هنگام
تغییر
فایلها
خلاصه دستور (SYNOPSIS)
entr [-acdnprsxz]
utility [argument /_ ...]
توضیحات (DESCRIPTION)
فهرستی از
فایلها از
طریق ورودی
استاندارد
فراهم
میشود، و
در صورت
تغییر هر یک
از آنها،
utility با
آرگومانهای
ارائهشده
اجرا
میگردد.
entr پیش از
پاسخ به
رویدادهای
بعدی
سامانه
فایل،
منتظر
پایان
فرآیند
فرزند
میماند.
همچنین پیش
از ورود به
حلقهٔ
پایش، یک TTY
باز میشود
تا از
ابزارهای
تعاملی
پشتیبانی
به عمل آید.
آرگومانها به شرح زیر هستند:
-a- پاسخ به
تمامی
رویدادهایی
که هنگام
اجرای utility
رخ میدهند.
بدون این
گزینه،
entrرویدادها را یکپارچه میکند تا از افتادن در حلقه جلوگیری کند. این گزینه در ترکیب با پرچم-rبیاثر است. -c- پاک کردن صفحه پیش از فراخوانی utility مشخصشده در خط فرمان. مشخص کردن دو بارهٔ آن موجب پاک شدن بافر پیمایش (scrollback) میشود.
-d- ردیابی
دایرکتوری
والد
فایلهای
عادیِ
ارائهشده
به عنوان
ورودی. اگر
دو بار مشخص
شود، تمام
ورودیهای
جدید به یک
دایرکتوری
شناسایی
میشوند،
در غیر این
صورت
فایلهایی
که نامشان
با ‘
.’ آغاز میشود نادیده گرفته خواهند شد. -n- اجرا در
حالت
غیرتعاملی.
در این حالت
entrتلاشی برای خواندن از TTY یا تغییر ویژگیهای آن نمیکند. -p- به تعویق انداختن نخستین اجرای utility تا زمانی که فایلی تغییر یابد.
-r- بارگذاری
مجدد (reload) یک
فرآیند
فرزند
ماندگار.
همانند
حالت
استاندارد
عملکرد، یک
utility که
پایان
مییابد تا
زمان
پردازش یک
رویداد
سامانه
فایل یا
صفحهکلید،
دوباره
اجرا
نخواهد شد.
یک گروه
فرآیند (process group)
ایجاد
میشود تا
از پوشانده
شدن
سیگنالها
توسط
اسکریپتهای
شل جلوگیری
شود.
entrمنتظر خروج utility میماند تا از بسته شدن منابعی مانند سوکتها اطمینان حاصل شود. کنترل TTY به فرآیند فرزند منتقل نمیشود. -s- ارزیابی
نخستین
آرگومان با
استفاده از
مفسر
مشخصشده
توسط متغیر
محیطی
SHELL. -x- قالببندی
پیامهای
وضعیت خروج
سفارشی با
استفاده از
یک فرآیند
ماندگار
awk(1).
مسیر
اسکریپت
وضعیت توسط
متغیر
محیطی
ENTR_STATUS_SCRIPTتعیین میشود. اگر اسکریپت وضعیت وجود نداشته باشد،entrیک نمونه ایجاد خواهد کرد. دستورهای شل و تغییر مسیر فایل به طور پیشفرض مجاز نیستند، اما میتوان با دو بار مشخص کردن-xآنها را فعال کرد. -z- خروج پس از
تکمیل کار
utility. هنگام
ترکیب با
-r-،ابزار utility تنها در پاسخ به دستورها یا رویدادهای سامانه فایل مجدداً راهاندازی خواهد شد.
نخستین
آرگومان با
نام /_ با
مسیر مطلق
نخستین
فایلی که
رویداد را
برانگیخته
است
جایگزین
میشود.
نخستین
فایل تحت
پایش به
عنوان
پیشفرض
استفاده
میشود. اگر
گزینهٔ -s
استفاده
شود، نام
نخستین
فایلی که
رویداد را
برانگیخته
است را
میتوان از
$0 خواند.
دستورها (COMMANDS)
entr به
ورودی
صفحهکلید
گوش فرا
میدهد و به
دستورهای
زیر پاسخ
میدهد:
- ⟨
space⟩ - اجرای فوری
ابزار. اگر
گزینهٔ
-rتنظیم شده باشد، این کار فرآیند فرزند را متوقف کرده و مجدداً راهاندازی میکند، گویی یک رویداد تغییر فایل رخ داده است. q- خروج؛
معادل
فشردن
⟨
control-C⟩.
محیط (ENVIRONMENT)
ENTR_STATUS_SCRIPT- مسیر
اسکریپت
وضعیت خروج
که توسط
گزینهٔ
-xفعال میشود. به طور پیشفرض $HOME/.entr/status.awk ارزیابی میشود. ENTR_RESTART_SIGNAL- سیگنال
مورد
استفاده
برای پایان
دادن به
utility.
نامهای
سیگنال
پشتیبانیشده
عبارتند از
HUP ،INT ،QUIT ،TERM ،USR1وUSR2. پیشفرضSIGTERMاست. EV_TRACE- چاپ پیامهای رویدادهای سامانه فایل.
PAGER- به طور پیشفرض روی /bin/cat تنظیم شده تا در صورتی که خروجی در صفحه جا نشود، از منتظر ماندن ابزارهای تعاملی برای دریافت ورودی صفحهکلید جلوگیری کند.
SHELL- مشخص کردن
شل مورد
استفاده
همراه با
پرچم
-s. پیشفرض /bin/sh است.
وضعیت خروج (EXIT STATUS)
اگر پرچم
-z تنظیم
شده باشد و
utility با
موفقیت
اجرا شود،
وضعیت
فرآیند
فرزند
بازگردانده
میشود. اگر
فرآیند
فرزند توسط
یک سیگنال
متوقف شده
باشد،
وضعیت خروج
برابر با
شماره
سیگنال به
علاوهٔ ۱۲۸
خواهد بود.
entr به
طور معمول
یکی از
مقادیر زیر
را
بازمیگرداند:
- 0
- خاتمهٔ
عادی پس از
دریافت
SIGINT - 1
- هیچ فایل عادی در ورودی ارائه نشد یا خطایی رخ داد
- 2
- فایلهایی به یک دایرکتوری اضافه یا از آن حذف شدند
مثالها (EXAMPLES)
بازسازی یک پروژه در صورت تغییر فایلهای مبدأ، با محدود کردن خروجی به ۲۰ خط نخست:
$ find src/ | entr -s 'make | head -n
20'اجرا و بارگذاری مجدد خودکار یک سرور node.js:
$ ls *.js | entr -r node
app.jsپاک کردن صفحه و اجرای یک پرسوجو پس از بهروزرسانی اسکریپت SQL:
$ echo my.sql | entr -cp psql -f
/_بازسازی پروژه در صورت ویرایش یک فایل مبدأ یا اضافه شدن فایلی به دایرکتوری src/:
$ while sleep 0.1; do ls -d src
src/*.rb | entr make; doneبارگذاری مجدد خودکار یک وبسرور، یا خاتمه یافتن برنامه در صورت خروج سرور:
$ ls * | entr -rz
./httpd| March 2, 2026 | Linux 6.12.113+deb13-amd64 |