uux(1) General Commands Manual uux(1)

uux - اجرای دستور از راه دور از طریق UUCP

uux [ گزینه‌ها ] command

دستور uux برای اجرای یک دستور روی یک سیستم دوردست، یا برای اجرای یک دستور روی سیستم محلی با استفاده از فایل‌های سیستم‌های دوردست به کار می‌رود. دستور بلافاصله اجرا نمی‌شود؛ بلکه درخواست در صف قرار می‌گیرد تا زمانی که دیمن uucico (8) با سیستم تماس گرفته و آن را اجرا کند. این دیمن به‌طور خودکار اجرا می‌شود، مگر اینکه یکی از گزینه‌های -r یا --nouucico مشخص شده باشد.

اجرای واقعی دستور توسط دیمن uuxqt (8) انجام می‌شود.

آرگومان‌های فایل را می‌توان همانند ورودی استاندارد، از سیستم‌های راه دور به سیستم محل اجرا منتقل و گردآوری کرد. خروجی استاندارد را نیز می‌توان به فایلی در یک سیستم دوردست هدایت نمود.

اگر قرار است دستور روی یک سیستم دوردست اجرا شود، می‌توان نام سیستم و به دنبال آن یک علامت تعجب را پیش از نام دستور قرار داد. نام سیستم خالی به عنوان سیستم محلی در نظر گرفته می‌شود.

هر آرگومانی که شامل علامت تعجب باشد به عنوان نام فایل تلقی می‌شود. سیستمی که فایل روی آن قرار دارد پیش از علامت تعجب، و مسیر فایل روی آن سیستم پس از آن می‌آید. نام سیستم خالی به عنوان سیستم محلی در نظر گرفته می‌شود؛ این حالت باید برای انتقال یک فایل به دستوری که روی یک سیستم دوردست در حال اجراست استفاده شود. اگر مسیر مطلق نباشد، به دایرکتوری کاری فعلی در سیستم محلی الحاق می‌شود؛ ممکن است نتیجه بر روی سیستم دوردست معنایی نداشته باشد. مسیر می‌تواند با ~/ آغاز شود که در این صورت نسبت به دایرکتوری عمومی UUCP (معمولاً /usr/spool/uucppublic یا /var/spool/uucppublic) در سیستم مربوطه سنجیده می‌شود. مسیر همچنین می‌تواند با ~name/ آغاز شود که در این حالت نسبت به دایرکتوری خانگی کاربرِ مشخص‌شده در سیستم مربوطه در نظر گرفته خواهد شد.

ورودی و خروجی استاندارد را می‌توان طبق معمول تغییر مسیر داد؛ مسیرهای مورد استفاده ممکن است حاوی علامت تعجب باشند تا نشان دهند در سیستم‌های دوردست قرار دارند. توجه داشته باشید که نویسه‌های تغییر مسیر باید نقل‌قول (کوتیشن) شوند تا به جای تفسیر شدن توسط شل، به uux ارسال گردند. تغییر مسیر الحاقی (>>) کار نمی‌کند.

تمام فایل‌های مشخص‌شده پیش از آغاز اجرای دستور در یک دایرکتوری واحد گردآوری می‌شوند. این بدان معناست که هر فایل باید یک نام پایه (base name) متمایز داشته باشد. برای مثال،

uux 'sys1!diff sys2!~user1/foo sys3!~user2/foo >!foo.diff'
با شکست مواجه خواهد شد زیرا هر دو فایل به sys1 رونوشت شده و با نام foo ذخیره می‌شوند.

برای جلوگیری از تفسیر علامت‌های تعجب، می‌توان آرگومان‌ها را درون پرانتز نقل‌قول کرد. این قابلیت هنگام اجرای دستور uucp روی یک سیستم دوردست مفید است.

درخواست اجرای یک دستور خالی (مانند uux sys!) یک فایل poll برای سیستم مشخص‌شده ایجاد خواهد کرد.

وضعیت خروج uux یکی از کدهای موجود در فایل سرایند sysexits.h است. به‌ویژه، EX_OK ( 0 ) نشان‌دهنده موفقیت و EX_TEMPFAIL ( 75 ) نشان‌دهنده شکست موقت است.

گزینه‌های زیر را می‌توان به uux داد:

