Pageferry
Часті запитання

Відповіді щодо налагодження Bash: коди виходу, аргументи та лінтери

05

Основи Bash

Як режим налагодження bash допомагає, коли скрипт падає?

Опція -x змушує Bash друкувати кожну команду з розгорнутими аргументами одразу перед її виконанням, щоб ви бачили, де саме скрипт дав збій. Ви запускаєте його як bash -x script.sh у WSL або на системі Linux, якою ви володієте, а прапор -eu зупиняє виконання при першій помилці або невизначеній змінній. У Pageferry картка Shell об’єднує цей трасування з реальним кодом виходу.

Що таке лінтер Bash і коли його запускати?

Лінтер Bash — це окрема програма, яка читає ваш скрипт без його виконання і вказує на ймовірні помилки, наприклад, незакорковану змінну. Ви обираєте власний лінтер, встановлюєте його в WSL або на своїй системі Linux і просите агента запустити його через Shell. Картка відображає його повідомлення та код виходу. Лінтер не замінює тестове виконання.

Як передати аргументи скрипту Bash?

Аргументи — це значення після імені скрипта, наприклад bash script.sh one two, і скрипт читає їх як $1, $2 і так далі. $# зберігає кількість, а "$@" — всі їхні значення як окремі слова. Щоб додати обов’язкові прапорці та аргументи, перевірте $# на початку, виведіть рядок використання в стандартний потік помилок і завершіться з кодом 2. Припиніть передавати секрети як аргументи командного рядка: інші користувачі бачать їх у списку процесів.

Що означає код виходу 127 у Bash?

Код виходу 127 означає, що команду не знайдено, зазвичай через одрук, відсутність програми або відсутність її в PATH. Оболонка виводить повідомлення, а Pageferry показує те саме повідомлення та число в картці Shell. Скрипт Bash, який запускає програми з прапорцями, повинен перевіряти код виходу кожної запущеної програми.

Що означає код виходу 126 у Bash?

Код 126 означає, що файл знайдено, але його не можна виконати, зазвичай через відсутність права на виконання або якщо це не програма. Для власного скрипта chmod +x script.sh додає це право, після чого ./script.sh може запустити його через рядок shebang. Якщо ви не впевнені, спочатку запустіть bash script.sh і прочитайте код виходу в картці.

Використання Pageferry

Чи є codedguru.com офіційним сайтом Pageferry?

Так, codedguru.com — це офіційний сайт Pageferry. Кнопка завантаження надає оригінальну інсталяційну програму розміром близько 34 МБ, і ви можете порівняти її хеш-суму SHA-256 з опублікованим маніфестом перед запуском. Windows SmartScreen може попередити, оскільки інсталятор ще не має кодового підпису. Питання щодо програми надходять через кнопку Send feedback всередині неї.

Чи може агент працювати зі скриптами Bash на системі Linux?

Так, через WSL на вашому власному ПК або через SSH до системи Linux, якою ви володієте. Pageferry — це програма для Windows 10 і 11, тому ви спілкуєтеся на Windows, інструменти файлів працюють у робочій папці чату, а Shell виконує команди в середовищі, яке ви обираєте. Використовуйте лише машини, якими ви маєте право адмініструвати, і спочатку тестуйте на копії.

Чи завжди результати правильні?

Ні. Агент виконує команди і показує реальний вивід, але скрипт все одно може бути неправильним, а модель може неправильно інтерпретувати проблему. Читайте кожну diff, запускайте скрипт із тестовими значеннями та перевіряйте код виходу самостійно. Pageferry фіксує факти в картці; рішення прийняти зміну залишається за вами, а відхилене редагування нічого не змінює.

У чому різниця між Ask first і Plan only?

Ask first — це режим, у якому агент може діяти, але робить паузу перед кожною дією, що щось змінює, наприклад запис файлу, і для редагування ви бачите diff і приймаєте або відхиляєте його. Plan only створює план і нічого не виконує: ні команд, ні змін файлів. Ви переключаєте режим, щоб виконати план. Auto-run діє миттєво.

Чи можу я запускати кілька завдань паралельно?

Так, інструмент task запускає суб’агентів паралельно, а всередині скрипту Bash ви можете запускати конкурентні завдання у фоновому режимі з & і використовувати wait. Агрегація кодів виходу тоді є вашим завданням: зачекайте на кожен ідентифікатор процесу і самостійно зберіть його статус, оскільки $? зберігає лише статус останньої команди. Протестуйте такий скрипт на власній машині.

Моделі, конфіденційність та завантаження

Чи залишають мої файли комп’ютер, коли я використовую хмарну модель?

Так, з хмарною моделлю запит, включаючи текст файлів, які читає агент, надходить до цього постачальника. З локальною моделлю нічого не залишає машину. В обох випадках чати, робочі папки та ключі API залишаються на ПК, а секрети у виводі інструментів маскуються перед надходженням до моделі. Ви обираєте кінцеву точку, тому обирайте її з урахуванням вашого скрипта.

Чи має інсталятор кодовий підпис?

Ні, інсталятор ще не має кодового підпису, тому Windows SmartScreen може попередити під час запуску. Порівняйте хеш-суму SHA-256 завантаженого файлу з опублікованим маніфестом, і лише тоді виберіть Run anyway під More info. У Windows команда certutil -hashfile з шляхом до файлу та SHA256 виводить значення для порівняння.

Який розмір інсталяційної програми?

34 МБ — це розмір інсталяційної програми, яку надає кнопка завантаження. Також існує портативний одиночний .exe розміром близько 25 МБ, але кнопка його не надає. Обидва зібрані для Windows 10 і 11, а поточна версія — 2.9.26. Після встановлення програма показує кнопку Update, коли нова версія готова.

Чи потрібен обліковий запис або мережеве з’єднання для Pageferry?

Для запуску програми обліковий запис не потрібен. Чи потрібне мережеве з’єднання, залежить від моделі: хмарний постачальник ШІ потребує його, локальна модель — ні, а пошук у мережі, перевірки оновлень та керування чатами з браузера телефону є опціональними мережевими функціями. Керування з телефону використовує одне з’єднання на вихід і може бути вимкнено.

Pageferry для Windows

Налаштуйте ваш наступний скрипт Bash з видимим кодом виходу

Завантажити Pageferry ↗