Spouštění skriptů
Shell spustí váš Bash skript v WSL nebo přes SSH a zobrazí skutečný exit kód v chatu.
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.
Shell spustí váš Bash skript v WSL nebo přes SSH a zobrazí skutečný exit kód v chatu.
read_file a grep zobrazí váš skript v chatu, takže můžete najít, kde se používá $1 a $2.
edit_file navrhne změnu a zobrazí diff. V režimu Ask first čeká na vaše potvrzení.
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.
bash check.sh a bexit 0bash check.shexit 2check.shreadexit3 matchesbash -n check.shexit 0Požá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.
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í.
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.
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.
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.