สมมติว่าฉันได้รวบรวมบางสิ่งบางอย่างและฉันเรียกใช้เช่น
$ /path/to/my/executable/mycmd
Hello World
ฉันต้องทำอะไรเพื่อเรียกใช้เช่นนี้
$ mycmd
Hello World
จากทุกที่ในคอมพิวเตอร์ของฉัน
สมมติว่าฉันได้รวบรวมบางสิ่งบางอย่างและฉันเรียกใช้เช่น
$ /path/to/my/executable/mycmd
Hello World
ฉันต้องทำอะไรเพื่อเรียกใช้เช่นนี้
$ mycmd
Hello World
จากทุกที่ในคอมพิวเตอร์ของฉัน
คำตอบ:
สิ่งที่คุณกำลังมองหาคือPATH
ตัวแปรด้านสิ่งแวดล้อม มันบอกเชลล์ซึ่งมันจำเป็นต้องค้นหาโปรแกรม คุณสามารถดูค่าปัจจุบันของตัวแปรนั้นโดยใช้echo
:
echo "$PATH"
ทีนี้แนวทางที่ดีที่สุดถ้าคุณต้องการใช้โปรแกรมใหม่คือติดตั้งโดยใช้โปรแกรมการจัดการแพ็คเกจสำหรับการแจกจ่ายของคุณ แต่ในกรณีนี้ฉันถือว่าคุณกำลังจัดการกับโปรแกรมที่ไม่ได้จัดส่งโดยชุดซอฟต์แวร์ที่มีอยู่ สำหรับโปรแกรมดังกล่าวคุณมีสองตัวเลือก:
/usr/local/bin/
และ/opt/bin/
- โฟลเดอร์เหล่านั้นควรอยู่ในของคุณPATH
แล้ว (ดูข้างในโฟลเดอร์เหล่านี้และหากมีไฟล์จำนวนมากอยู่ในนั้นแสดงว่าผิดที่จะวางโปรแกรมของคุณเองและคุณต้องดูโฟลเดอร์อื่น ๆ ที่อยู่ในรายการของคุณPATH
)ปรับเปลี่ยนPATH
ตัวแปรของคุณ สิ่งนี้มีความปลอดภัยน้อยกว่าเนื่องจากกำหนดโฟลเดอร์เพิ่มเติมที่สามารถเก็บโปรแกรมไว้และบางคนอาจเล่นกลคุณได้โดยวางโปรแกรมของเขาไว้ที่นั่นเพื่อให้คุณเรียกใช้
คุณสามารถแก้ไขPATH
ตัวแปรได้ชั่วคราวโดยใช้
export PATH="$PATH:/path/to/your/executable"
(คำนึงถึง$PATH
หลัง =
) หรือถาวรโดยเพิ่มบรรทัดด้านบนลงใน.bashrc
ไฟล์ของคุณ(สมมติว่าคุณใช้bash
)