Hackcat

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

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

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

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

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

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

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

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