Bash hata ayıklama: çıkış kodları, argümanlar ve linterlar
Bash temelleri
Bash hata ayıklama modu bir betik başarısız olduğunda nasıl yardımcı olur?
-x seçeneği Bash'in her komutu, genişletilmiş argümanlarıyla birlikte çalıştırmadan hemen önce yazdırmasını sağlar; böylece betiğin nerede hata yaptığını tam olarak görürsünüz. WSL'de veya sahip olduğunuz bir Linux sisteminde bash -x script.sh olarak başlatın. -eu seçeneği ise ilk hata veya tanımsız değişken durumunda çalışmayı durdurur. Pageferry'de Shell kartı bu izlemeyi gerçek çıkış koduyla birlikte tutar.
Bash linter nedir ve ne zaman çalıştırmalıyım?
Bir Bash linter, betiğinizi çalıştırmadan okuyan ve muhtemel hataları (örneğin tırnak içine alınmamış bir değişkeni) işaretleyen ayrı bir programdır. Kendi linterınızı seçin, WSL'de veya Linux sisteminizde kurun ve agent'a Shell ile çalıştırmasını isteyin. Kart ardından linterın mesajlarını ve çıkış kodunu gösterir. Bir linter, bir test çalıştırmasının yerini tutmaz.
Bash betiğine nasıl argüman geçiririm?
Argümanlar betik adından sonra gelen değerlerdir; örneğin bash script.sh one two komutunda betik bunları $1, $2 vb. olarak okur. $# sayıyı tutar, "$@" ise hepsini ayrı kelimeler olarak tutar. Gerekli bayrakları ve argümanları eklemek için $#'ı başta test edin, bir kullanım satırını standart hataya yazdırın ve exit 2 ile çıkın. Gizli bilgileri komut satırı argümanı olarak geçmeyi bırakın; diğer kullanıcılar bunları işlem listesinde görebilir.
Bash'te 127 çıkış kodu ne anlama gelir?
127 çıkış kodu komutun bulunamadığını gösterir; bu genellikle bir yazım hatası, kurulu olmayan bir program veya onu içermeyen bir PATH nedeniyle olur. Kabuk bir mesaj yazdırır, Pageferry ise aynı mesajı ve Shell kartındaki sayıyı gösterir. Bayraklarla uygulamalar çalıştıran bir Bash betiği, başlattığı her uygulamanın çıkış kodunu kontrol etmelidir.
Bash'te 126 çıkış kodu ne anlama gelir?
126 kodu dosyanın bulundu ancak çalıştırılamadığını gösterir; bu genellikle yürütme izni eksikliği veya dosyanın bir program olmaması nedeniyle olur. Kendi betiğinizde chmod +x script.sh komutuyla izni ekleyin; ardından ./script.sh shebang satırı aracılığıyla başlatılabilir. Emin değilseniz önce bash script.sh çalıştırın ve karttaki çıkış kodunu okuyun.
Pageferry kullanımı
codedguru.com resmi Pageferry web sitesi mi?
Evet, codedguru.com resmi Pageferry web sitesidir. İndirme butonu yaklaşık 34 MB'lık orijinal kurulum programını verir; çalıştırmadan önce SHA-256 toplamını yayımlanan manifestoyla karşılaştırabilirsiniz. Windows SmartScreen, kurulum programı henüz kod imzalı olmadığı için uyarı verebilir. Uygulama hakkındaki sorular için içindeki Send feedback butonunu kullanın.
Agent Linux sistemlerinde Bash betikleriyle çalışabilir mi?
Evet; kendi PC'nizdeki WSL üzerinden veya sahip olduğunuz bir Linux sistemine SSH ile. Pageferry Windows 10 ve 11 için bir uygulamadır, bu nedenle Windows'ta sohbet edersiniz, dosya araçları sohbetin çalışma klasöründe çalışır ve Shell seçtiğiniz ortamda komutları çalıştırır. Yalnızca yönetimine yetkiniz olan makineleri kullanın ve önce bir kopyada test edin.
Sonuçlar her zaman doğru mu?
Hayır. Agent komutları çalıştırır ve gerçek çıktıyı gösterir, ancak bir betik hala yanlış olabilir ve bir model problemi yanlış yorumlayabilir. Her farkı (diff) okuyun, betiği test değerleriyle çalıştırın ve çıkış kodunu kendiniz kontrol edin. Pageferry gerçekleri bir karta yerleştirir; bir değişikliği kabul etme kararı size aittir ve reddedilen bir düzenleme hiçbir şeyi değiştirmez.
Ask first ve Plan only arasındaki fark nedir?
Ask first (Önce sor), agent'ın bir dosya yazma veya düzenleme gibi bir şey değiştirmeden önce durduğu ve bir düzenleme için farkı görüp kabul veya reddettiğiniz bir moddur. Plan only (Yalnızca plan) bir plan yazar ve hiçbir şey çalıştırmaz: ne komut ne de dosya değişikliği. Planı uygulamak için modu değiştirirsiniz. Auto-run ise hemen harekete geçer.
Birden fazla işi paralel olarak çalıştırabilir miyim?
Evet; task aracı paralel olarak alt agent'lar başlatır ve bir Bash betiği içinde & ile arka planda eşzamanlı işler başlatabilir, wait kullanabilirsiniz. Çıkış kodu birleştirme o zaman sizin işinizdir: her işlem kimliği için bekleyin ve durumunu kendiniz toplayın, çünkü $? yalnızca son komutun durumunu tutar. Böyle bir betiği kendi makinenizde test edin.
Modeller, gizlilik ve indirme
Bulut modeli kullanırken dosyalarım bilgisayardan ayrılıyor mu?
Evet; bir bulut modeliyle prompt (agent'ın okuduğu dosya metinlerini de içeren) o sağlayıcıya gider. Yerel bir modelle hiçbir şey makineden ayrılmaz. Her iki durumda da sohbetler, çalışma klasörleri ve API anahtarları bilgisayarda kalır; araç çıktısındaki gizli bilgiler modele ulaşmadan önce karartılır. Uç nokta siz seçersiniz, bu nedenle betiğinizi göz önünde bulundurarak seçin.
Kurulum programı kod imzalı mı?
Hayır, kurulum programı henüz kod imzalı değil; bu nedenle çalıştırdığınızda Windows SmartScreen uyarı verebilir. İndirilen dosyanın SHA-256 toplamını yayımlanan manifestoyla karşılaştırın ve ardından Windows'ta More info altında Run anyway seçeneğini seçin. Windows'ta, certutil -hashfile dosyanın yolu ve SHA256 parametreleriyle karşılaştırılacak değeri yazdırır.
Kurulum programı ne kadar büyük?
İndirme butonunun verdiği kurulum programının boyutu 34 MB'tır. Yaklaşık 25 MB'lık taşınabilir bir .exe de mevcuttur ancak buton onu vermez. İkisi de Windows 10 ve 11 için derlenmiştir ve mevcut sürüm 2.9.26'dır. Kurduktan sonra uygulama, yeni bir sürüm hazır olduğunda bir Update butonu gösterir.
Pageferry bir hesap veya ağ bağlantısı gerektiriyor mu?
Uygulamayı çalıştırmak için hesap gerekmez. İhtiyacınız olan ağ bağlantısı modele bağlıdır: bulut AI sağlayıcısı buna ihtiyaç duyar, yerel model gerekmez; web arama, güncelleme kontrolleri ve telefon tarayıcısından sohbet kontrolleri ise isteğe bağlı ağ özellikleridir. Telefon kontrolü bir dışa giden bağlantı kullanır ve kapatılabilir.