Saya memiliki skrip bash dengan yang berikut:
#!/bin/bash -e
egrep "^username" /etc/passwd >/dev/null
if[ $? -eq 0 ]
then
echo "doesn't exist"
fi
Script ini tidak akan berjalan tanpa -e. Apa yang -edilakukan untuk skrip ini? Juga, apa yang $?dilakukan dalam konteks ini?
-edidokumentasikan di bawah set.
if egrep -q "^username" /etc/passwd ; then echo "doesn't exist" ; fi
ifdan [. Script ini tidak akan bekerja dengan -e , karena jika greptidak menemukan apa-apa kemudian di bawah -escript akan mengakhiri sana. Tanpa -e, Anda mendapat pesan mundur: status ( $?) dari 0 berarti bahwa grep memang menemukan pengguna. Perhatikan bahwa ini seharusnya `grep '^ nama pengguna:', omong-omong (bagaimana jika ada pengguna lain dengan nama yang lebih panjang?).
#/bin/bash -ememiliki efek yang sama seperti #/bin/bashpada baris # 1 dan set -epada baris # 2?
-edi halaman manual (saya benar-benar ingin melihat alamat jawaban ini).$?berisi kode keluar terakhir (kodeegrepproses yang muncul di atas).