FISH(1) fish-shell FISH(1) نام (NAME) fish - پوسته تعاملی و کاربرپسند خط فرمان خلاصه دستور (SYNOPSIS) fish [گزینه‌ها] [پرونده [آرگومان ...]] fish [گزینه‌ها] [-c دستور [آرگومان ...]] توضیحات (DESCRIPTION) fish یک پوسته خط فرمان است که عمدتاً با تمرکز بر استفاده تعاملی طراحی و نوشته شده است. این صفحه به‌طور خلاصه گزینه‌های مربوط به فراخوانی fish را شرح می‌دهد. راهنمای کامل از طریق دستور help درون fish به‌صورت HTML و همچنین در صفحه راهنمای fish-doc(1) در دسترس است. آموزش گام‌به‌گام به‌صورت HTML از طریق help tutorial یا در man fish-tutorial در دسترس قرار دارد. گزینه‌ها (OPTIONS) گزینه‌های زیر در دسترس هستند: -c یا --command=COMMAND دستورات مشخص‌شده را به‌جای خواندن از خط فرمان ارزیابی و اجرا می‌کند. هرگونه آرگومان موضعی اضافی به‌عنوان $argv استفاده می‌شود. -C یا --init-command=COMMANDS دستورات مشخص‌شده را پس از خواندن فایل‌های پیکربندی، اما پیش از اجرای دستور تعیین‌شده با -c یا دریافت ورودی تعاملی، ارزیابی و اجرا می‌کند. -d یا --debug=DEBUG_CATEGORIES خروجی اشکال‌زدایی (دیباگ) را فعال کرده و یک الگو برای تطبیق دسته‌بندی‌های اشکال‌زدایی مشخص می‌کند. برای جزئیات بیشتر به بخش اشکال‌زدایی در ادامه مراجعه کنید. -o یا --debug-output=DEBUG_FILE مسیر فایلی را برای دریافت خروجی اشکال‌زدایی، از جمله دسته‌بندی‌ها و fish_trace، تعیین می‌کند. پیش‌فرض خروجی خطای استاندارد (stderr) است. -i یا --interactive پوسته به‌صورت تعاملی اجرا می‌شود. -l یا --login طوری عمل می‌کند که گویی به‌عنوان یک پوسته ورود (login shell) فراخوانی شده است. -N یا --no-config فایل‌های پیکربندی را نمی‌خواند. -n یا --no-execute هیچ دستوری را اجرا نمی‌کند؛ تنها بررسی درستی نحو (syntax checking) را انجام می‌دهد. -p یا --profile=PROFILE_FILE هنگام خروج fish، اطلاعات زمان‌بندی تمام دستورات اجراشده را در فایل مشخص‌شده ذخیره می‌کند. این زمان شامل زمان صرف‌شده برای راه‌اندازی اولیه و خواندن پیکربندی نمی‌شود. --profile-startup=PROFILE_FILE زمان‌بندی مربوط به راه‌اندازی اولیه fish را در فایل مشخص‌شده ذخیره می‌کند. -P یا --private حالت خصوصی را فعال می‌کند: fish به تاریخچه پیشین دسترسی نخواهد داشت و تاریخچه جدیدی را نیز ذخیره نمی‌کند. --print-rusage-self هنگام خروج fish، آمار مصرف منابع سیستم را از getrusage چاپ می‌کند. --print-debug-categories تمام دسته‌بندی‌های اشکال‌زدایی را چاپ کرده و سپس خارج می‌شود. -v یا --version نسخه برنامه را چاپ کرده و خارج می‌شود. -f یا --features=FEATURES یک یا چند نشانگر ویژگی (feature flag) که با کاما از هم جدا شده‌اند را فعال می‌کند. وضعیت خروج (exit status) پوسته fish به‌طور کلی برابر با وضعیت خروج آخرین دستور پیش‌زمینه است. اشکال‌زدایی (DEBUGGING) اگرچه fish پشتیبانی گسترده‌ای برای اشکال‌زدایی اسکریپت‌های fish فراهم می‌کند، امکان اشکال‌زدایی و بررسی سازوکارهای داخلی آن نیز وجود دارد. اشکال‌زدایی را می‌توان با استفاده از گزینه --debug فعال کرد. به‌عنوان مثال، دستور زیر علاوه بر دسته‌بندی‌های پیش‌فرض یعنی debug، error، warning و warning-path، اشکال‌زدایی مربوط به رویدادهای رشته‌های ورودی/خروجی پس‌زمینه (background IO thread) را فعال می‌کند: > fish --debug=iothread دسته‌بندی‌های در دسترس با دستور fish --print-debug-categories فهرست می‌شوند. گزینه --debug فهرستی از دسته‌بندی‌ها را که با کاما از هم جدا شده‌اند می‌پذیرد و از نحو الگو (glob) پشتیبانی می‌کند. دستور زیر اشکال‌زدایی برای complete، history، history-file و profile-history را به همراه دسته‌بندی‌های پیش‌فرض فعال می‌کند: > fish --debug='complete,*history*' پیام‌های اشکال‌زدایی به‌طور پیش‌فرض در stderr چاپ می‌شوند. توجه داشته باشید در صورتی که fish_trace تنظیم شده باشد، ردگیری اجرای دستورات نیز به‌طور پیش‌فرض در stderr خروجی داده می‌شود. با استفاده از گزینه --debug-output می‌توانید این خروجی را در یک فایل ذخیره کنید: > fish --debug='complete,*history*' --debug-output=/tmp/fish.log --init-command='set fish_trace on' این گزینه‌ها همچنین از طریق متغیرهای FISH_DEBUG و FISH_DEBUG_OUTPUT قابل تغییر هستند. دسته‌بندی‌های فعال‌شده از طریق --debug به دسته‌بندی‌های فعال‌شده توسط $FISH_DEBUG اضافه می‌شوند؛ بنابراین با قرار دادن پیشوند - در ابتدای آن‌ها می‌توان غیرفعالشان کرد (برای نمونه، reader-*,-ast* اشکال‌زدایی reader را فعال و اشکال‌زدایی ast را غیرفعال می‌کند). فایل مشخص‌شده در --debug-output نسبت به فایل تعیین‌شده در FISH_DEBUG_OUTPUT اولویت دارد. مثال‌ها (EXAMPLES) برای اجرای ساده fish: fish برای اجرای یک فایل اسکریپت با fish: fish /path/to/script.fish برای اجرای چند دستور با fish: fish -c 'echo Hi there!' همچنین می‌توانید آرگومان‌هایی را به آن دستورات ارسال کنید: > fish -c 'printf %s\n $argv' "first line" "second line" first line second line برای اجرای یک اسکریپت پس از اجرای یک فایل اولیه: fish --init-cmd "source otherfile" script.fish برای پروفایل‌کردن زمان راه‌اندازی fish و پیدا کردن بخشی از پیکربندی که بیشترین زمان را می‌گیرد: fish --profile-startup /tmp/start.prof -ic exit sort -nk2 /tmp/start.prof همچنین ببینید (SEE ALSO) fish-doc(1), fish-tutorial(1), fish-faq(1), fish-for-bash-users(1), fish-terminal-compatibility(1), fish_indent(1), fish_key_reader(1) وب‌سایت رسمی: حق نشر (COPYRIGHT) توسعه‌دهندگان fish-shell 4.9 September 7, 2026 FISH(1)