Hackcat

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

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

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

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

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

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

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

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