Pageferry
Întrebări frecvente

Răspunsuri la debug Bash: coduri de ieșire, argumente și linter-e

05

Noțiuni de bază Bash

Cum ajută modul debug Bash când un script eșuează?

Opțiunea -x face ca Bash să afișeze fiecare comandă, împreună cu argumentele sale expandate, chiar înainte de execuție, astfel încât să vezi exact unde greșește scriptul. Îl pornești cu `bash -x script.sh` în WSL sau pe un sistem Linux pe care îl deții, iar setarea `-eu` oprește execuția la prima eroare sau variabilă nedefinită. În Pageferry, cardul Shell păstrează acest trace împreună cu codul de ieșire real.

Ce este un linter Bash și când ar trebui să îl rulez?

Un linter Bash este un program separat care citește scriptul fără să îl execute și indică greșelile probabile, cum ar fi o variabilă necitată. Îți alegi propriul linter, îl instalezi în WSL sau pe sistemul tău Linux și ceri agentului să îl ruleze cu Shell. Cardul afișează apoi mesajele și codul său de ieșire. Un linter nu înlocuiește un test de execuție.

Cum transmit argumente unui script Bash?

Argumentele sunt valorile de după numele scriptului, de exemplu `bash script.sh one two`, iar scriptul le citește ca $1, $2 și așa mai departe. $# deține numărul, iar "$@" le deține pe toate ca cuvinte separate. Pentru a adăuga flag-uri și argumente obligatorii, testează $# la început, afișează un mesaj de utilizare pe standard error și ieși cu codul 2. Oprește transmiterea secretelor ca argumente de linie de comandă: alți utilizatori le pot vedea în lista de procese.

Ce înseamnă codul de ieșire 127 în Bash?

Un cod de ieșire de 127 înseamnă că comanda nu a fost găsită, de obicei din cauza unei greșeli de tastare, a unui program neinstalat sau a unui PATH care nu îl include. Shell-ul afișează un mesaj, iar Pageferry arată același mesaj și numărul în cardul Shell. Un script Bash care rulează aplicații cu flag-uri ar trebui să verifice codul de ieșire al fiecărei aplicații pe care o pornește.

Ce înseamnă codul de ieșire 126 în Bash?

Un cod de 126 înseamnă că fișierul a fost găsit, dar nu poate fi executat, de obicei pentru că îi lipsește permisiunea de execuție sau nu este un program. Pentru propriul script, `chmod +x script.sh` adaugă permisiunea, după care `./script.sh` îl poate porni prin linia shebang. Dacă nu ești sigur, pornește mai întâi `bash script.sh` și citește codul de ieșire din card.

Utilizarea Pageferry

Este codedguru.com site-ul oficial Pageferry?

Da, codedguru.com este site-ul oficial Pageferry. Butonul de descărcare oferă programul original de instalare de aproximativ 34 MB, iar poți compara suma de control SHA-256 cu manifestul publicat înainte să îl pornești. Windows SmartScreen poate avertiza deoarece instalatorul nu este încă semnat digital. Întrebările despre aplicație se trimit prin butonul Send feedback din interiorul acesteia.

Poate agentul să lucreze cu scripturi Bash pe un sistem Linux?

Da, prin WSL pe propriul PC sau prin SSH către un sistem Linux pe care îl deții. Pageferry însuși este o aplicație pentru Windows 10 și 11, așa că discuți pe Windows, instrumentele pentru fișiere funcționează în dosarul de lucru al chat-ului, iar Shell rulează comenzi în mediul ales. Folosește doar mașini pe care ai dreptul să le administrezi și testează mai întâi pe o copie.

Sunt rezultatele întotdeauna corecte?

Nu. Agentul rulează comenzile și afișează output real, dar un script poate fi totuși greșit, iar un model poate interpreta greșit problema. Citește fiecare diff, rulează scriptul cu valori de test și verifică singur codul de ieșire. Pageferry pune faptele într-un card; decizia de a accepta o modificare îți aparține, iar o editare respinsă nu schimbă nimic.

Care este diferența dintre Ask first și Plan only?

Ask first este un mod în care agentul poate acționa, dar se oprește înainte de fiecare acțiune care modifică ceva, cum ar fi scrierea unui fișier, iar pentru o editare vezi diff-ul și îl accepți sau respingi. Plan only scrie un plan și nu rulează nimic: nici comenzi, nici modificări de fișiere. Comuți modul pentru a executa planul. Auto-run acționează imediat.

Pot rula mai multe joburi în paralel?

Da, tool-ul task pornește sub-agente în paralel, iar într-un script Bash poți începe joburi concurente în fundal cu & și poți folosi wait. Agregarea codurilor de ieșire este atunci responsabilitatea ta: așteaptă fiecare id de proces și colectează-ți singur statusul, deoarece $? deține doar statusul ultimei comenzi. Testează un astfel de script pe propria mașină.

Modele, confidențialitate și descărcare

Fișierele mele părăsesc PC-ul când folosesc un model cloud?

Da, cu un model cloud, promptul, inclusiv textul fișierelor pe care agentul le citește, merge la acel furnizor. Cu un model local, nimic nu părăsește mașina. În ambele cazuri, chat-urile, dosarele de lucru și cheile API rămân pe PC, iar datele sensibile din output-ul tool-urilor sunt redactate înainte să ajungă la model. Tu alegi endpoint-ul, așa că alege-l ținând cont de scriptul tău.

Este instalatorul semnat digital?

Nu, instalatorul nu este încă semnat digital, așa că Windows SmartScreen poate avertiza când îl pornești. Compară suma de control SHA-256 a fișierului descărcat cu manifestul publicat și, apoi, alege Run anyway sub More info. În Windows, `certutil -hashfile` cu calea fișierului și SHA256 afișează valoarea de comparat.

Cât de mare este programul de instalare?

34 MB este dimensiunea programului de instalare pe care îl oferă butonul de descărcare. Există și un .exe portabil single de aproximativ 25 MB, dar butonul nu îl oferă. Ambele sunt create pentru Windows 10 și 11, iar versiunea curentă este 2.9.26. După instalare, aplicația afișează un buton Update când o nouă versiune este gata.

Are Pageferry nevoie de un cont sau de o conexiune la rețea?

Nu este nevoie de un cont pentru a rula aplicația. Fie că ai nevoie de rețea depinde de model: un furnizor AI cloud are nevoie de el, un model local nu, iar web search, verificările de actualizare și controlul chat-urilor de pe un browser de telefon sunt funcții opționale de rețea. Controlul de pe telefon folosește o conexiune de ieșire și poate fi oprit.

Pageferry pentru Windows

Debuguiește următorul tău script Bash cu un cod de ieșire vizibil

Descarcă Pageferry ↗