Uruchom skrypty
Shell uruchamia Twój skrypt Bash w WSL lub przez SSH i pokazuje rzeczywisty kod powrotu w czacie.
Kod powrotu Bash to liczba zwracana przez polecenie po zakończeniu: 0 oznacza sukces, 1–255 oznacza błąd. Pageferry uruchamia Twój skrypt za pomocą Shell, odczytuje tę liczbę z rzeczywistego procesu i umieszcza ją w karcie czatu obok wyniku. Edytuje też pliki i najpierw pokazuje różnice.
Shell uruchamia Twój skrypt Bash w WSL lub przez SSH i pokazuje rzeczywisty kod powrotu w czacie.
read_file i grep pokazują Twój skrypt w czacie, więc możesz znaleźć, gdzie użyto $1 i $2.
edit_file proponuje zmianę i pokazuje różnice. W trybie Ask first czeka na Twoją zgodę.
Każda akcja staje się kartą w czacie. Shell raportuje rzeczywisty kod powrotu, edit_file pokazuje różnice, a Ask first czeka na Twoją zgodę przed jakąkolwiek zmianą. Otwórz kartę, aby przeczytać pełny wynik lub pełne różnice.
bash check.sh a bexit 0bash check.shexit 2check.shreadexit3 matchesbash -n check.shexit 0Prosisz agenta, aby sprawdził, co się stanie, gdy check.sh nie otrzyma argumentu. read_file otwiera skrypt, a Shell uruchamia bash check.sh bez niczego po nazwie. Karta pokazuje rzeczywisty wynik i kod powrotu, który wynosi 2, jeśli skrypt wypisuje swoją linię pomocy na standardowy błąd i kończy się exit 2. Kod powrotu bash ostatniego polecenia znajduje się w $?, a wywołujący widzi tylko tę liczbę, więc skrypt kończący się jasnym kodem jest łatwiejszy do przetestowania niż taki, który zawsze zwraca 1. Shell uruchamia następnie skrypt ponownie z dwiema wartościami, a karta powinna pokazać 0. Jeśli kody Cię zaskoczą, przeczytaj kartę, a następnie pozwól edit_file zaproponować poprawkę w trybie Ask first i przejrzyj różnice.
Wpisujesz „wyjaśnij mi getopt”, a agent odpowiada prostymi słowami: getopts to wbudowana funkcja Bash do krótkich opcji takich jak -v lub -f plik, podczas gdy getopt to osobne polecenie, które obsługuje też długie opcje takie jak --file i zachowuje się inaczej na różnych systemach. Następnie read_file otwiera Twój skrypt, edit_file dodaje pętlę getopts i widzisz różnice. Shell uruchamia skrypt z -v, z -f i z błędną opcją, a każda karta ma swój własny kod powrotu. Błędna opcja powinna kończyć się kodem 2, typowym kodem dla złego użycia. Dla kilku opcji wystarcza pętla while z case i shift, więc poproś o tę wersję, jeśli wolisz. Akceptuj różnice dopiero po ich przeczytaniu.
Przekazywanie argumentów ze spacjami do skryptu kończy się niepowodzeniem, jeśli wartości nie są ujęte w cudzysłów, ponieważ shell dzieli je na osobne słowa. Agent czyta plik za pomocą read_file, znajduje nieobjęte cudzysłowem $1 i $@, a edit_file proponuje dodanie cudzysłowu wokół nich. Shell uruchamia następnie skrypt z wartością taką jak „two words”, a wynik pokazuje, czy trafia jako jedna linia, czy jako dwie. Jednym z trików do zarządzania argumentami wiersza poleceń jest shift, który usuwa pierwszą wartość, aby pętla mogła przejść przez resztę, a agent może go dodać w tych samych różnicach. W trybie Ask first edycja czeka na Ciebie. Przeczytaj różnice, uruchom test ponownie i porównaj oba wyniki samodzielnie.
Każdy, kto szuka „bash exit script”, zwykle szuka polecenia exit: exit N kończy skrypt ze statusem N, podczas gdy return N tylko opuszcza funkcję. Agent może dodać set -eu i set -o pipefail na początku, więc skrypt zatrzyma się na błędach i nieustawionych zmiennych, a następnie uruchomi plik z bash -n dla sprawdzenia składni i z bash -x, aby wypisać każde polecenie. Jeśli return nie zwraca statusu ostatniego polecenia, zwykle wykonało się inne polecenie między nimi, ponieważ $? zawiera tylko kod powrotu najnowszego polecenia. Karta Shell pokazuje ślad. Przeczytaj go od początku, porównaj ze skryptem i zdecyduj, czy edycja pozostaje.
Pageferry to aplikacja desktopowa dla Windows, nie usługa hostowana ani wtyczka. Jest przeznaczona tylko dla Twoich własnych plików, Twojego własnego PC i serwerów, z których masz uprawnienia do korzystania. Zachowujesz pracę w tym zakresie, ponieważ agent tego nie wymusza, a Shell, sieć i SSH nie są ograniczone do folderu roboczego. Kod i wyniki mogą być błędne, więc przeczytaj różnice i przetestuj. Sekrety pojawiające się w wyniku narzędzi są maskowane przed dotarciem do modelu.