Koşullu olarak Bash’de sınama ve hata ayıklama amacıyla yeniden yönlendirme yapmanın en iyi yolu nedir?
Komut dosyalarımda, herhangi bir işlem yapmadan bir test çalıştırması sırasında etkin bir şekilde ne olacağını göstermek için bir hata ayıklama seçeneği ekliyorum. Hata ayıklama seçeneği açıksa, DEBUG seçeneğinin, yönlendirmeyi etkin bir şekilde yeniden yönlendirmeyi ve ekoyu yönlendirmemesini sağlayan bir komut dosyası satırını yankılamasını istiyorum . Bir örnek muhtemelen bunu daha iyi açıklar:
Args kullanarak bir mysqldump yapacak bir betikte, hata ayıklama seçeneğinin mysqldump komutunu -d seçeneği olmasa bile çalışacak şekilde göstermesini isterdim.
[ "-d" = "$1" ] && DEBUG=echo
$DEBUG mysqldump -u"$user" -p"$pass" -h"$host" "$dbase" > $dbase.sql.dump
Bu yüzden yankılanıyorsam, çünkü DEBUG "eko" Ben "$ dbase.sql.dump" ekosunu istemiyorum. Aslında ">" ve "$ dbase" değişkenini ".sql.dump" ile eko yapmak istiyorum. " Metin. Hata ayıklama seçeneği açık değilse komutu olduğu gibi çalıştırmak istiyorum.
set -x
Ve set -v
hata ayıklama gerçekten kullanıcı görmek ve gerçekten kodlama sorunları gidermek için senaryoyu ayıklama olamaz sadece bir test çıktısı / kuru işletilen seçenektir çünkü seçenekleri gerçekten burada cevap değildir.