man page ของecho
สถานะคำสั่ง:
เปลือกของคุณอาจมี echo รุ่นของตัวเอง ...
มันหมายถึงอะไรอย่างแน่นอนและวิธีการตรวจสอบเปลือกที่มีรุ่นสะท้อน?
man page ของecho
สถานะคำสั่ง:
เปลือกของคุณอาจมี echo รุ่นของตัวเอง ...
มันหมายถึงอะไรอย่างแน่นอนและวิธีการตรวจสอบเปลือกที่มีรุ่นสะท้อน?
คำตอบ:
คุณสามารถตรวจสอบดังนี้: คำสั่ง
$ type -a echo
echo is a shell builtin
echo is /bin/echo
ส่งคืนเวอร์ชันที่เป็นไปได้ทั้งหมดของคำสั่งที่เป็นปัญหา ( echoในกรณีของเรา) นี้แสดงให้เห็นว่าฉันมีทั้งปฏิบัติการที่เรียกว่า/ bin / ก้อง , และ builtin เปลือกคือคำสั่งที่แตกต่างกันภายในเปลือกของฉันที่มีชื่อเดียวกันและมีประสิทธิภาพเกือบตรงฟังก์ชั่นเดียวกัน
เพื่อที่จะรู้ว่าสิ่งใดที่ถูกดำเนินการท่ามกลางความเป็นไปได้ (สอง) นี้ลอง
$ type -t echo
builtin
ซึ่งแสดงให้เห็นว่าคุณถ้าคุณเพียงแค่กดบางสิ่งบางอย่างสะท้อน , builtin เปลือกจะใช้ไม่ได้แฟ้มที่ปฏิบัติการ/ bin / ก้อง หากคุณยืนยันที่จะใช้ไฟล์ให้ลองใช้
$ env echo something
เพื่อให้ได้ข้อมูลคนในรุ่นใดคุณควรใช้
$ man echo
หรือ
$ info echo
สำหรับไฟล์ปฏิบัติการ/ bin / echoและ
$ help echo
สำหรับเชลล์บิวด์อิน การเปรียบเทียบผลลัพธ์ทั้งสองนี้จะแสดงความแตกต่าง
เชลล์ส่วนใหญ่มี builtin ของตัวเองecho
เพื่อเร่งความเร็วecho
คำสั่ง คุณสามารถตรวจสอบ:
$ type echo
echo is a shell builtin
$ type printf
cp is a tracked alias for /bin/cp