
เมื่อคุณสร้างสคริปต์ทุบตีและบันทึกลงในโฟลเดอร์ คุณจะพบว่าคุณสามารถดำเนินการได้เฉพาะเมื่อคุณอยู่ในโฟลเดอร์นั้นเท่านั้น คุณเคยสังเกตไหมว่า ls
, imagemagick
, apache
และ squid
อาจถูกติดตั้งในไดเร็กทอรีต่างๆ แต่สามารถเข้าถึงได้จากทุกที่? นั่นเป็นเพราะว่าแต่ละเส้นทางถูกเพิ่มเข้าไปในตัวแปร "เส้นทาง" ด้วยการเพิ่มเส้นทางเข้าไป คุณสามารถทำให้สคริปต์ของคุณสามารถดำเนินการได้ทุกที่เช่นกัน
การเพิ่มเส้นทางไปยัง Bash
ก่อนที่เราจะเริ่ม เราควรอธิบายว่าต้องขอบคุณวิธีการทำงานของการรักษาความปลอดภัย Linux คุณสามารถปรับแต่ง Path ได้สามระดับที่แตกต่างกัน ทุบตีเป็นคนแรกของพวกเขา ทุกสิ่งที่เราเห็นนี้จะส่งผลต่อ Bash และทุกอย่างที่ทำงานอยู่ในนั้น แต่ไม่มีผลกับ "ภายนอก Bash"
สมมติว่าคุณมีชุดของสคริปต์ในโฟลเดอร์ที่คุณต้องการให้เข้าถึงได้จากทุกที่

ในการดึงสิ่งนี้ออก คุณสามารถเพิ่มเส้นทางของพวกเขาไปที่ “~/.bashrc” คุณสามารถเปิดไฟล์ “.bashrc” (อยู่ในไดเร็กทอรีโฮมของคุณ แต่ถูกซ่อนไว้โดยค่าเริ่มต้น) ในโปรแกรมแก้ไขข้อความที่คุณโปรดปราน เช่น gedit
ไปที่ส่วนท้ายสุดของไฟล์และเพิ่ม:
export PATH="/path_of/the_folder_we/want_to_add_to:$PATH"

ตัวอย่างเช่น หากคุณเก็บสคริปต์ปฏิบัติการไว้ในโฟลเดอร์ “/home/myname/scripts” คำสั่งจะเป็น:
export PATH="/home/myname/scripts:$PATH"

หากต้องการลงทะเบียนการเปลี่ยนแปลง ให้บันทึกไฟล์ ออกจากโปรแกรมแก้ไขข้อความแล้วพิมพ์เทอร์มินัลของคุณ:
source ~/.bashrc

หลังจากนั้น ย้ายไปที่ไดเร็กทอรีอื่นและลองเรียกใช้สคริปต์ของคุณจากที่นั่น
การเพิ่มเส้นทางไปยังโปรไฟล์ของคุณ
หากคุณต้องการให้เนื้อหาในโฟลเดอร์ของคุณสามารถเข้าถึงได้จากนอกข้อจำกัดของ Bash ให้เพิ่มลงในตัวแปร Profile แทน
เปิดไฟล์ “.profile” ด้วยโปรแกรมแก้ไขข้อความที่คุณชื่นชอบ
ที่ส่วนท้ายสุดของไฟล์ ให้ป้อน:
export PATH="$PATH:$HOME/scripts"
คุณต้องออกจากระบบและเข้าสู่ระบบใหม่เพื่อเปิดใช้งานการเปลี่ยนแปลง

ใน Ubuntu และอนุพันธ์ ขอแนะนำให้คุณแก้ไขไฟล์ ".pam environment" แทน ".profile"
เปิดไฟล์ “.pam_environment” ในโปรแกรมแก้ไขข้อความ หากไม่มีไฟล์ ให้สร้างมันขึ้นมา
ในนั้น ให้ป้อน:
PATH DEFAULT=${PATH}:/home/@{PAM_USER}/scripts

โปรดทราบว่าแทนที่จะใช้พาธที่ฮาร์ดโค้ดโดยสมบูรณ์ และไม่เหมือนกับในไฟล์โปรไฟล์ ที่นี่เราใช้ตัวแปร ด้วยวิธีนี้ โฟลเดอร์ “/home/USER_NAME/scripts” ของผู้ใช้แต่ละรายจะถูกเพิ่มในพาธของพวกเขา
เมื่อแก้ไขไฟล์ “.profile” คุณต้องออกจากระบบและเข้าสู่ระบบใหม่เพื่อให้การเปลี่ยนแปลงมีผล

การเพิ่มเส้นทางสู่สิ่งแวดล้อม
วิธีที่เหมาะสมในการเข้าถึงเนื้อหาของโฟลเดอร์จากผู้ใช้หลายรายที่ใช้คอมพิวเตอร์เครื่องเดียวกันคือการเพิ่มลงในตัวแปรพาธสภาพแวดล้อม เปิดเครื่องเทอร์มินัลแล้วป้อน:
sudo nano /etc/environment
ตัวแปรพาธมีโฟลเดอร์จำนวนมากในเครื่องหมายคำพูด แบ่งด้วยทวิภาค คล้ายกับ:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin"
ในการรวมโฟลเดอร์ของคุณเองในรายการนั้น หลังจากเส้นทางสุดท้าย ก่อนเครื่องหมายอัญประกาศปิด ให้ป้อนเครื่องหมายทวิภาคและเส้นทางไปยังโฟลเดอร์ของคุณ หากโฟลเดอร์ของคุณเป็น “/home/your_username/scripts” อีกครั้ง ควรมีลักษณะดังนี้:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/YOUR_USERNAME/scripts"

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