Bash debug: antwoorden over exitcodes, argumenten en linters
Bash-basis
Hoe helpt bash debug-modus bij het falen van een script?
De optie -x zorgt ervoor dat Bash elke opdracht afdrukt, inclusief de uitgebreide argumenten, direct voordat deze wordt uitgevoerd, zodat je precies ziet waar het script misgaat. Je start het als bash -x script.sh in WSL of op een Linux-systeem dat je bezit, en -eu stopt de uitvoering bij de eerste fout of een niet-gedefinieerde variabele. In Pageferry houdt de Shell-kaart deze trace samen met de werkelijke exitcode bij.
Wat is een bash linter en wanneer moet ik deze uitvoeren?
Een bash linter is een apart programma dat je script leest zonder het uit te voeren en wijst op mogelijke fouten, zoals een niet-geciteerde variabele. Je kiest je eigen linter, installeert deze in WSL of op je Linux-systeem en vraagt de agent deze uit te voeren met Shell. De kaart toont vervolgens de berichten en de exitcode. Een linter vervangt geen testuitvoering.
Hoe geef ik argumenten door aan een Bash-script?
Argumenten zijn de waarden achter de scriptnaam, bijvoorbeeld bash script.sh one two, en het script leest ze als $1, $2 en zo verder. $# houdt het aantal bij, en "$@" houdt ze allemaal als afzonderlijke woorden bij. Om vereiste vlaggen en argumenten toe te voegen, test $# aan het begin, druk een gebruiksinstructie af naar standard error en exit 2. Stop met het doorgeven van geheime waarden als opdrachtregelargumenten: andere gebruikers zien ze in de proceslijst.
Wat betekent exitcode 127 in Bash?
Een exitcode van 127 betekent dat de opdracht niet is gevonden, meestal door een typefout, een niet-geïnstalleerd programma of een PATH die het niet bevat. De shell geeft een bericht weer, en Pageferry toont hetzelfde bericht en het nummer in de Shell-kaart. Een Bash-script dat apps met vlaggen uitvoert, moet de exitcode van elke gestarte app controleren.
Wat betekent exitcode 126 in Bash?
Een code van 126 betekent dat het bestand wel is gevonden, maar niet kan worden uitgevoerd, meestal omdat het de uitvoeringsmachtiging mist of geen programma is. Bij je eigen script voegt chmod +x script.sh de machtiging toe, waarna ./script.sh het kan starten via de shebang-lijn. Als je twijfelt, voer dan eerst bash script.sh uit en lees de exitcode in de kaart.
Pageferry gebruiken
Is codedguru.com de officiële website van Pageferry?
Ja, codedguru.com is de officiële website van Pageferry. De downloadknop geeft het originele installatieprogramma van ongeveer 34 MB, en je kunt de SHA-256-controlesom vergelijken met de gepubliceerde manifest voordat je het uitvoert. Windows SmartScreen kan waarschuwen omdat het installatieprogramma nog niet gecodegetekend is. Vragen over de app gaan via de Send feedback-knop binnen de app.
Kan de agent werken met Bash-scripts op een Linux-systeem?
Ja, via WSL op je eigen pc of via SSH naar een Linux-systeem dat je bezit. Pageferry zelf is een app voor Windows 10 en 11, dus je chat op Windows, bestandswerktuigen werken in de werkmap van de chat, en Shell voert opdrachten uit in de omgeving die je kiest. Gebruik alleen machines die je mag beheren en test eerst op een kopie.
Zijn de resultaten altijd goed?
Nee. De agent voert de opdrachten uit en toont echte uitvoer, maar een script kan nog steeds fout zijn en een model kan het probleem verkeerd interpreteren. Lees elke diff, voer het script uit met testwaarden en controleer de exitcode zelf. Pageferry zet de feiten in een kaart; de beslissing om een wijziging te accepteren blijft bij jou, en een afgekeurde bewerking verandert niets.
Wat is het verschil tussen Ask first en Plan only?
Ask first is een modus waarin de agent kan handelen, maar pauzeert voordat elke actie die iets wijzigt, zoals het schrijven van een bestand, en voor een bewerking zie je de diff en accepteer of wijs je deze af. Plan only schrijft een plan en voert niets uit: geen opdrachten en geen bestandswijzigingen. Je schakelt de modus om het plan uit te voeren. Auto-run handelt direct.
Kan ik meerdere taken parallel uitvoeren?
Ja, het taakwerktuig start sub-agents parallel, en binnen een Bash-script kun je gelijktijdige taken op de achtergrond starten met & en wait gebruiken. Uitvoeringscode-aggregatie is dan jouw taak: wacht op elke proces-id en verzamel de status zelf, omdat $? alleen de status van de laatste opdracht bevat. Test zo'n script op je eigen machine.
Modellen, privacy en download
Verlaten mijn bestanden de pc wanneer ik een cloudmodel gebruik?
Ja, bij een cloudmodel gaat de prompt, inclusief de tekst van bestanden die de agent leest, naar die provider. Bij een lokaal model verlaat niets de machine. In beide gevallen blijven chats, werkmap en API-sleutels op de pc, en geheime waarden in uitvoer worden geredigeerd voordat ze het model bereiken. Je kiest het eindpunt, dus kies het met je script in gedachten.
Is het installatieprogramma gecodegetekend?
Nee, het installatieprogramma is nog niet gecodegetekend, dus Windows SmartScreen kan waarschuwen wanneer je het uitvoert. Vergelijk de SHA-256-controlesom van het gedownloade bestand met de gepubliceerde manifest, en kies daarna Pas toch uit onder Meer info. In Windows voert certutil -hashfile met het pad van het bestand en SHA256 de waarde uit om te vergelijken.
Hoe groot is het installatieprogramma?
34 MB is de grootte van het installatieprogramma dat de downloadknop geeft. Er bestaat ook een draagbare single .exe van ongeveer 25 MB, maar de knop geeft deze niet. Beide zijn gebouwd voor Windows 10 en 11, en de huidige versie is 2.9.26. Na installatie toont de app een knop Bijwerken wanneer een nieuwe versie klaar is.
Heeft Pageferry een account of een netwerkverbinding nodig?
Er is geen account nodig om de app uit te voeren. Of je een netwerk nodig hebt, hangt af van het model: een cloud-AI-provider heeft het nodig, een lokaal model niet, en webzoekopdracht, updatecontroles en de besturing van chats vanaf een telefoonbrowser zijn optionele netwerkfuncties. De telefoonbesturing gebruikt één uitgaande verbinding en kan worden uitgeschakeld.