รุ่นของเชลล์และเวอร์ชันของคำสั่ง


2

man page ของechoสถานะคำสั่ง:

เปลือกของคุณอาจมี echo รุ่นของตัวเอง ...

มันหมายถึงอะไรอย่างแน่นอนและวิธีการตรวจสอบเปลือกที่มีรุ่นสะท้อน?

คำตอบ:


2

คุณสามารถตรวจสอบดังนี้: คำสั่ง

$ 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

สำหรับเชลล์บิวด์อิน การเปรียบเทียบผลลัพธ์ทั้งสองนี้จะแสดงความแตกต่าง


0

เชลล์ส่วนใหญ่มี builtin ของตัวเองechoเพื่อเร่งความเร็วechoคำสั่ง คุณสามารถตรวจสอบ:

$ type echo
echo is a shell builtin
$ type printf
cp is a tracked alias for /bin/cp
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.