Linux Beklenti Komutu

Linux Beklenti Komutu



Bash betikleri görevlerin otomasyonunu kolay bir hale getirir. Zamandan ve emekten tasarruf etmek için, kullanıcı girişi gerektiren görevlerin otomatikleştirilmesi de dahil olmak üzere, farklı tekrarlanan görevleri otomatikleştirmenin çok sayıda yolu vardır. Ayrıca Linux, komut dosyalarını kullanarak kolayca çalışmanızı sağlayacak 'bekle' gibi komutlar da sunar.

Linux 'expect' komutu, yürütülmesi için kullanıcı girişi gerektiren komut dosyalarının nasıl çalıştığını kontrol etmenizi sağlar. Betiğinizin çalışmaya devam etmesi için bir kullanıcı girişi gerekiyorsa, 'bekle' komutunu kullanarak bu etkileşimi nasıl kontrol edebileceğinize dair bir yol vardır.







Linux Expect Komutunu Kullanmaya Başlarken

Linux “bekle” komutu sisteminize kurulu olarak gelmiyor. Ancak yüklemek için farklı yöntemler kullanabilirsiniz. Bizim durumumuz için, aşağıdaki komutu kullanarak yüklemek için “apt” seçeneğini kullanıyoruz:



$ sudo uygun düzenlemek beklemek



İşlem tamamlandıktan sonra kurulumun başarılı olduğunu doğrulamak için beklenen sürümü kontrol edin.





Linux'unuzda bilgiye sahip olduğunuzda, bir sonraki adım onu ​​etkileşimli görevleri otomatikleştirmek için nasıl kullanacağınızı öğrenmektir.



Öncelikle etkileşimli olarak nasıl çalışacağını görmek için basit bir Bash betiği oluşturalım. Komut dosyamız kullanıcıdan birkaç ayrıntı girmesini ister ve yalnızca kullanıcı girişi okunduğunda çalışmaya devam edebilir.

Seçtiğiniz bir metin düzenleyiciyi kullanarak bir Bash betiği oluşturun. Komut dosyası kodunuzu yazdıktan sonra kaydedin ve metin düzenleyiciden çıkın.

Komut dosyasını çalıştırılabilir hale getirmelisiniz. Bunun için aşağıdaki sözdizimini kullanın ve onu hedef komut dosyanızla eşleştirin:

$ sudo mod +x < dosya >

Betiği çalıştırmak için “./” komutunu ve ardından betiğin adını kullanın. Komut dosyasının kullanıcı girişi için nasıl komut verdiğine ve yalnızca girişi yazdığımızda devam edebildiğine dikkat edin.

Böyle etkileşimli bir oturumu otomatikleştirmek istediğinizde, gerektiğinde gerekli girdileri göndermek için kullanıcının bunları girmesine gerek kalmadan 'bekle' komutunu kullanmalısınız.

“Beklenti” komutunun nasıl devreye girdiğini görmeden önce “hangi” komutunu kullanarak konumunu bulun. “Beklenti” komutunun bulunduğu yola dikkat edin, çünkü “bekleyin” betiğini yazarken ihtiyacınız olacak.

Bu durumda “beklemek” /usr/bin/expect konumunda saklanır.

Tekrar metin düzenleyicinizi açın ve başka bir komut dosyası oluşturun. Bu sefer, onu bir beklenti betiği olarak tanımlamak için “.exp” uzantısıyla kaydedin. Beklenti betiğinizi yazarken kullanabileceğiniz dört ana komut vardır:

  1. yumurtlamak – Yeni bir süreç başlatır ve interaktif bölümleri otomatikleştirmek istediğiniz scripti çağırmak için eklenir.
  2. Göndermek – Aksi takdirde kullanıcı tarafından eklenecek gerekli yanıtı gönderir.
  3. beklemek – Hedef betikte çıktı bekleyen satırı gösterir.
  4. etkileşime girmek – Programla etkileşimi başlatır.

Bu durumda “expect” scriptimizi aşağıdaki şekilde yazıyoruz. Hedef betiği vurguladık ve “bekleme” seçeneklerini ve alacakları yanıtı verdik.

Son satır betiğin sonunu gösterir ve ne zaman bir 'bekle' betiği yazarsanız dahil edilmelidir. “Chmod” kullanarak “expect” betiğini çalıştırılabilir hale getirin.

Son olarak betiği çalıştırın ve ne olduğunu izleyin. Kullanıcının gerekli girdiyi girerek script ile etkileşime geçmesini istemek yerine, “expect” scriptinde gönderdiğimiz değerler kullanıcı yanıtı olarak ekleniyor. Bu şekilde etkileşimli kullanıcı girişlerini otomatikleştirmeyi başarırsınız.

Kullanıcı girişi olarak almak istediğiniz değerler için değişkenlerle çalışmayı tercih ettiğinizi varsayalım; bu da mümkündür. Hedef değişkenleri ve değerlerini ayarlayın, ardından beklenen kullanıcı girişi olarak göndermek için değişken adını çağırın. Aşağıdaki örneğe bir göz atın:

Bu değiştirilmiş betiği yeniden çalıştırdığınızda, yine aynı hedefi elde edersiniz, yalnızca bu sefer değişkenleri kullanmışsınızdır.

Autoexpect'le Çalışmak

“Autoexpect” komutunu kullanarak “expect” betiğini oluşturmaktan kaçınabilirsiniz. Bunun nasıl çalıştığı, 'autoexpect' komutunu ve ardından bir 'bekleme' betiği oluşturmak istediğiniz betiği çalıştırmanızdır.

Örneğin ilk betiğimiz “sample.sh”. Bunun için “autoexpect” komutunu aşağıdaki komutla kullanıyoruz:

$ otomatik beklenti / örnek.sh

Çalıştırdığınızda, “script.sh” adı altında otomatik olarak yeni bir “bekleme” betiği oluşturulur ve kullanıcı girişleri için beklenen yanıtları vermeniz istenir.

İhtiyacınız olan tek şey, oluşturulan betiği çalıştırmaktır ve 'beklenen' betiği manuel olarak oluşturma ihtiyacını ortadan kaldırarak süreci basitleştirirsiniz.

Çözüm

“Exect” komutu, bir Bash betiği oluştururken etkileşimli kullanıcı girişlerinin otomatikleştirilmesine yardımcı olur. Beklenen değerleri verdiğinizde, kullanıcı girişi gerekli olsa bile betiğiniz durmadan çalışacaktır. Autoexpect programını kullanarak otomatik olarak bir 'bekle' komut dosyasının nasıl oluşturulacağı da dahil olmak üzere 'bekle' komutuyla çalışmanın bir örneğini gördük. Bu kadar!