Cách làm cho script có thể thực thi ở mọi nơi trong Linux

Khi tạo Bash script và lưu nó vào một thư mục, bạn sẽ thấy rằng mình chỉ có thể thực thi script khi ở trong thư mục đó. Bạn đã bao giờ tự hỏi làm thế nào ls, imagemagick, apachesquid có thể được cài đặt trong các thư mục khác nhau nhưng vẫn có thể truy cập ở mọi nơi? Điều đó bởi vì các đường dẫn riêng của chúng đã được thêm vào biến “Path”. Bằng cách thêm nhiều đường dẫn đến nó, bạn cũng có thể làm cho script của mình có thể thực thi được ở mọi nơi.

Thêm đường dẫn đến Bash

Bạn có thể điều chỉnh Path theo 3 cấp độ khác nhau. Bash là cấp độ đầu tiên. Mọi thứ ta thấy ở đây sẽ ảnh hưởng đến Bash. Mọi thứ chạy trong đó, nhưng không có tác dụng gì bên ngoài Bash.

Giả sử bạn có một bộ sưu tập các script trong thư mục bạn muốn truy cập từ mọi nơi.

Bộ sưu tập script
Bộ sưu tập script

Để thực hiện điều này, bạn có thể thêm đường dẫn của chúng vào “~/.bashrc”. Bạn có thể mở file .bashrc (nó nằm trong thư mục Home, nhưng được ẩn theo mặc định) trong trình soạn thảo văn bản yêu thích của bạn, như gedit.

Đi đến cuối file và thêm:

PATH="/path_of/the_folder_we/want_to_add_to:$PATH"

Ví dụ, nếu bạn giữ các script thực thi của mình trong thư mục “/home/myname/scripts”, thì lệnh sẽ là:

export PATH="/home/myname/scripts:$PATH"
Thêm đường dẫn đến Path
Thêm đường dẫn đến Path

Để ghi lại thay đổi, hãy lưu file, thoát trình soạn thảo văn bản, sau đó nhập lệnh này vào terminal:

source ~/.bashrc
Lưu và thoát để áp dụng thay đổi
Lưu và thoát để áp dụng thay đổi

Sau đó, di chuyển đến nhiều thư mục khác nhau và cố gắng chạy các script từ đó.

Thêm đường dẫn vào Profile

Nếu bạn muốn nội dung của thư mục có thể truy cập từ bên ngoài các ràng buộc (constraint) của Bash, thay vào đó hãy thêm nó vào biến Profile.

Mở file .profile với trình soạn thảo văn bản yêu thích của bạn.

Ở phần cuối của file, nhập:

export PATH="$PATH:$HOME/scripts"

Bạn phải đăng xuất và đăng nhập lại để áp dụng thay đổi.

Bạn có thể chỉnh sửa file “.pam environment” thay vì “.profile”
Bạn có thể chỉnh sửa file “.pam environment” thay vì “.profile”

Trong Ubuntu và các dẫn xuất (derivative) của nó, bạn có thể chỉnh sửa file “.pam environment” thay vì “.profile”.

Mở file “.pam_environment” trong trình soạn thảo văn bản. Nếu file không tồn tại, hãy tạo nó.

Trong file, hãy nhập:

PATH DEFAULT=${PATH}:/home/@{PAM_USER}/scripts

Lưu ý rằng thay vì đường dẫn được hardcode hoàn toàn và không giống như trong file profile, ở đây ta sẽ sử dụng một biến. Bằng cách này, mỗi thư mục “/home/USER_NAME/scripts” của người dùng sẽ được thêm vào Path.

Như khi chỉnh sửa file .profile, bạn phải đăng xuất và đăng nhập lại để những thay đổi có hiệu lực.

Thêm đường dẫn đến môi trường (environment)

Cách thích hợp để có thể truy cập nội dung của một thư mục từ nhiều người dùng, chia sẻ cùng một máy tính là thêm nó vào biến môi trường (environment). Mở một terminal và nhập:

sudo nano /etc/environment

Biến Path ở đó chứa một loạt các thư mục trong dấu ngoặc kép, được phân tách bằng dấu hai chấm, tương tự như:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin"

Để bao gồm thư mục của riêng bạn trong danh sách đó, ngay sau đường dẫn cuối cùng, trước khi đóng ngoặc kép, hãy nhập dấu hai chấm và đường dẫn đến thư mục đó. Nếu thư mục của bạn là “/home/your_username/scripts”, thì nó sẽ giống như thế này:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/YOUR_USERNAME/scripts"

Hãy đăng xuất và đăng nhập lại để áp dụng các thay đổi.

Với các thủ thuật trên, bạn sẽ có thể chạy các script của mình từ bất kỳ đâu trong Linux.

Thứ Tư, 05/02/2020 09:31
52 👨 491
0 Bình luận
Sắp xếp theo