ไม่กี่วันที่ผ่านมาฉันพอใจกับคำตอบของฉัน ฉันก็รู้ว่า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ตัว; แทนในzshwhich, แตกต่างจากbashเป็นในตัว (และไม่ได้/usr/bin/which)