-, -p, --stdin
ورودی استاندارد را می‌خواند و از آن به عنوان ورودی استاندارد برای دستوری که باید اجرا شود استفاده می‌کند.
فایل‌های محلی را در دایرکتوری spool رونوشت نمی‌کند. این حالت پیش‌فرض است. اگر این فایل‌ها پیش از پردازش توسط دیمن uucico (8) حذف شوند، رونوشت با شکست مواجه خواهد شد. فایل‌ها باید هم توسط دیمن uucico (8) و هم توسط فراخوانندهٔ uux قابل خواندن باشند.
فایل‌های محلی را در دایرکتوری spool رونوشت می‌کند.
فایل‌های محلی را به دایرکتوری spool پیوند (link) می‌دهد. اگر فایلی به دلیل قرار داشتن در دستگاهی دیگر نتواند پیوند شود، رونوشت خواهد شد مگر اینکه یکی از گزینه‌های -c یا --nocopy نیز داده شده باشد (به عبارت دیگر، استفاده از --link پیش‌فرض را از --nocopy به --copy تغییر می‌دهد). اگر فایل‌ها پیش از پردازش توسط دیمن uucico (8) تغییر کنند، نگارش‌های تغییریافته استفاده خواهند شد. فایل‌ها باید هم توسط دیمن uucico (8) و هم توسط فراخوانندهٔ uux قابل خواندن باشند.
درجهٔ (grade) دستور انتقال فایل را تعیین می‌کند. کارهای دارای درجه بالاتر، زودتر اجرا می‌شوند. درجات از زیاد به کم از 0 ... 9 A ... Z a ... z مرتب شده‌اند.
هیچ ایمیلی درباره وضعیت کار ارسال نمی‌کند، حتی اگر با شکست مواجه شود.
در صورت بروز خطا، ایمیلی درباره وضعیت کار ارسال می‌کند. برای بسیاری از دیمن‌های uuxqt، از جمله Taylor UUCP uuxqt، این عمل پیش‌فرض است؛ برای این دیمن‌ها، گزینهٔ --notification=error هیچ تأثیری نخواهد داشت. با این حال، برخی دیمن‌های uuxqt در صورت موفقیت کار ایمیل ارسال می‌کنند مگر اینکه از گزینهٔ --notification=error استفاده شود، و برخی دیمن‌های دیگر uuxqt در صورت شکست کار ایمیلی ارسال نمی‌کنند مگر اینکه از گزینهٔ --notification=error استفاده شده باشد.
دیمن uucico (8) را بلافاصله اجرا نمی‌کند؛ صرفاً درخواست اجرا را برای پردازش‌های بعدی در صف قرار می‌دهد.
شناسه‌های کار (jobid) را در خروجی استاندارد چاپ می‌کند. برای هر عملیات رونوشت فایل که برای انجام کار لازم باشد، یک jobid تولید خواهد شد. این رونوشت‌های فایل را می‌توان با ارسال jobid به سوئیچ --kill دستور uustat (1) لغو کرد، که در نتیجه انجام عملیات اجرا غیرممکن خواهد شد.
وضعیت کار را به نشانی ایمیل مشخص‌شده گزارش می‌دهد.
انواع خاص اشکال‌زدایی را فعال می‌کند. انواع زیر شناخته شده‌اند: abnormal، chat، handshake، uucp-proto، proto، port، config، spooldir، execute، incoming، outgoing. تنها گزینه‌های abnormal، config، spooldir و execute برای uux معنادار هستند.

می‌توان چندین نوع را با کاما جدا کرد، همچنین گزینهٔ --debug می‌تواند چندین بار تکرار شود. یک عدد نیز می‌تواند داده شود که به همان تعداد از انواع فهرست فوق را فعال خواهد کرد؛ برای نمونه، --debug 2 معادل است با --debug abnormal,chat.

فایل پیکربندی مورد استفاده را مشخص می‌کند. بسته به نحوه کامپایل شدن uux، ممکن است این گزینه در دسترس نباشد.
اطلاعات نگارش را گزارش داده و خارج می‌شود.
پیام راهنما را چاپ کرده و خارج می‌شود.

uux -z - sys1!rmail user1

اجرای دستور “rmail user1” بر روی سیستم sys1، و اختصاص هر آنچه به عنوان ورودی استاندارد به uux داده شده است به عنوان ورودی استاندارد به آن. در صورت بروز خطا، پیامی با استفاده از mail (1) ارسال می‌کند.

uux 'diff -c sys1!~user1/file1 sys2!~user2/file2 >!file.diff'
واکشی دو فایل نام‌برده از سیستم sys1 و سیستم sys2 و اجرای diff روی آن‌ها و ذخیره نتیجه در file.diff در دایرکتوری فعلی. برای کارکرد این دستور، دایرکتوری فعلی باید توسط دیمن uuxqt (8) قابل نوشتن باشد.
uux 'sys1!uucp ~user1/file1 (sys2!~user2/file2)'
اجرای دستور uucp روی سیستم sys1 برای رونوشت file1 (در سیستم sys1) به sys2. این مثال، استفاده از پرانتز برای نقل‌قول را نشان می‌دهد.

سیستم دوردست ممکن است به شما اجازه اجرای برخی دستورها را ندهد. بسیاری از سیستم‌های دوردست تنها اجازه اجرای rmail و rnews را می‌دهند.

برخی از گزینه‌ها به قابلیت‌های دیمن uuxqt (8) در سیستم راه دور وابسته هستند.

mail(1), uustat(1), uucp(1), uucico(8), uuxqt(8)

نمی‌توان به فایل‌ها در میان چندین سیستم ارجاع داد.

شناسه‌های کار (jobid) بیش از حدی توسط --jobid در خروجی چاپ می‌شوند، و هیچ راه مناسبی برای لغو یک اجرای محلی که نیازمند فایل‌های راه دور است وجود ندارد.

Ian Lance Taylor (ian@airs.com)

Taylor UUCP 1.07