Pageferry
İş Akışları

Bash betiği çalıştır: klasör açmaktan çıkış koduna kadar

03
Betik çalıştır

WSL veya SSH üzerinden argümanlarla bir Bash betiği çalıştır

Bir Bash betiği üç şekilde başlatılabilir: bash script.sh arg1 arg2, chmod +x sonrası ./script.sh (shebang satırı nedeniyle çalışır) veya shell'i değiştiren ve geri dönmeyen exec dahili komutu ile. İlk form, izin değişikliği gerektirmediği için başlamak için en kolay olandır. Shell, seçtiğiniz ortamda (PC'nizdeki WSL veya SSH üzerinden erişilen sahip olduğunuz bir Linux sistemi) komutu çalıştırır ve sohbet kartı gerçek çıktıyı ve çıkış kodunu gösterir. Argümanları siz belirlediğiniz için, normal durumu ve hata durumunu tek bir konuşmada test edebilirsiniz. Kullanıcılar genellikle hangi formu seçmeleri gerektiğini sorar: test ederken bash script.sh kullanın, çünkü dosya çalıştırma iznine sahip olmasa bile çalışır; betik bittiğinde ve shebang satırı ile başladığında ./script.sh'a geçin. Hangi formu kullanırsanız kullanın, çıkış durumu aynı sayıdır (0 ile 255 arasında) ve 0 her zaman betiğin başarıyla sona erdiği anlamına gelir.

01

Klasörü aç

Betiklerinizi barındıran klasörü çalışma klasörü olarak seçin; read_file ve grep gibi dosya araçları bu klasör içinde çalışır. Dosya araçları bu klasörle sınırlıyken, Shell, web ve SSH araçları buna bağlı değildir.

02

Onay modu seç

Her değişikliği bir fark (diff) olarak görmek için Ask first'i kullanın veya önce bir plan okumak için Plan only'i kullanın. Auto-run hemen harekete geçer. Ask first yalnızca bir şeyleri değiştiren işlemlerden önce duraklar.

03

Çalıştırma iste

Çalıştırmayı basit kelimelerle açıklayın, örneğin: betiği test argümanı ile çalıştır. İkiniz de varsa WSL'yi veya sunucunuzu belirtin. Betiği ve argümanlarını tam olarak belirtin.

04

Sonucu oku

Çıktıyı ve gerçek çıkış kodunu görmek için kartı açın, ardından herhangi bir düzenlemeyi kabul edin veya reddedin. Sıfırdan farklı bir sayı bilgi verir. Kabul edilen her düzenlemeden sonra tekrar çalıştırın. Beklediğiniz sonuçla karşılaştırın.

Küçük bir örnek betik

greet.sh
#!/usr/bin/env bash
# greet.sh - print a greeting a few times
set -eu
if [ "$#" -lt 1 ]; then
  echo "Usage: $0 NAME [COUNT]" >&2
  exit 2
fi
name="$1"
count="${2:-1}"
for i in $(seq 1 "$count"); do
  echo "Hello, $name ($i)"
done
exit 0

greet.sh, isim eksik olduğunda bir kullanım satırı ve 2 çıkış kodu ile sona erer, isteğe bağlı bir sayı alır (varsayılan değeri 1) ve yalnızca döngüde selamlama yazar. Çalıştırmadan önce okuyun: sudo yok, indirme yok ve sahip olduğunuz herhangi bir makinede test etmek için zararsız olan bir dosyayı taşıyan veya silen bir işlem yok. Satır satır: shebang yorumlayıcıyı belirtir, set -eu hatalarda ve tanımsız değişkenlerde durur, $# testi argümanları sayar ve for döngüsü yalnızca yansıtır.

Bir betiği dört küçük adımda çalıştır

Betik dosyasını oluştur

