วิธีรันโปรแกรมของฉันเองโดยไม่ระบุพา ธ


11

สมมติว่าฉันได้รวบรวมบางสิ่งบางอย่างและฉันเรียกใช้เช่น

$ /path/to/my/executable/mycmd
Hello World

ฉันต้องทำอะไรเพื่อเรียกใช้เช่นนี้

$ mycmd
Hello World 

จากทุกที่ในคอมพิวเตอร์ของฉัน

คำตอบ:


15

สิ่งที่คุณกำลังมองหาคือPATHตัวแปรด้านสิ่งแวดล้อม มันบอกเชลล์ซึ่งมันจำเป็นต้องค้นหาโปรแกรม คุณสามารถดูค่าปัจจุบันของตัวแปรนั้นโดยใช้echo:

echo "$PATH"

ทีนี้แนวทางที่ดีที่สุดถ้าคุณต้องการใช้โปรแกรมใหม่คือติดตั้งโดยใช้โปรแกรมการจัดการแพ็คเกจสำหรับการแจกจ่ายของคุณ แต่ในกรณีนี้ฉันถือว่าคุณกำลังจัดการกับโปรแกรมที่ไม่ได้จัดส่งโดยชุดซอฟต์แวร์ที่มีอยู่ สำหรับโปรแกรมดังกล่าวคุณมีสองตัวเลือก:

  1. ติดตั้งโปรแกรมทั้งระบบในสถานที่ที่ระบบของคุณไม่ได้ติดตั้งไฟล์ใด ๆ จากแพ็คเกจ ในระบบส่วนใหญ่โฟลเดอร์ "ปลอดภัย" ดังกล่าวจะรวม/usr/local/bin/และ/opt/bin/- โฟลเดอร์เหล่านั้นควรอยู่ในของคุณPATHแล้ว (ดูข้างในโฟลเดอร์เหล่านี้และหากมีไฟล์จำนวนมากอยู่ในนั้นแสดงว่าผิดที่จะวางโปรแกรมของคุณเองและคุณต้องดูโฟลเดอร์อื่น ๆ ที่อยู่ในรายการของคุณPATH)
  2. ปรับเปลี่ยนPATHตัวแปรของคุณ สิ่งนี้มีความปลอดภัยน้อยกว่าเนื่องจากกำหนดโฟลเดอร์เพิ่มเติมที่สามารถเก็บโปรแกรมไว้และบางคนอาจเล่นกลคุณได้โดยวางโปรแกรมของเขาไว้ที่นั่นเพื่อให้คุณเรียกใช้

    คุณสามารถแก้ไขPATHตัวแปรได้ชั่วคราวโดยใช้

    export PATH="$PATH:/path/to/your/executable"
    

    (คำนึงถึง$PATH หลัง = ) หรือถาวรโดยเพิ่มบรรทัดด้านบนลงใน.bashrcไฟล์ของคุณ(สมมติว่าคุณใช้bash)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.