Cách thêm thư mục vào biến PATH trong Linux
https://anonyviet.com/cach-them-thu-muc-vao-bien-path-trong-linux/
Last updated
https://anonyviet.com/cach-them-thu-muc-vao-bien-path-trong-linux/
Last updated
by Ellyx13 02/07/2021 in Linux Reading Time: 5 mins readA A 0
Biến PATH trong Linux lưu trữ đường dẫn đến các thư mục chứa file lệnh và được người dùng gọi trên terminal. Ví dụ: khi bạn gõ python trên terminal, terminal sẽ tìm các thư mục có chứa file tên python để thực thi. Thay vì bạn phải truy cập vào thư mục đó rồi mới gọi python, thì giờ đây, bạn có thể gọi python ở bất kỳ đường dẫn nào.
Để xem biến PATH hiện đang lưu những đường dẫn nào, các bạn gõ lệnh sau: echo $PATH
Kết quả: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
Như bạn có thể thấy, PATH bao gồm các thư mục (như /usr/local/sbin, /usr/bin và nhiều đường dẫn khác nữa) được phân tách với nhau bằng dấu hai chấm (:).
Nếu bạn muốn thực thi các file script từ bất kỳ đâu trong hệ thống, bạn nên thêm vị trí của chúng vào trong biến PATH.
Chuyện này rất phổ biến khi thiết lập một môi trường phát triển. Ví dụ, tưởng tượng bạn đã tải xuống và cài đặt Java và Maven. Để cho các chương trình của bạn hoạt động bình thường, bạn sẽ cần chỉ định vị trí của Maven và Java trong PATH.
Vậy nên, bài viết này sẽ hướng dẫn các bạn cách thiết lập PATH trong Linux. Ngoài ra, mình cũng sẽ đề cập đến những điều bạn nên cẩn thận khi xử lý PATH.
Quá trình thêm một thư mục mới vào biến PATH trong Linux về cơ bản là như sau:
export PATH=$PATH:your_directory
Trong đó your_directory là đường dẫn tuyệt đối đến thư mục bạn muốn.
Giả sử, bạn đã tải xuống và giải nén Maven vào thư mục chính. Sau đó bạn muốn thêm thư mục bin của Maven vào PATH. Giả sử đường dẫn tuyệt đối của thư mục bin này là /home/abhishek/maven/apache-maven-3.8.0/bin.
Đây là những gì bạn nên làm:
Giải thích:
Thêm $ trước tên biến có nghĩa là bạn đang tham chiếu đến giá trị của nó. PATH là tên biến, $PATH là giá trị của biến PATH
Bạn không nên sử dụng $ với PATH ở bên trái của dấu bằng “=”
Không được có bất kỳ khoảng trắng nào trước và sau dấu bằng “=”
Đừng quên thêm dấu “:” sau $PATH vì các thư mục trong PATH được phân tách bằng dấu hai chấm
Không được có khoảng trắng trước và sau dấu hai chấm (:)
Khi bạn đã thêm đường dẫn mới vào PATH, hãy kiểm tra lại PATH xem chính xác chưa.
abhishek@its-foss:~$ echo $PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/abhishek/maven/apache-maven-3.8.0/bin
Bạn có thể chạy file script mới thêm vào PATH. Điều này sẽ giúp bạn kiểm tra lại PATH có hoạt động được hay không.
Bạn đã thêm thư mục vào biến PATH nhưng đó chỉ là thay đổi tạm thời. Nếu bạn tắt terminal, hoặc đăng xuất khởi hệ thống, PATH sẽ trở lại như cũ và các thay đổi bạn đã thực hiện sẽ biến mất.
Nếu bạn muốn tự mình thực hiện các thay đổi vĩnh viễn đối với biến PATH, bạn có thể thêm các thay đổi này vào tệp .bashrc trong thư mục chính của mình, giả sử bạn đang sử dụng Bash shell.
Sử dụng các trình soạn thảo văn bản như Nano hoặc Vim cho việc này.
nano ~/.bashrc
Nếu bạn muốn biến PATH đã sửa đổi được áp dụng cho user trên hệ thống Linux, bạn có thể thêm các thay đổi này vào tệp /etc/profile. Điều này sẽ phù hợp khi bạn là một sysadmin và có một hệ thống được cấu hình với đường dẫn tùy chỉnh.
Có một số thư mục trong biến PATH. Khi bạn chạy một file thực thi, hệ thống của bạn sẽ dò tìm các thư mục theo thứ tự xuất hiện trong biến PATH.
Nếu /usr/local/sbin đứng trước /usr/bin, thì tệp thực thi sẽ được tìm kiếm đầu tiên trong /usr/local/sbin. Nếu tệp thực thi được tìm thấy, quá trình tìm kiếm kết thúc và tệp sẽ được thực thi.
Đây là lý do tại sao bạn sẽ nhìn thấy một số lệnh trong đó thư mục bổ sung được thêm vào trước mọi thứ trong biến PATH:
export PATH=your_directory:$PATH
Nếu bạn nghĩ rằng thư mục bổ sung của bạn nên được tìm kiếm trước các thư mục khác, bạn nên thêm nó vào trước $ PATH, nếu không hãy thêm nó vào sau $ PATH.
Vậy là xong rồi đó. Ngoài ra, nếu bạn quên mật khẩu Linux trên WSL thì có thể đọc bài viết này.