ไม่กี่วันที่ผ่านมาฉันพอใจกับคำตอบของฉัน ฉันก็รู้ว่าwhich
คำสั่งนั้นไม่ได้ใช้เพื่อทดสอบว่ามีคำสั่งอยู่หรือไม่ ตอนนี้ฉันไม่พอใจกับคำตอบของฉันและฉันอ้างถึงคำตอบที่ยอดเยี่ยมนี้
ด้วยwhich
คำสั่งง่ายๆ:
which foo.sh
หรือtype
คำสั่ง:
type foo.sh
และคุณสามารถมีอิทธิพลต่อสิ่งนี้ด้วยลำดับของเส้นทางใน$PATH
หรือผ่านเส้นทางที่แน่นอนเมื่อสคริปต์เริ่ม EG
/home/user/scripts/foo.sh
ตัวอย่าง
หาก PATH ถูกกำหนดไว้ด้านล่าง
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
และคุณเริ่มต้นสคริปต์หรืออย่างอื่นที่อยู่ใน/usr/local/bin
และใน/usr/bin
สคริปต์ใน/usr/local/bin
ลำดับความสำคัญที่สูงขึ้น
bash
และzsh
ยังมีในtype
ตัว; แทนในzsh
which
, แตกต่างจากbash
เป็นในตัว (และไม่ได้/usr/bin/which
)