ฉันมีสคริปต์ทุบตีต่อไปนี้:
#!/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
กระบวนการที่เกิดขึ้นด้านบน)