Cách đặt biến $PATH trong Linux | Học trực tuyến CNTT, học lập trình từ cơ bản đến nâng cao

Cách đặt biến $PATH trong Linux

Chia sẻ kiến thức 16/03/2022

Bạn muốn truy cập nhanh các mã lập trình kịch bản (script) và chương trình tùy chỉnh của mình từ terminal? Đây là cách thiết lập biến $PATH trong Linux.

Bạn muốn truy cập nhanh các tập lệnh (script) và chương trình tùy chỉnh của mình từ terminal? Đây là cách thiết lập biến $ PATH trong Linux.

Biến $PATH là một thành phần quan trọng trên Linux và các hệ điều hành giống Unix khác. Nó chỉ định một danh sách các thư mục chứa các tệp thực thi (executables) khác nhau trên hệ thống và cho shell biết nơi có thể tìm các tệp thực thi này.

Trên một bản cài đặt Linux mới, các thư mục có trong $PATH đảm bảo rằng hầu hết các chương trình bạn chạy đều hoạt động bình thường. Tuy nhiên, đôi khi bạn có thể muốn chạy nhanh các tập lệnh hoặc chương trình tùy chỉnh trên hệ thống của mình.

Trong những trường hợp như vậy, bạn cần đặt biến $PATH một cách thích hợp trước khi chạy các chương trình đó.

1. $PATH trong Linux là gì?

Như đã đề cập ở trên, $PATH là một biến môi trường trong Linux, bao gồm một danh sách các thư mục được phân tách bằng dấu hai chấm mà Linux shell dùng đến khi nó nhận một lệnh hoặc một lệnh gọi thực thi (exec call) từ một chương trình.

Thông thường, biến $PATH bao gồm /bin, /usr/bin và các thư mục /usr/local/bin, với superuser nhận thêm hai entry (mục nhập), đó là /sbin/usr/sbin. Tuy nhiên, bạn có thể thêm các entry mới vào biến $PATH của mình để khởi chạy các tập lệnh và chương trình từ terminal một cách thuận tiện bất kể thư mục đang làm việc hiện tại là gì.

2. Tại sao bạn muốn đặt $PATH?

Nhìn chung, hầu hết các chương trình bạn từng chạy trên hệ thống Linux của mình sẽ hoạt động hoàn hảo và shell của bạn sẽ không xuất hiện bất kỳ lỗi nào tại thời điểm thực thi chúng. Ví dụ: khi bạn chạy lệnh ls, shell chạy nó một cách suôn sẻ mà không yêu cầu bạn chỉ định đường dẫn đầy đủ của lệnh.

Tuy nhiên, khi bạn chạy một tập lệnh tùy chỉnh, bạn không thể làm như vậy. Thay vào đó, bạn cần điều hướng đến thư mục của tập lệnh (thông qua terminal) và chạy lệnh từ đó hoặc, nếu bạn muốn khả năng chạy lệnh từ bất kỳ đâu trên hệ thống, chỉ định đường dẫn tuyệt đối của tập lệnh trong lệnh để giúp shell xác định vị trí của nó.

Mặc dù cả hai phương pháp này đều hoạt động tốt nhưng chúng không hiệu quả lắm và có thể nhanh chóng khiến toàn bộ quy trình trở nên nhàm chán. Một giải pháp thay thế hiệu quả để chạy các chương trình từ các thư mục không chuẩn (non-standard) là thêm thư mục nguồn của chúng vào $PATH trong shell của bạn để nó biết nơi tìm tập lệnh và nhờ đó thực thi chúng một cách nhanh chóng. 

>>> Đọc ngay: Cách cài đặt Microsoft Office trên Linux

3. Cách đặt biến $PATH trong Linux

Tùy thuộc vào những gì bạn muốn đạt được — cho dù đó là thiết lập tạm thời để chạy một tập lệnh chỉ một lần hay bạn định sử dụng tập lệnh một cách thường xuyên — có nhiều cách khác nhau để thêm một thư mục vào $PATH của bạn.

3.1 Tạm thời đặt biến $PATH

Nếu bạn muốn chạy một tập lệnh hoặc một chương trình chỉ trong phiên (hoạt động) hiện tại của mình, bạn có thể chọn đặt một biến $PATH tạm thời. Khi làm như vậy, trong phiên hiện tại, bạn sẽ có thể thực thi chương trình đó bằng một lệnh từ bất kỳ đâu trên hệ thống mà không cần phải bao gồm đường dẫn đầy đủ của nó.

Để tạm thời đặt biến $PATH, hãy mở terminal và sử dụng cú pháp sau để thêm thư mục vào biến:

export PATH=$PATH:/path/to/directory

Ví dụ:

export PATH=$PATH:/home/smithy/scripts/

Lưu ý rằng với cấu hình này, bạn chỉ có thể chạy chương trình trong phiên hoạt động của mình. Hệ thống sẽ đặt lại biến này về cài đặt mặc định sau khi bạn khởi động lại máy tính của mình.

3.2 Đặt biến $PATH vĩnh viễn

Nếu có một chương trình trên hệ thống của bạn mà bạn có khả năng sử dụng thường xuyên, bạn phải đặt biến $PATH vĩnh viễn cho nó. Điều này sẽ đảm bảo rằng shell của bạn ghi nhớ thư mục của nó ngay cả sau khi khởi động lại.

