วิธีเพิ่มไดเรกทอรีไปยังเส้นทางของระบบใน Linux

ใน Linux ตัวแปรสภาพแวดล้อม PATH เก็บชื่อของพา ธ ที่จะค้นหาไฟล์เรียกทำงานของคำสั่งใด ๆ ที่พิมพ์ในบรรทัดคำสั่ง ค่าของตัวแปรสภาพแวดล้อม PATH คือสตริงที่มีชุดของชื่อพา ธ แต่ละอันคั่นด้วยโคลอน ตัวอย่างเช่น PATH เริ่มต้นในระบบทั่วไปอาจมีลักษณะเช่นนี้:

 / usr / local / bin: / usr / bin: / bin: / usr / local / เกม: / usr / เกม 

เมื่อคุณพิมพ์คำสั่งเช่น cat ที่พรอมต์คำสั่งเชลล์ของคุณจะค้นหาไดเรกทอรีปฏิบัติการที่ชื่อ cat ในแต่ละไดเรกทอรีเหล่านี้ คนแรกที่พบคือคนที่มันทำงาน

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

 echo $ PATH 

ในตัวอย่างข้างต้นค่าปัจจุบันของเส้นทางกลับสู่พรอมต์คำสั่ง

การตั้งค่า PATH สำหรับเซสชันเชลล์ปัจจุบันของคุณ

คุณสามารถตั้งค่า PATH ได้เช่นเดียวกับตัวแปรเชลล์อื่น ๆ ด้วยรูปแบบ NAME = VALUE เช่นนี้

 PATH = / / แรก / เส้นทางของฉัน: / วินาที / เส้นทางของฉัน 

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

 PATH = $ PATH: / ฉัน / ใหม่ / เส้นทาง 

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

 PATH = / / ใหม่ / เส้นทางของฉัน: $ PATH 

เส้นทางใหม่ของคุณจะถูกค้นหาก่อนไม่ใช่เส้นทางของระบบเริ่มต้น

การใช้การส่งออกเพื่อส่งผ่านตัวแปรสภาพแวดล้อม PATH ไปยังกระบวนการลูก

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

 ส่งออก PATH 

กระบวนการใด ๆ ที่คุณเรียกใช้จนกว่าคุณจะออกจากระบบจะใช้ค่าปัจจุบันของ PATH

หากต้องการคุณสามารถรวมคำสั่งทั้งสองนี้ไว้ในบรรทัดเดียวเพื่อความสะดวก เพียงใส่เครื่องหมายอัฒภาคระหว่างพวกเขาเพื่อให้เชลล์รู้ว่าพวกเขากำลังแยกคำสั่ง:

 PATH = $ PATH: / my / new / path: / my / other / new / path; PATH ส่งออก 

เคล็ดลับ: หากชื่อพา ธ ของคุณมีช่องว่างคุณควรใส่คำจำกัดความของตัวแปรในเครื่องหมายคำพูดเพื่อความปลอดภัย:

 PATH = "$ PATH: / การวาง / ช่องว่างในชื่อพา ธ : / make / life very / inconvenient"; ส่งออก PATH 

การตั้งค่าตัวแปร PATH สำหรับทุกเชลล์เซสชันใหม่

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

/ etc / profile ~ / .bash_profile ~ / .bash_login

~ / .profile

ไฟล์แรก / etc / profile เป็นสคริปต์เริ่มต้นเริ่มต้นสำหรับผู้ใช้ทุกคนในระบบ หนึ่งในสามไฟล์ที่เหลืออยู่ในโฮมไดเร็กตอรี่ของผู้ใช้ทุกคน สามารถใช้สามอย่างใดก็ได้ แต่สำคัญที่ต้องรู้ว่าจะค้นหาตามลำดับนี้

คุณสามารถแก้ไขไฟล์เหล่านี้และเปลี่ยนบรรทัดใด ๆ ที่มีคำจำกัดความ PATH = ได้ด้วยตนเอง เพียงแค่ระมัดระวังถ้าคุณทำเช่นนี้เพราะเป็นไดเรกทอรีที่ใช้ในการค้นหาไฟล์ระบบปฏิบัติการที่สำคัญ

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

 PATH = "$ PATH: / new / path"; ส่งออก PATH 

หากคุณเพิ่มสิ่งนี้ลงในตอนท้ายของไฟล์. bash_profile ในโฮมไดเร็กทอรีของคุณมันจะมีผลทุกครั้งที่ผู้ใช้ของคุณเริ่มเซสชันเชลล์ใหม่ หากคุณเพิ่มสิ่งนี้ลงใน / etc / profile จะมีผลสำหรับผู้ใช้ทุกคนในระบบ โปรดทราบว่าคุณต้องการสิทธิ์ผู้ดูแลระบบหากคุณต้องการแก้ไข / etc / โปรไฟล์ ดังนั้นคุณสามารถใช้ sudo (หรือเข้าสู่ระบบในฐานะ root) เพื่อทำเช่นนั้น