Betikleri çalıştır
Shell, Bash betiğinizi WSL veya SSH üzerinden çalıştırır ve gerçek çıkış kodunu sohbette gösterir.
Bir Bash çıkış kodu, bir komut bittiğinde döndürdüğü sayıdır: 0 başarı için, 1 ile 255 arasında hata için. Pageferry betiğinizi Shell ile çalıştırır, bu sayıyı gerçek süreçten okur ve çıktıya komşu bir sohbet kartına yerleştirir. Dosyaları da düzenler ve önce farkı gösterir.
Shell, Bash betiğinizi WSL veya SSH üzerinden çalıştırır ve gerçek çıkış kodunu sohbette gösterir.
read_file ve grep betiğinizi sohbette gösterir, böylece $1 ve $2'nin nerede kullanıldığını bulabilirsiniz.
edit_file bir değişiklik önerir ve farkı gösterir. Ask first modunda, değişikliklerden önce onayınızı bekler.
Her eylem sohbette bir kart haline gelir. Shell gerçek çıkış kodunu bildirir, edit_file bir fark gösterir ve Ask first bir şey değişmeden önce onayınızı bekler. Tam çıktıyı veya tam farkı okumak için bir kartı açın.
bash check.sh a bexit 0bash check.shexit 2check.shreadexit3 matchesbash -n check.shexit 0Agent'a check.sh'e argüman verilmediğinde ne olacağını bulmasını istersiniz. read_file betiği açar ve Shell, adın ardından hiçbir şey olmadan bash check.sh çalıştırır. Kart gerçek çıktıyı ve çıkış kodunu gösterir; betik kullanım satırını standart hataya yazdırır ve exit 2 ile biterse bu kod 2'dir. Son komutun Bash çıkış kodu $? içinde bulunur ve çağıran sadece bu sayıyı görür, bu nedenle net bir kodla biten bir betik, her zaman 1 döndüren birinden daha kolay test edilebilir. Shell daha sonra betiği iki değerle tekrar çalıştırır ve kart 0 göstermelidir. Kodlar sizi şaşırtırsa kartı okuyun, ardından Ask first altında edit_file'ın bir düzeltme önermesine izin verin ve farkı gözden geçirin.
"getopts'i bana açıkla" yazarsınız ve agent düz kelimelerle yanıt verir: getopts, -v veya -f file gibi kısa seçenekler için bir Bash yerleşik komutudur; getopt ise --file gibi uzun seçenekleri de işleyen ve sistemler arasında farklı davranan ayrı bir komuttur. Ardından read_file betiğinizi açar, edit_file bir getopts döngüsü ekler ve farkı görürsünüz. Shell betiği -v ile, -f ile ve yanlış bir seçenekle çalıştırır ve her kartın kendi çıkış kodu vardır. Yanlış bir seçenek genellikle 2 ile bitmelidir, bu yanlış kullanım için yaygın bir koddur. Birkaç seçenek için case ve shift ile bir while döngüsü yeterlidir, bu yüzden bunu tercih ediyorsanız bu versiyonu isteyin. Farkı okuduktan sonra kabul edin.
Betiklere boşluklu argümanlar geçirmek, değerler tırnak içine alınmadığında başarısız olur çünkü kabuk bunları ayrı kelimelere böler. Agent read_file ile dosyayı okur, tırnaksız $1 ve $@'ı bulur ve edit_file etrafına çift tırnak eklemeyi önerir. Shell daha sonra "iki kelime" gibi bir değerle betiği çalıştırır ve çıktı bunun tek bir satır mı yoksa iki satır mı olarak ulaştığını gösterir. Komut satırı argümanlarını yönetmek için kullanılan numaralardan biri shift'tir; bu, bir döngünün geri kalanını tarayabilmesi için ilk değeri atar ve agent bunu aynı farkta ekleyebilir. Ask first altında düzenleme sizi bekler. Farkı gözden geçirin, testi tekrar çalıştırın ve iki çıktıyı kendiniz karşılaştırın.
"bash exit script" arayanlar genellikle exit yerleşik komutunu arar: exit N betiği N durumuyla sonlandırır, return N ise yalnızca bir işlevden ayrılır. Agent başa set -eu ve set -o pipefail ekleyebilir, böylece betik hatalarda ve tanımsız değişkenlerde durur; ardından dosyayı sözdizimi kontrolü için bash -n ile ve her komutu yazdırmak için bash -x ile çalıştırır. return son komutun durumunu vermiyorsa, genellikle arasında başka bir komut çalışmıştır çünkü $? yalnızca en sonuncunun çıkış kodunu tutar. Shell kartı izlemeyi gösterir. Üstten okuyun, betikle karşılaştırın ve düzenlemenin kalıp kalmayacağına karar verin.
Pageferry, barındırılan bir hizmet veya bir eklenti değil, Windows için bir masaüstü uygulamasıdır. Yalnızca kendi dosyalarınız, kendi PC'niz ve kullanmaya yetkili olduğunuz sunucular için tasarlanmıştır. Agent bunu zorlamadığı için işi bu kapsamda tutarsınız; Shell, web ve SSH çalışma klasörüyle sınırlı değildir. Kod ve sonuçlar yanlış olabilir, bu yüzden farkı okuyun ve test edin. Araç çıktısında görünen gizli bilgiler modele ulaşmadan önce karartılır.