Pageferry
Produkt

Exit kód Bash, výstup skriptu a diffy souborů v chatové kartě

01

Exit kód je číslo, které příkaz vrací při ukončení: 0 pro úspěch, 1 až 255 pro chybu. Pageferry spustí váš skript pomocí Shell, přečte toto číslo z reálného procesu a umístí ho do chatové karty vedle výstupu. Také upravuje soubory a nejprve ukáže diff.

01

Spouštění skriptů

Shell spustí váš Bash skript v WSL nebo přes SSH a zobrazí skutečný exit kód v chatu.

02

Čtení souborů

read_file a grep zobrazí váš skript v chatu, takže můžete najít, kde se používá $1 a $2.

03

Úpravy s diffem

edit_file navrhne změnu a zobrazí diff. V režimu Ask first čeká na vaše potvrzení.

Co agent umí

Jak běh vypadá v chatu

Každá akce se stane kartou v chatu. Shell hlásí skutečný exit kód, edit_file ukazuje diff a Ask first čeká na vaše potvrzení, než se něco změní. Otevřete kartu pro přečtení celého výstupu nebo celého diffu.

Čtyři úkoly s exit kódy a argumenty

Zkontrolujte exit kód při chybějícím argumentu

Požádáte agenta, aby zjistil, co se stane, když check.sh nedostane argument. read_file otevře skript a Shell spustí bash check.sh bez čehokoli za názvem. Karta zobrazí skutečný výstup a exit kód, což je 2, pokud skript vytiskne řádek s použitím na standardní chybový výstup a skončí s exit 2. Exit kód Bash posledního příkazu je v $?, a volající vidí pouze toto číslo, takže skript, který končí jasným kódem, je snazší testovat než ten, který vždy vrací 1. Shell poté spustí skript znovu se dvěma hodnotami a karta by měla zobrazit 0. Pokud vás kódy překvapí, přečtěte kartu, nechte pak edit_file navrhnout opravu v režimu Ask first a zkontrolujte diff.

Parsování voleb pomocí getopts

Napište „vysvětli mi getopt“ a agent odpoví srozumitelně: getopts je vestavěný příkaz Bash pro krátké volby jako -v nebo -f soubor, zatímco getopt je samostatný příkaz, který také zpracovává dlouhé volby jako --file a chová se na různých systémech jinak. Pak read_file otevře váš skript, edit_file přidá smyčku getopts a uvidíte diff. Shell spustí skript s -v, s -f a se špatnou volbou a každá karta má svůj vlastní exit kód. Špatná volba by měla končit s 2, běžným kódem pro špatné použití. Pro několik voleb stačí smyčka while s case a shift, takže požádejte o tuto verzi, pokud ji preferujete. Přijměte diff až po jeho přečtení.

Uchování hodnot se mezerami v jednom celku

Předávání argumentů se mezerami do skriptu selže, pokud nejsou hodnoty ohraničeny uvozovkami, protože shell je rozdělí na samostatná slova. Agent přečte soubor pomocí read_file, najde neohraničené $1 a $@ a edit_file navrhne vložit uvozovky kolem nich. Shell poté spustí skript s hodnotou jako „two words“ a výstup ukáže, zda dorazí jako jeden řádek nebo jako dva. Jedním z triků pro správu argumentů příkazové řádky je shift, který odstraní první hodnotu, aby smyčka mohla projít zbytkem, a agent to může přidat do stejného diffu. V režimu Ask first editace čeká na vás. Zkontrolujte diff, spusťte test znovu a porovnejte oba výstupy sami.

Zastavení při chybách pomocí set -eu

Kdo hledá „bash exit script“, obvykle hledá vestavěný příkaz exit: exit N ukončí skript se stavem N, zatímco return N pouze opustí funkci. Agent může přidat set -eu a set -o pipefail na začátek, takže skript se zastaví při chybách a u nevyplněných proměnných, a pak spustí soubor s bash -n pro kontrolu syntaxe a s bash -x pro tisk každého příkazu. Pokud return nedává status posledního příkazu, obvykle mezi tím běžel jiný příkaz, protože $? obsahuje pouze exit kód toho nejnovějšího. Karta Shell zobrazí trasu. Přečtěte si ji od začátku, porovnejte ji se skriptem a rozhodněte se, zda editaci ponechat.

Co Pageferry nedělá

Pageferry je desktopová aplikace pro Windows, ne hostovaná služba ani plugin. Je určena pouze pro vaše vlastní soubory, váš vlastní PC a servery, které máte oprávnění používat. Práci udržujete v tomto rozsahu, protože agent to neuplatňuje a Shell, web a SSH nejsou omezeny na pracovní složku. Kód a výsledky mohou být špatné, takže si přečtěte diff a otestujte to. Tajná data, která se objeví ve výstupu nástroje, jsou před jejich odesláním do modelu anonymizována.

Pageferry pro Windows

Spusťte svůj další Bash skript s viditelným exit kódem

Stáhnout Pageferry ↗