Bash'te Yürütülen Kabuk Komutlarını Nasıl Yankılarsınız?
Bash'teki yankı komutları, kullanıcıların ve geliştiricilerin betiklerinde neler olduğunu anlamalarına yardımcı olur. Yürütüldükleri sırada komutları görüntüleyerek, kullanıcılar betiğin istendiği gibi çalıştığını doğrulayabilir ve hataları veya beklenmeyen davranışları belirleyebilirler; Bash'te kabuk komutlarını yankılamanın bazı yolları şunlardır:
Yöntem 1: Set Komutunu Kullanma
Bash'teki set komutu, seçenekleri etkinleştirmek veya devre dışı bırakmak ve kabuk parametrelerini ayarlamak için kullanılabilir. ayarlayarak -X seçeneğini kullanarak, Bash'in her komutu yürütülmeden önce yazdırmasına neden olacak kabuk izlemeyi etkinleştirebilirsiniz.
#!/bin/bash
ayarlamak -X
Eko 'Merhaba Linux!'
ayarlamak +x
Bu komut dosyasının çıktısı, yürütülmekte olan komutu içerecektir:
Yöntem 2: DEBUG tuzağını kullanma
DEBUG tuzağı, bir Bash betiğindeki her komuttan önce yürütülen özel bir kabuk tuzağıdır. DEBUG tuzağı için bir işlev tanımlayarak, her komutu yürütülmeden önce yazdırabilirsiniz:
#!/bin/bash
işlev hata ayıklamak {
Eko ' $BASH_COMMAND '
}
tuzak hata ayıklama
Eko 'Selam Dünya!'
tuzak - HATA AYIKLAMA
Bu komut dosyasının çıktısı, yürütülmekte olan komutu içerecektir:
Yöntem 3: Bash -x seçeneğini kullanma
Ayrıca etkinleştirebilirsiniz xtrace modunu geçerek -X bir betik yürütülürken Bash komutuna seçenek. kullanımını göstermek için -X Buradaki seçenek, yalnızca yankı komutunu kullanarak bir dize yazdıran basit bir Bash betiğidir:
#!/bin/bashEko 'Merhaba Linux!'
Bu betiği xtrace modu etkinken çalıştırmak için, betiği aşağıda verilen sözdizimini kullanarak çalıştırabilirsiniz:
darbe -X < komut dosyası-dosya-adı >Bu örnekte, Bash -X komut, betiği şununla yürütür: xtrace mod etkinleştirildi ve kabuğun her komutu yürütülmeden önce yazdırmasına neden oldu. Echo komutu daha sonra yazdırır 'Selam Dünya!' konsola:
Çözüm
Yürütülen kabuk komutlarını yankılamak, Bash betiklerinde hata ayıklamanın güçlü bir yoludur. kullanarak ayarlamak komut, -X seçenek ve HATA AYIKLAMA tuzağı , yürütülmeden önce her komutu kolayca yazdırabilirsiniz.