ดูเหมือนว่าฉันไม่ได้รับคำถามของคุณในแนวทางแรกของฉัน จะพยายามอธิบายเพิ่มเติม ...
ถึงแม้ว่าโปรแกรมtest
นี้เป็นส่วนหนึ่งของแพ็คเกจ GNU coreutils และจะถูกส่งไปพร้อมกับระบบ GNU / Linux ใด ๆ แต่ก็มีการรวบรวมเป็นbash
บิวด์อินในตัวกระจายส่วนใหญ่ ฉันเดาว่านี่คือการปรับปรุงประสิทธิภาพเนื่องจากไม่จำเป็นต้องเริ่มกระบวนการลูกสำหรับทุกคำสั่งแบบมีเงื่อนไข ไม่จำเป็นต้องพูดว่าเชลล์จะใช้บิวอินในตัวของไบนารีถ้าทั้งคู่อยู่ในระบบ แต่คุณสามารถโทร:
/usr/bin/test ...
... หากคุณต้องการเรียกเลขฐานสองอย่างชัดเจน
หมายเหตุเพิ่มเติมที่bash
ไม่ได้เป็นเพียงเปลือกหอยในระบบส่วนใหญ่และหอยอื่น ๆ อาจไม่ได้มีคุณสมบัติในตัวนี้ (เช่นdash
ตัวอย่าง) นอกจากนี้ยังมีระบบที่อาจไม่ได้bash
ติดตั้ง สำหรับสถานการณ์ดังกล่าวมีไบนารีจาก coreutils
มีโอกาสที่มันจะเป็นตัวในระบบของคุณ วิธีตรวจสอบประเภทนี้:
help test
หากคุณเห็นหน้าช่วยเหลือมันเป็น builtin
นอกจากนี้คุณสามารถพิมพ์:
type -t test
การแสดงนี้:
builtin
ในระบบของฉัน