COWSAY(1) Cowsay Manual COWSAY(1)

cowsay, cowthink - گاو سخن‌گو و متفکر با قابلیت پیکربندی (و کمی بیشتر)

cowsay [-f cowfile] [-r [-C] ] [-e eye_string] [-T tongue_string] [-bdgpstwy] [-n] [-W column] [<پیام>]

cowsay -l

cowsay [-h | --help]

دستور cowsay یک تصویر اسکی‌آرت (ASCII-art) از یک گاو تولید می‌کند که پیام ارائه‌شده توسط کاربر را بازگو می‌کند. اگر این دستور بدون هیچ آرگومان غیرگزینه‌ای اجرا شود، پیام را از ورودی استاندارد می‌خواند، خطوط پیام را تقریباً در ستون چهلم می‌شکند (word-wrap)، و تصویر گاو را در حالی که پیام داده‌شده را بیان می‌کند در خروجی استاندارد چاپ می‌نماید.

برای تسهیل استفاده از پیام‌های دلخواه با فاصله‌های خالی (whitespace) دلخواه، از گزینه -n استفاده کنید. اگر این گزینه مشخص شود، پیام ورودی شکسته‌خط نخواهد شد. این قابلیت به‌ویژه زمانی مفید است که بخواهید گاو با قلم‌های figlet(6) فکر کند یا سخن بگوید. در صورت مشخص شدن گزینه -n، نباید پس از پردازش تمام گزینه‌ها، هیچ آرگومان خط فرمانی دیگری باقی مانده باشد.

گزینه -W محل تقریبی شکستن خطوط پیام را تعیین می‌کند. مقدار پیش‌فرض معادل -W 40 است (یعنی کلمات در ستون چهلم یا پیش از آن شکسته می‌شوند).

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

اگر برنامه به صورت cowthink فراخوانی شود، گاو به جای گفتن پیام، به آن فکر خواهد کرد (این وضعیت با ظاهر شدن «حباب تفکر» در تصویر گاو نمایش داده می‌شود؛ cowsay موضع فلسفی خاصی درباره اینکه آیا ادراک واقعی در حال رخ دادن است یا خیر اتخاذ نمی‌کند).

(تصویر حاصل از نظر فنی لزوماً فقط اسکی نیست؛ بسته به محیط شما و فایل‌های تعریف گاو مورد استفاده، ممکن است در کدگذاری‌های دیگر باشد، شامل نویسه‌های غیراسکی شود یا حتی توالی‌های نویسه کنترلی ترمینال را در بر گیرد.)

چندین حالت مختلف ارائه شده است که ظاهر گاو را بسته به وضعیت احساسی یا جسمانی خاص آن تغییر می‌دهد.

-b

حالت بورگ (Borg) را فعال می‌کند.

-d

باعث می‌شود گاو مرده به نظر برسد.

-g

حالت حریص و طمع‌کار (greedy) را فعال می‌کند.

-p

حالت پارانویا و سوءظن را بر گاو مستولی می‌کند.

-s

ظاهری کاملاً نشئه یا گیج و منگ (stoned) به گاو می‌دهد.

-t

یک گاو خسته (tired) را نمایش می‌دهد.

-w

تا حدی نقطه مقابل گزینه -t است و حالت هیجان‌زده و گوش‌به‌زنگ (wired) را فعال می‌کند.

-y

ظاهر جوانی و شادابی گاو را به نمایش می‌گذارد.

-e

ظاهر چشمان گاو را تعیین می‌کند؛ در این حالت دو نویسه نخست از رشته آرگومان eye_string استفاده خواهد شد. چشمان پیش‌فرض oo هستند. در صورت استفاده از هر یک از حالت‌های از پیش تعریف‌شده، هرگونه پیکربندی انجام‌شده توسط گزینه‌های -e و -T نادیده گرفته خواهد شد.

-T

ظاهر زبان گاو را تعیین می‌کند. آرگومان tongue_string باید دقیقاً دو نویسه باشد. به طور پیش‌فرض هیچ زبانی نمایش داده نمی‌شود، مگر در حالت‌های مرده (dead) و نشئه (stoned).

-f

یک فایل تصویر گاو (cowfile) مشخص را برای استفاده تعیین می‌کند. اگر مشخصه فایل به یک فایل موجود اشاره کند، به عنوان مسیری به آن فایل در نظر گرفته می‌شود؛ در غیر این صورت، cowsay متغیر مسیر COWPATH را برای یافتن فایلی با این نام (همراه با پسوند .cow) جستجو می‌کند. ورودی‌های مسیر اضافی را می‌توان در متغیر محیطی COWPATH مشخص کرد. برای مشاهده فهرست تمام فایل‌های گاو در مسیر فعلی COWPATH، دستور cowsay -l را اجرا کنید.

-r

یک گاو تصادفی را از میان گاوهای موجود در مسیر COWPATH انتخاب می‌کند.

-C