Boş bir çalışma klasörü ile başlayın. Agentten yukarıdaki örneği yazmasını isteyin ve write_file bu klasörde greet.sh oluşturur. Kartı açın ve dosyayı satır satır okuyun: ilk satır yorumlayıcıyı belirten shebang'dır, set -eu hatalarda ve tanımsız değişkenlerde betiği durdurur ve $# kontrolü, eksik bir isimden kaynaklı hataları korur. Ask first altında yeni dosya yazılmadan önce onayınızı bekler. Henüz hiçbir şey çalıştırılmadı. Bu betiğin kullanım dalı yanlış kullanım için 2'yi seçer ki bu yaygın bir kuraldır. Her satırı anladığınızda dosyayı kabul edin ve anlamıyorsanız agentten açıklamasını isteyin. Reddedilen bir düzenleme klasörü değişmez bırakır.

Çalıştır ve çıkış kodunu oku

“bash execute script” araması yapan kişiler genellikle tek bir satır ister: bash greet.sh test. Agentten çalıştırmasını isteyin ve Shell komutu sohbet ortamınızda (örneğin WSL) başlatır ve gerçek çıktıyı ile gerçek çıkış kodunu gönderir. Tam çıktı için kartı genişletin. Ardından argüman olmadan aynı çalıştırmayı isteyin ve kullanım satırını ve 2 çıkış kodunu görmelisiniz. CLI uygulamaları için çıkış kodu, çağıranın okuduğu 0 ile 255 arasında bir sayıdır ve 0 başarı anlamına gelir. 127 çıkış kodu bir komutun bulunamadığını ve 126 bir dosyanın çalıştırılamadığını gösterir; bu iki sayı bir yazım hatasını, eksik bir programı veya eksik çalıştırma iznini işaret eder.

Betik içindeki argümanları oku

read_file betiği gösterir ve grep $1 ve $2'nin nerede kullanıldığını bulur, böylece her argümanın bir varsayılan değeri veya bir hata mesajı olup olmadığını kontrol edebilirsiniz. İsteğe bağlı argümanları şu şekilde ayrıştırabilirsiniz: betik getopts ile döngü kurar ve yalnızca bir veya iki değerle düz $1 ve ${2:-1} yeterlidir. Argümanlı takma adlar işlevler gibi davranmaz, çünkü bir takma ad yalnızca yazılan kelimeyi metinle değiştirir; bu yüzden değerlerin ortada gitmesi gerektiğinde bir işlev kullanın. Agentten bir şeyi değiştirmesini isteyin, örneğin sayının varsayılan değerini ve edit_file'ın gösterdiği farkı okuyun. Ardından betiği tekrar çalıştırın ve yeni çıkış kodunu eskisiyle karşılaştırın. Plan only, hiçbir şey çalıştırmadan betiğin anladığı parametreleri listeleyebilir.

Aynı betiği sahip olduğunuz bir sunucuda çalıştır

Aynı adımlar, çalışma ortamı SSH üzerinden erişilen sahip olduğunuz bir Linux sistemi olduğunda da çalışır. Dosya araçları sohbetin çalışma klasöründe çalışmaya devam ederken, Shell komutları seçtiğiniz ortamda çalışır; bu yüzden bir kartın hangi ortama atıfta bulunduğunu kontrol edin. İnsanlar “bash exec script” olarak aradığı exec dahili komutu, shell'i başka bir komutla değiştirir ve geri dönmez; bu yüzden ondan sonra hiçbir şey çalışmaz ve çıkış kodu yeni komutunkidir. Bir dosyaları taşıyan veya silen bir betikten önce bir kopya saklayın, kuru bir çalışma olarak önce echo ile çalıştırın ve yalnızca yönetmesine izin verdiğiniz makineleri kullanın. Sohbeti kapatmadan önce son kartı okuyun. Tüm değerleri başka bir komuta iletirken, her değerin şeklini koruması için "$@"ı çift tırnak içinde yazın.

Windows için Pageferry

Bash betiğini kendi makinenizde test et

Pageferry'yi İndir ↗