SCRIPTREPLAY(1) دستورهای کاربری SCRIPTREPLAY(1)

scriptreplay - بازپخش نشست‌های متنی ضبط‌شده توسط دستور script

scriptreplay [options] timingfile [typescript [divisor]]

این برنامه یک پیش‌نویس متنی (typescript) را مجدداً پخش می‌کند و با استفاده از اطلاعات زمان‌بندی اطمینان حاصل می‌کند که خروجی با همان ریتمی که در زمان ضبط اولیه اسکریپت ظاهر شده بود، نمایش داده شود.

بازپخش صرفاً اطلاعات را مجدداً نمایش می‌دهد؛ برنامه‌هایی که هنگام ضبط تایپ‌اسکریپت اجرا شده بودند، دوباره اجرا نمی‌شوند. از آنجا که تنها همان اطلاعات مجدداً نمایش داده می‌شوند، عملکرد صحیح scriptreplay فقط در صورتی تضمین می‌شود که روی همان نوع ترمینالی اجرا شود که تایپ‌اسکریپت روی آن ضبط شده است. در غیر این صورت، هرگونه نویسهٔ گریز (escape character) در تایپ‌اسکریپت ممکن است توسط ترمینالی که scriptreplay خروجی خود را به آن ارسال می‌کند، به شکل متفاوتی تفسیر شود.

اطلاعات زمان‌بندی همان داده‌هایی است که script(1) در پروندهٔ مشخص‌شده توسط --log-timing خروجی می‌دهد.

به طور پیش‌فرض، فرض می‌شود نام typescript برای نمایش، typescript است، اما نام پرونده‌های دیگر را می‌توان به عنوان پارامتر دوم یا با گزینهٔ --log-out مشخص کرد.

اگر پارامتر سوم یا گزینهٔ --divisor مشخص شود، به عنوان ضریب افزایش سرعت استفاده می‌شود. برای مثال، ضریب سرعت ۲ باعث می‌شود scriptreplay دو برابر سریع‌تر اجرا شود، و ضریب سرعت ۰٫۱ سرعت آن را ۱۰ برابر نسبت به نشست اصلی کندتر می‌کند.

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

-I, --log-in file

پروندهٔ حاوی ورودی ترمینال script.

-O, --log-out file

پروندهٔ حاوی خروجی ترمینال script.

-B, --log-io file

پروندهٔ حاوی ورودی و خروجی ترمینال script.

-t, --timing file

پروندهٔ حاوی خروجی زمان‌بندی script. این گزینه جایگزین آرگومان موقعیتی timingfile می‌شود.

-T, --log-timing file

نام مستعاری برای -t؛ جهت سازگاری با گزینه‌های خط فرمان script(1) نگهداری شده است.

-s, --typescript file

نام مستعار منسوخ‌شده برای --log-out.

-c, --cr-mode mode

نحوهٔ مدیریت نویسهٔ CR (بازگشت به ابتدای سطر یا carriage return، مقدار 0x0D) را در پرونده‌های ثبت گزارش مشخص می‌کند. حالت پیش‌فرض auto است که در آن CR برای گزارش ورودی استاندارد (stdin) با یک شکست خط جایگزین می‌شود، زیرا در غیر این صورت scriptreplay همان خط را بازنویسی می‌کرد. حالت‌های دیگر never و always هستند.

-d, --divisor number

افزایش سرعت نمایش بازپخش به میزان number برابر. آرگومان یک عدد ممیز شناور است. به این دلیل مقسوم‌علیه (divisor) نامیده می‌شود که زمان‌بندی‌ها را بر این ضریب تقسیم می‌کند. این گزینه بر آرگومان‌های سبک قدیمی اولویت دارد.

-m, --maxdelay number

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

--summary

نمایش جزئیات مربوط به نشست ضبط‌شده در پروندهٔ زمان‌بندی مشخص‌شده و خروج. نشست باید با استفاده از قالب advanced ضبط شده باشد (برای جزئیات بیشتر به گزینهٔ --logging-format در script(1) مراجعه کنید).

-x, --stream type

دستور scriptreplay را ملزم می‌کند تا فقط جریان (stream) مشخص‌شده را چاپ کند. انواع جریان پشتیبانی‌شده عبارتند از in، out، signal و info. این گزینه برای گزارش‌های چندجریانی (ایجادشده با --log-io) توصیه می‌شود تا فقط داده‌های مورد نظر چاپ شوند.

-h, --help

نمایش متن راهنما و خروج.

-V, --version

نمایش نسخه و خروج.

% script --log-timing file.tm --log-out script.out
Script started, file is script.out
% ls
<etc, etc>
% exit
Script done, file is script.out
% scriptreplay --log-timing file.tm --log-out script.out

کلیدهای زیر بازپخش اسکریپت را کنترل می‌کنند:

•Space: تغییر وضعیت بین توقف (pause) و ادامه. فشردن این کلید بازپخش را متوقف می‌کند، و فشردن مجدد آن بازپخش را ادامه می‌دهد.
•کلید جهت‌نمای بالا (Up Arrow): افزایش سرعت بازپخش. هر بار فشردن این کلید سرعت بازپخش اسکریپت را به میزان ۰٫۱ برابر افزایش می‌دهد.
•کلید جهت‌نمای پایین (Down Arrow): کاهش سرعت بازپخش. هر بار فشردن این کلید سرعت بازپخش اسکریپت را به میزان ۰٫۱ برابر کاهش می‌دهد.
•کلید جهت‌نمای راست (Right Arrow): جلو بردن بازپخش به میزان یک مرحله. هر بار فشردن این کلید بلافاصله گام جاری را به جای انتظار برای تأخیر مشخص‌شده‌اش نمایش می‌دهد.

برنامهٔ اصلی scriptreplay توسط Joey Hess <joey@kitenet.net> نوشته شد. این برنامه به زبان C توسط James Youngman <jay@gnu.org> و Karel Zak <kzak@redhat.com> بازنویسی شد.

حق نشر © 2008 James Youngman

حق نشر © 2008-2019 Karel Zak

حق نشر © 2024 Jonathan Ketchker

این یک نرم‌افزار آزاد است؛ برای شرایط رونوشت‌برداری به کد منبع مراجعه کنید. هیچ ضمانتی وجود ندارد؛ حتی برای قابلیت فروش یا تناسب با یک هدف خاص.

تحت مجوز عمومی همگانی گنو (GNU GPL) نسخه ۲ یا بالاتر منتشر شده است.

script(1), scriptlive(1)

برای گزارش باگ‌ها، از سامانه پیگیری مشکلات https://github.com/util-linux/util-linux/issues. استفاده کنید.

دستور scriptreplay بخشی از بستهٔ util-linux است که می‌توان آن را از بایگانی هسته لینوکس https://www.kernel.org/pub/linux/utils/util-linux. دریافت کرد.

2026-09-02 util-linux 2.42.3