Aşağıdaki bir bash betiği var:
#!/bin/bash -e
egrep "^username" /etc/passwd >/dev/null
if[ $? -eq 0 ]
then
echo "doesn't exist"
fi
Bu script -e olmadan çalışmayacak. -eBu komut dosyası için ne yapar ? Ayrıca, $?bu bağlamda ne yapar ?
-ealtında belgelenmiştir set.
if egrep -q "^username" /etc/passwd ; then echo "doesn't exist" ; fi
ifVe arasında boşluk bırakıyorsunuz [. Bu komut dosyası çalışmaz ile -e çünkü eğer, grepo zaman altında bir şey bulamazsa -ekomut hemen orada sona erer. Olmadan -e, mesajı geriye aldınız: $?0'ın durumu ( ), grep'in kullanıcıyı bulduğu anlamına gelir. Bunun "grep" ^ kullanıcı adı: 'olması gerektiğini unutmayın (bu arada (daha uzun adı olan başka bir kullanıcı varsa?).
#/bin/bash -eaynı etkiye sahip olacak mı? #/bin/bashset -e
-eErkek sayfasında hayır (Bu adrese gerçekten bir cevap adresi görmek istiyorum).$?Son çıkış kodunu (egrepyukarıda ortaya çıkan işlemin kodunu ) içerir.