คุณสามารถใช้หรือtype command -vผลลัพธ์ของtypeการอ่านเป็นมนุษย์ เอาต์พุตของcommand -vสามารถถูกดำเนินการโดย Bash
โปรดทราบว่าพวกเขาแตกต่างกันเล็กน้อย typeและcommandค้นหาค่าแฮชของคำสั่ง กล่าวคือถ้าคุณพิมพ์cmd, type cmdหรือcommand -v cmdจะบอกคุณว่าสิ่งที่จะถูกเรียกใช้ พวกเขายังทำงานกับนามแฝงฟังก์ชั่นทุบตีและ Bash builtins (แม้ว่าtype -pจะไม่สนใจสิ่งเหล่านี้และส่งคืนไฟล์จริงเท่านั้น)
whichแค่ค้นหาบน PATH สิ่งนี้แตกต่างกันเนื่องจาก:
- หากมีนามแฝงฟังก์ชั่นหรือ builtin ที่มีชื่อเดียวกันมันจะถูกเรียกแทน
- หากคำสั่งถูกเพิ่มไว้ก่อนหน้าใน PATH ตั้งแต่คำสั่งแฮชครั้งสุดท้ายจะพบ
whichแต่การดำเนินการคำสั่งนั้นจะใช้ค่าแฮช (คุณสามารถบังคับให้อัพเดตแฮชใน Bash ด้วยhash -r)
โดยปกติแล้วผู้คนต้องการอย่างแท้จริงtypeไม่ใช่whichอย่างน้อยสำหรับการใช้แบบอินเทอร์แอคทีฟเนื่องจากพวกเขาใช้เพื่อค้นหา "คำสั่งนี้มาจากไหนเมื่อฉันเรียกใช้งาน" คุณควรใช้เฉพาะwhichเมื่อคุณต้องการค้นหา PATH จริงๆ