Tuy nhiên, không giống như giải pháp tạm thời, việc đặt $PATH vĩnh viễn bao gồm một số bước bổ sung: xác định shell bạn đang sử dụng, chỉnh sửa tệp cấu hình tương ứng và đặt biến $PATH ở đó.

Để xác định shell trên hệ thống của bạn, hãy chạy lệnh sau trong terminal:

echo $0

Trong đầu ra, bạn sẽ thấy tên của shell đang hoạt động của bạn (active shell). Trong hầu hết các trường hợp, đây sẽ là shell Bash, trừ khi bạn đã thay đổi nó thành Zsh, Ksh hoặc một số shell Linux khác.

Bây giờ, dựa trên shell bạn đang sử dụng, bạn sẽ phải chỉnh sửa tệp cấu hình của nó. Đây là tệp bạn cần chỉnh sửa dựa trên shell:

Tên Shell Tập tin cấu hình
bấu víu ~ / .bashrc
ksh ~ / .kshrc
zsh ~ / .zshrc
csh ~ / .cshrc

Trong trường hợp của một số shell khác, hãy xem tài liệu của nó để tìm ra tên tệp cấu hình của nó.

Khi bạn đã xác định tệp bạn cần chỉnh sửa, hãy làm theo các bước bên dưới để đặt biến $PATH. Trong hướng dẫn này, chúng tôi sẽ trình bày cách thiết lập biến $PATH trong Bash shell.

  1. Mở terminal và nhập lệnh sau để mở tệp .bashrc. Bạn có thể sử dụng bất kỳ trình soạn thảo văn bản Linux nào.
    nano ~/.bashrc
  2. Sử dụng cú pháp sau để đặt biến $PATH.
    export PATH=$PATH:/path/to/directory/
  3. Lưu tệp và cập nhật môi trường shell hiện tại bằng cách sử dụng source.
    source ~/.bashrc
  4. Gõ lệnh sau để kiểm tra xem thư mục đã được thêm vào hay chưa.
    echo $PATH

Nếu bạn đã nhập đường dẫn thư mục chính xác, đường dẫn này sẽ phản ánh trong $PATH của hệ thống và bạn sẽ có thể chạy tất cả các tập lệnh bên trong thư mục từ bất kỳ thư mục nào trên hệ thống của mình.

Bên cạnh đó, Linux cũng cho phép bạn đặt biến $PATH vĩnh viễn trong cấu hình toàn hệ thống để mọi người dùng trên hệ thống của bạn có thể truy cập và thực thi các tập lệnh tùy chỉnh có trong thư mục được chỉ định.

Để đặt $PATH trên toàn cầu, bạn sẽ cần thêm thư mục bằng chính lệnh mà bạn đã sử dụng khi thêm thiết lập tạm thời và vĩnh viễn, nhưng trong tệp /etc/environment hoặc/etc/profile.  

Mở một trong hai tệp này và nối thêm đường dẫn của thư mục:

nano /etc/environment
nano /etc/profile

>>> Đọc ngay: Cách bắt đầu sử dụng Linux

4. Đặt thành công $ PATH trong Linux

Với các bước trên, bạn có thể đặt $ PATH của hệ thống để tìm kiếm các tập lệnh trong các thư mục, nếu không, không xác định.

Đối với hầu hết các trường hợp, chúng tôi khuyên bạn nên đặt vĩnh viễn biến $ PATH trên hệ thống của mình trong cấu hình cho mỗi người dùng vì đó là cách hiệu quả nhất trong số hai phương pháp.

Ngoài ra, hãy nhớ rằng trừ khi có một chương trình cụ thể trên hệ thống của bạn mà bạn muốn truy cập trên toàn cầu, bạn sẽ không cần đặt biến $ PATH trong cấu hình toàn hệ thống. Các lệnh định vị và tìm trong Linux là một cứu cánh nếu bạn đang gặp phải sự cố khi tìm thư mục nguồn để thêm vào biến $ PATH.

>>> Nếu bạn đang có nhu cầu tìm hiểu về khóa học lập trình đi làm ngay. Hãy liên hệ với FUNiX ngay tại đây:

>>> Xem thêm chuỗi bài viết liên quan:

Cách tạo ảnh Mosaic trên Linux với Polyfoto

Cách ghi chú trong Terminal Linux với ứng dụng ghi chú tnote

Cách sử dụng lệnh wc trong Linux

Hướng dẫn cách sử dụng lsof để theo dõi file đang mở trên Linux

 

Vân Nguyễn

Dịch từ: https://www.makeuseof.com/set-path-variable-in-linux/

ĐĂNG KÝ TƯ VẤN HỌC LẬP TRÌNH TẠI FUNiX

Bình luận (
0
)

Bài liên quan

  • Tầng 0, tòa nhà FPT, 17 Duy Tân, Q. Cầu Giấy, Hà Nội
  • info@funix.edu.vn
  • 0782313602 (Zalo, Viber)        
Chat Button
Chat với FUNiX GPT ×

yêu cầu gọi lại

error: Content is protected !!