Pageferry
FAQ

Bash-Debug: Antworten zu Exit-Codes, Argumenten und Lintern

05

Bash-Grundlagen

Wie hilft der Bash-Debug-Modus bei einem Fehler im Skript?

Die Option -x lässt Bash jeden Befehl samt seiner expandierten Argumente genau vor der Ausführung ausgeben, sodass Sie exakt sehen, wo das Skript fehlschlägt. Starten Sie es mit bash -x script.sh in WSL oder auf einem Linux-System, das Ihnen gehört, und setzen Sie -eu, um bei der ersten Fehlermeldung oder einer ungesetzten Variable abzubrechen. In Pageferry hält die Shell-Karte diese Ablaufverfolgung zusammen mit dem tatsächlichen Exit-Code zusammen.

Was ist ein Bash-Linter und wann sollte ich ihn ausführen?

Ein Bash-Linter ist ein separates Programm, das Ihr Skript liest, ohne es auszuführen, und auf wahrscheinliche Fehler hinweist, wie etwa eine nicht in Anführungszeichen gesetzte Variable. Sie wählen Ihren eigenen Linter, installieren ihn in WSL oder auf Ihrem Linux-System und bitten den Agenten, ihn mit Shell auszuführen. Die Karte zeigt dann dessen Meldungen und den Exit-Code. Ein Linter ersetzt keine Testausführung.

Wie übergebe ich Argumente an ein Bash-Skript?

Argumente sind die Werte nach dem Skriptnamen, zum Beispiel bash script.sh one two, und das Skript liest sie als $1, $2 und so weiter. $# hält die Anzahl, und "$@" hält alle als separate Wörter. Um erforderliche Flags und Argumente zu prüfen, testen Sie $# am Anfang, geben Sie eine usage-Meldung auf standard error aus und beenden Sie das Skript mit exit 2. Vermeiden Sie es, Geheimnisse als Befehlszeilenargumente zu übergeben: Andere Benutzer sehen sie in der Prozessliste.

Was bedeutet der Exit-Code 127 in Bash?

Ein Exit-Code von 127 bedeutet, dass der Befehl nicht gefunden wurde, meist wegen eines Tippfehlers, eines nicht installierten Programms oder eines PATH, der ihn nicht enthält. Die Shell gibt eine Meldung aus, und Pageferry zeigt dieselbe Meldung und die Nummer in der Shell-Karte. Ein Bash-Skript, das Apps mit Flags ausführt, sollte den Exit-Code jeder gestarteten App prüfen.

Was bedeutet der Exit-Code 126 in Bash?

Ein Code von 126 bedeutet, dass die Datei gefunden wurde, aber nicht ausgeführt werden kann, meist weil ihr die Ausführberechtigung fehlt oder sie kein Programm ist. Bei Ihrem eigenen Skript fügt chmod +x script.sh die Berechtigung hinzu, danach kann ./script.sh es über die Shebang-Zeile starten. Wenn Sie unsicher sind, führen Sie zuerst bash script.sh aus und lesen Sie den Exit-Code in der Karte.

Pageferry verwenden

Ist codedguru.com die offizielle Pageferry-Website?

Ja, codedguru.com ist die offizielle Pageferry-Website. Die Download-Schaltfläche liefert das Original-Setupprogramm mit etwa 34 MB, und Sie können den SHA-256-Prüfwert mit dem veröffentlichten Manifest vergleichen, bevor Sie es ausführen. Windows SmartScreen kann warnen, da das Setupprogramm noch nicht signiert ist. Fragen zur App gehen über die Schaltfläche Send feedback darin.

Kann der Agent mit Bash-Skripten auf einem Linux-System arbeiten?

Ja, über WSL auf Ihrem eigenen PC oder per SSH auf einem Linux-System, das Ihnen gehört. Pageferry selbst ist eine App für Windows 10 und 11, also chatten Sie auf Windows, die Datei-Tools arbeiten im Arbeitsordner des Chats, und Shell führt Befehle in der von Ihnen gewählten Umgebung aus. Verwenden Sie nur Maschinen, die Sie verwalten dürfen, und testen Sie zuerst an einer Kopie.