گاوهای رنگی واقعی (true-color ۲۴ بیتی) را فعال می‌کند. در حال حاضر این گزینه تنها هنگام استفاده همراه با -r اثرگذار است. در صورت مشخص نشدن، -r تنها از میان گاوهای غیر رنگی واقعی انتخاب خواهد کرد.

-l

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

-h

صفحه راهنمای دستور را نمایش می‌دهد.

یک فایل گاو (cowfile) از یک بلوک ساده از کد perl(1) تشکیل شده است که تصویری از یک گاو را به متغیر $the_cow اختصاص می‌دهد. اگر مایل به سفارشی‌سازی چشم‌ها یا زبان گاو باشید، می‌توانید از متغیرهای $eyes و $tongue استفاده کنید. خط منتهی به حباب پیام گاو از نویسه(های) موجود در متغیر $thoughts تشکیل می‌شود. متغیرهای دیگر نباید مقداردهی شوند.

هرگونه بک‌اسلش در متن فایل گاو (درون رشته‌های متنی یا heredocها) باید دو بار تکرار شود تا از تفسیر آن جلوگیری گردد. همچنین، نویسه‌های «@»، «$» و احتمالاً «&» باید با بک‌اسلش اسکیپ شوند، زیرا پرل چنین انتظاری دارد.

نام یک فایل گاو باید به پسوند .cow ختم شود، در غیر این صورت به عنوان فایل گاو شناخته نخواهد شد.

متغیر محیطی COWPATH، در صورت وجود، برای جستجوی فایل‌های گاو استفاده می‌شود. این متغیر شامل فهرستی از پوشه‌ها است که با دو‌نقطه (:) از یکدیگر جدا شده‌اند، بسیار شبیه به متغیرهای PATH یا MANPATH.

مسیر پیش‌فرض COWPATH پس از ورودی‌های تعیین‌شده توسط کاربر در متغیر محیطی COWPATH جستجو می‌شود. برای جلوگیری از این رفتار (مثلاً در کارهای توسعه)، متغیر محیطی COWSAY_ONLY_COWPATH را روی 1 تنظیم کنید. در این حالت، COWPATH باید حداقل شامل پوشه‌ای باشد که فایلی به نام default.cow در آن قرار دارد.

مسیر %PREFIX%/share/cowsay/cows شامل یک گله نمونه از فایل‌های گاو است. متغیر COWPATH شما به طور خودکار شامل این پوشه است، مگر اینکه متغیر محیطی COWSAY_ONLY_COWPATH روی 1 تنظیم شده باشد.

مسیر %PREFIX%/share/cowsay/site-cows برای مدیران سیستم جهت نصب گاوهای سفارشی در نظر گرفته شده است. گاوهای موجود در share/cowsay/site-cows نسبت به گاوهای هم‌نام در share/cowsay/cows اولویت دارند. پوشه site-cows هرگز توسط مراحل نصب cowsay دستکاری نخواهد شد؛ بنابراین گاوهای سفارشی تعریف‌شده در آن پس از ارتقای نسخه cowsay نیز حفظ خواهند شد. پوشه site-cows نیز در مسیر پیش‌فرض COWPATH قرار دارد.

مسیر %PREFIX%/etc/cowsay/cowpath.d/ (یا /etc/cowsay/cowpath.d/ در صورتی که %PREFIX% برابر /usr باشد) پوشه‌ای است که شامل فایل‌هایی از فهرست ورودی‌های افزوده به COWPATH پیش‌فرض است. این سازوکار به مجموعه‌های گاو ارائه‌شده توسط شخص ثالث امکان می‌دهد خود را بدون نیاز به پیکربندی جداگانه برای هر کاربر در cowsay ثبت کنند. فایل‌های مسیر تحت cowpath.d باید پسوند .path داشته باشند (در غیر این صورت نادیده گرفته می‌شوند) و باید شامل فهرستی از مسیرهای پوشه‌ها، یکی در هر خط باشند.

در شرایط خاص که cowsay در پیشوند /usr نصب شده باشد، به جای %PREFIX%/etc از پوشه /etc برای فایل‌های پیکربندی، از جمله cowpath.d، استفاده می‌شود.

در صورت مشاهده هرگونه اشکال، لطفاً آن را در صفحه گیت‌هاب cowsay گزارش دهید ( https://github.com/cowsay-org/cowsay/issues)، یا از طریق نشانی رایانامه زیر به نویسنده اطلاع دهید.

پروژه Cowsay توسط اندرو جانکی (Andrew Janke) نگه‌داری می‌شود ( <floss@apjanke.net>).

این برنامه در ابتدا توسط تونی مونرو (Tony Monroe) نوشته شده است ( <tony@nog.net>)، همراه با پیشنهادهایی از شنون آپل (Shannon Appel) ( <appel@csua.berkeley.edu>) و مشارکت‌های آنتونی پولیتو (Anthony Polito) ( <aspolito@csua.berkeley.edu>).

گیت‌هاب: https://github.com/cowsay-org/cowsay

وبگاه اصلی: http://cowsay.diamonds

fortune(1), perl(1), wall(1), nwrite(1), figlet(6)

2024-11-30 Cowsay