Pageferry
Produs

Cod de ieșire Bash, output de script și diff-uri de fișiere într-un card de chat

01

Un cod de ieșire Bash este numărul pe care îl returnează o comandă la final: 0 pentru succes, 1 până la 255 pentru eșec. Pageferry execută scriptul tău cu Shell, citește acel număr din procesul real și îl plasează într-un card de chat alături de output. Editează și fișierele, afișând mai întâi diff-ul.

01

Execută scripturi

Shell execută scriptul tău Bash în WSL sau prin SSH și afișează codul de ieșire real în chat.

02

Citește fișiere

read_file și grep afișează scriptul tău în chat, așa că poți găsi unde sunt folosite $1 și $2.

03

Editează cu un diff

edit_file propune o modificare și afișează diff-ul. Sub Ask first așteaptă confirmarea ta.

Ce poate face agentul

Cum arată un rulaj în chat

Fiecare acțiune devine un card în chat. Shell raportează codul de ieșire real, edit_file afișează un diff, iar Ask first așteaptă confirmarea ta înainte să se modifice ceva. Deschide un card pentru a citi output-ul complet sau diff-ul complet.

Patru sarcini cu coduri de ieșire și argumente

Verifică codul de ieșire când lipsește un argument

Îl rogi pe agent să afle ce se întâmplă când check.sh primește un argument. read_file deschide scriptul, iar Shell execută bash check.sh fără nimic după nume. Cardul afișează output-ul real și codul de ieșire, care este 2 dacă scriptul tipărește linia de utilizare la standard error și se termină cu exit 2. Codul de ieșire Bash al ultimei comenzi se află în $?, iar apelantul vede doar acel număr, așa că un script care se termină cu un cod clar este mai ușor de testat decât unul care returnează întotdeauna 1. Shell execută apoi din nou scriptul cu două valori, iar cardul ar trebui să arate 0. Dacă codurile te surprind, citește cardul, apoi lasă edit_file să propună o remediere sub Ask first și revizuiește diff-ul.

Analizează opțiunile cu getopts

Tipezi „explică-mi getopt” și agentul răspunde în cuvinte simple: getopts este un builtin Bash pentru opțiuni scurte precum -v sau -f file, în timp ce getopt este o comandă separată care gestionează și opțiuni lungi precum --file și se comportă diferit între sisteme. Apoi read_file deschide scriptul tău, edit_file adaugă un ciclu getopts și vezi diff-ul. Shell execută scriptul cu -v, cu -f și cu o opțiune greșită, iar fiecare card are propriul cod de ieșire. O opțiune greșită ar trebui să se termine cu 2, codul uzual pentru utilizare greșită. Pentru un număr mic de opțiuni, un ciclu while cu case și shift este suficient, așa că cere acea versiune dacă o preferi. Acceptă diff-ul doar după ce l-ai citit.

Păstrează valorile cu spații intacte

Trecerea argumentelor cu spații către un script eșuează dacă valorile nu sunt între ghilimele, deoarece shell-ul le împarte în cuvinte separate. Agentul citește fișierul cu read_file, găsește $1 și $@ necotate și edit_file propune ghilimele duble în jurul lor. Shell execută apoi scriptul cu o valoare precum „two words”, iar output-ul arată dacă ajunge ca o singură linie sau ca două. Una dintre tehnicile de gestionare a argumentelor de linie de comandă este shift, care elimină prima valoare astfel încât un ciclu să poată parcurge restul, iar agentul o poate adăuga în același diff. Sub Ask first editarea așteaptă de la tine. Revizuiește diff-ul, rulează din nou testul și compară cele două output-uri singur.

Oprește-te la erori cu set -eu

Cine caută „bash exit script” caută de obicei builtin-ul exit: exit N se termină cu status N, în timp ce return N părăsește doar o funcție. Agentul poate adăuga set -eu și set -o pipefail la început, astfel încât scriptul să se oprească la erori și la variabile nedefinite, apoi execută fișierul cu bash -n pentru o verificare a sintaxei și cu bash -x pentru a tipări fiecare comandă. Dacă return nu dă statusul ultimei comenzi, de obicei a rulat o altă comandă între timp, deoarece $? deține doar codul de ieșire al celei mai recente. Cardul Shell afișează trace-ul. Citește-l de sus, compară-l cu scriptul și decidă dacă editarea rămâne.

Ce nu face Pageferry

Pageferry este o aplicație desktop pentru Windows, nu un serviciu găzduit sau un plugin. Este destinat doar fișierelor tale, PC-ului tău și serverelor pe care ești autorizat să le folosești. Păstrezi munca în acea limită, deoarece agentul nu o impune, iar Shell, web și SSH nu sunt limitate la folderul de lucru. Codul și rezultatele pot fi greșite, așa că citește diff-ul și testează. Secretele care apar în output-ul tool-urilor sunt mascate înainte să ajungă la model.

Pageferry pentru Windows

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

Descarcă Pageferry ↗