Sind die Ergebnisse immer richtig?

Nein. Der Agent führt die Befehle aus und zeigt echte Ausgaben, aber ein Skript kann trotzdem falsch sein, und ein Modell kann das Problem falsch lesen. Lesen Sie jeden Diff, führen Sie das Skript mit Testwerten aus und prüfen Sie den Exit-Code selbst. Pageferry stellt die Fakten in eine Karte; die Entscheidung, eine Änderung zu akzeptieren, liegt bei Ihnen, und eine abgelehnte Bearbeitung ändert nichts.

Was ist der Unterschied zwischen Ask first und Plan only?

Ask first ist ein Modus, in dem der Agent handeln kann, aber vor jeder Aktion, die etwas ändert, wie das Schreiben einer Datei, pausiert, und bei einer Bearbeitung sehen Sie den Diff und akzeptieren oder lehnen ihn ab. Plan only erstellt einen Plan und führt nichts aus: keine Befehle und keine Dateiänderungen. Sie wechseln den Modus, um den Plan auszuführen. Auto-run handelt sofort.

Kann ich mehrere Jobs parallel ausführen?

Ja, das Task-Tool startet Sub-Agenten parallel, und innerhalb eines Bash-Skripts können Sie gleichzeitige Jobs im Hintergrund mit & starten und wait verwenden. Die Exit-Code-Aggregation ist dann Ihre Aufgabe: Warten Sie auf jede Prozess-ID und sammeln Sie ihren Status selbst, da $? nur den Status des letzten Befehls enthält. Testen Sie ein solches Skript auf Ihrer eigenen Maschine.

Modelle, Datenschutz und Download

Verlassen meine Dateien den PC, wenn ich ein Cloud-Modell verwende?

Ja, bei einem Cloud-Modell geht der Prompt, einschließlich des Textes der vom Agenten gelesenen Dateien, an diesen Anbieter. Bei einem lokalen Modell verlässt nichts die Maschine. In beiden Fällen bleiben Chats, Arbeitsordner und API-Schlüssel auf dem PC, und Geheimnisse in Tool-Ausgaben werden rotiert, bevor sie das Modell erreichen. Sie wählen den Endpunkt, also wählen Sie ihn mit Ihrem Skript im Blick.

Ist das Setupprogramm signiert?

Nein, das Setupprogramm ist noch nicht signiert, daher kann Windows SmartScreen beim Ausführen warnen. Vergleichen Sie den SHA-256-Prüfwert der heruntergeladenen Datei mit dem veröffentlichten Manifest, und wählen Sie dann unter Mehr Informationen Anyway ausführen. In Windows gibt certutil -hashfile mit dem Pfad der Datei und SHA256 den zu vergleichenden Wert aus.

Wie groß ist das Setupprogramm?

34 MB ist die Größe des Setupprogramms, das die Download-Schaltfläche liefert. Es gibt auch eine portable einzelne .exe mit etwa 25 MB, aber die Schaltfläche liefert diese nicht. Beide sind für Windows 10 und 11 gebaut, und die aktuelle Version ist 2.9.26. Nach der Installation zeigt die App eine Update-Schaltfläche an, wenn eine neue Version bereitsteht.

Benötigt Pageferry ein Konto oder eine Netzwerkverbindung?

Es wird kein Konto benötigt, um die App auszuführen. Ob Sie eine Netzwerkverbindung benötigen, hängt vom Modell ab: Ein Cloud-KI-Anbieter benötigt sie, ein lokales Modell nicht, und Websuche, Update-Prüfungen und die Steuerung von Chats über einen Telefonbrowser sind optionale Netzwerkfunktionen. Die Telefonsteuerung nutzt eine ausgehende Verbindung und kann deaktiviert werden.

Pageferry für Windows

Debuggen Sie Ihr nächstes Bash-Skript mit einem sichtbaren Exit-Code

Pageferry herunterladen ↗