ฉันมีสคริปต์ทุบตีต่อไปนี้:
#!/bin/bash -e
egrep "^username" /etc/passwd >/dev/null
if[ $? -eq 0 ]
then
echo "doesn't exist"
fi
สคริปต์นี้จะไม่ทำงานหากไม่มี -e อะไร-eทำเพื่อสคริปต์นี้ นอกจากนี้สิ่งที่$?ทำในบริบทนี้?
-e set
if egrep -q "^username" /etc/passwd ; then echo "doesn't exist" ; fi
if [สคริปต์นี้จะไม่ทำงานด้วย -eเพราะถ้าgrepไม่พบอะไรแล้วภายใต้-eสคริปต์ที่จะยุติการมีสิทธิ หากไม่มี-eคุณจะได้รับข้อความย้อนกลับ: สถานะ ( $?) จาก 0 หมายความว่า grep ค้นหาผู้ใช้ โปรดทราบว่านี่ควรเป็น `grep '^ ชื่อผู้ใช้:' โดยวิธีการ (ถ้ามีผู้ใช้อีกคนที่มีชื่อยาวกว่านี้)
#/bin/bash -eมีผลเช่นเดียว#/bin/bashกับที่บรรทัดที่ 1 และset -eที่บรรทัดที่ 2 หรือไม่
-eอยู่ใน man page (ฉันต้องการเห็นที่อยู่คำตอบนี้จริงๆ)$?มีรหัสทางออกสุดท้าย (egrepกระบวนการที่เกิดขึ้นด้านบน)