Hackcat

چه کار کنیم اگر یک دستور در Agent خطاهای نحوی نشان می‌دهد اما به صورت محلی اجرا می‌شود؟

ابتدا پوسته (shell) واقعی مورد استفاده توسط Agent را تأیید کنید، سپس پارامترها، نقل قول‌ها و مسیرها را اصلاح کنید.

نقطه ورود اجرا ممکن است از پوسته متفاوتی استفاده کند

به پوسته Agent صرفاً بر اساس سیستم عامل یا ترمینالی که به صورت دستی باز می‌کنید قضاوت نکنید. در Windows، هر دو پیاده‌سازی دسکتاپ و CLI اولویت را به Git Bash می‌دهند؛ اگر پیدا نشود، از cmd استفاده می‌کنند؛ این به PowerShell ثابت نیست. دسکتاپ‌های یونیکس پوسته موجود کاربر را در میزبان انتخاب می‌کنند، در حالی که CLI از bash برای مسیرهای دستور معمولی استفاده می‌کند. تغییر نقطه ورود ممکن است نحوه تفسیر یک رشته یکسان را تغییر دهد.

ابتدا مسیرها و روش‌های نقل قول را بررسی کنید

ابتدا Agent را وادار کنید تا پوسته واقعی را تأیید کند، سپس مسیرهای حاوی فاصله‌ها، URLهای دارای علامت سوال یا کانکتورها، و نحو پارامترهای خاص پلتفرم را مدیریت کنید. برخی از پوسته‌ها کاراکترهای نقل قول نشده را به عنوان wildcard در نظر می‌گیرند و باعث خطاهایی می‌شوند که شبیه «فایل یافت نشد» هستند. فقط یک کاراکتر مشکوک را تغییر ندهید و اجرای دسته‌ای را ادامه ندهید؛ می‌توانید ابتدا وظیفه را به یک دستور فقط خواندنی قابل تأیید تقسیم کنید تا نتیجه را مشاهده کنید.

تمایز بین مشکلات نحوی و ابزارهای گمشده

اگر خطا «برنامه یافت نشد» است، ابتدا نصب ابزار و مسیرها را بررسی کنید؛ اگر دسترسی رد شد، مجوزهای سیستم را بررسی کنید؛ فقط خطاهای تجزیه نیاز به تمرکز بر اصلاح نحو پوسته دارند. حتی اگر آخرین بخش دستور موفقیت‌آمیز نشان داده شود، خروجی‌های خطای قبلی را بررسی کنید تا از نادیده گرفتن شکست‌های جزئی جلوگیری کنید. قبل از بازگرداندن وظیفه کامل، رفتار تک مرحله‌ای را تأیید کنید؛ نیازی به بازنشانی توکن‌های اتصال یا افزایش مجوزهای کلاینت به طور پیش‌فرض برای این کار نیست.