Hackcat

Какво да правим, ако същата команда работи локално, но показва синтактични грешки в Agent?

Първо потвърдете кой шел всъщност се използва от Agent, след това коригирайте параметрите, цитирането и пътищата.

Входната точка за изпълнение може да използва различен шел

Не съдете за шела на Agent единствено въз основа на операционната система или терминала, който отваряте ръчно. На Windows както десктоп, така и CLI имплементациите дават приоритет на Git Bash; ако не бъде намерен, те използват cmd; не е фиксиран на PowerShell. Unix десктопите избират наличния шел на потребителя на хоста, докато CLI използва bash за обикновени пътища на команди. Промяната на входната точка може да промени начина, по който същият низ се интерпретира.

Първо проверете пътищата и методите за цитиране

Нека Agent първо потвърди действителния шел, след което обработете пътища, съдържащи интервали, URL адреси с въпросителни знаци или свързващи символи, и синтаксис на параметри, специфичен за платформата. Някои шелове третират нецитирани символи като заместващи знаци, което води до грешки, които изглеждат като липсващи файлове. Не променяйте само един подозрителен символ и не продължавайте с пакетно изпълнение; можете първо да разделите задачата на една единствена, проверима команда само за четене, за да наблюдавате резултата.

Разграничете проблемите със синтаксиса от липсващите инструменти

Ако грешката е „програмата не е намерена“, първо проверете инсталацията на инструмента и пътищата; ако достъпът е отказан, проверете системните разрешения; само грешките при разбор изискват фокусиране върху коригирането на синтаксиса на шела. Дори ако последната част от командата показва успех, проверете по-ранните изходи за грешки, за да избегнете игнорирането на частични неуспехи. Потвърдете, че поведението на една стъпка е правилно, преди да възстановите пълната задача; няма нужда да нулирате токени за връзка или да повишавате разрешенията на клиента по подразбиране за това.