OnWorks Linux và Windows Online WorkStations

Logo

Lưu trữ trực tuyến miễn phí cho máy trạm

<Trước | Nội dung | Tiếp theo>

Vị trí tệp tập lệnh

Với các quyền được đặt, bây giờ chúng ta có thể thực thi tập lệnh của mình:



[tôi @ linuxbox ~] $ ./Chào thế giới

Chào thế giới!

[tôi @ linuxbox ~] $ ./Chào thế giới

Chào thế giới!


Để tập lệnh chạy, chúng ta phải đặt trước tên tập lệnh bằng một đường dẫn rõ ràng. Nếu không, chúng tôi nhận được điều này:



[tôi @ linuxbox ~] $ Chào thế giới

bash: hello_world: không tìm thấy lệnh

[tôi @ linuxbox ~] $ Chào thế giới

bash: hello_world: không tìm thấy lệnh


Tại sao thế này? Điều gì làm cho kịch bản của chúng tôi khác với các chương trình khác? Hóa ra, không. Kịch bản của chúng tôi là tốt. Vị trí của nó là vấn đề. Trở lại Chương 11, chúng ta đã thảo luận về PATH biến môi trường và ảnh hưởng của nó đến cách hệ thống tìm kiếm các chương trình thực thi. Tóm lại, hệ thống tìm kiếm danh sách các thư mục mỗi khi nó cần tìm một chương trình có thể giải thích được, nếu không có đường dẫn rõ ràng nào được chỉ định. Đây là cách hệ thống biết để thực thi

/ bin / ls khi chúng ta gõ ls tại dòng lệnh. Thư mục / bin là một trong những thư mục mà hệ thống tự động tìm kiếm. Danh sách các thư mục được giữ trong một biến môi trường có tên là PATH. Biến PATH chứa danh sách các thư mục được phân tách bằng dấu hai chấm sẽ được tìm kiếm. Chúng ta có thể xem nội dung của PATH:

Vị trí tệp tập lệnh


[tôi @ linuxbox ~] $ echo $ PATH

/ home / me / bin: / usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin:

/ bin: / usr / games

[tôi @ linuxbox ~] $ echo $ PATH

/ home / me / bin: / usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin:

/ bin: / usr / games


Ở đây chúng tôi thấy danh sách các thư mục của chúng tôi. Nếu tập lệnh của chúng tôi nằm trong bất kỳ thư mục nào trong danh sách, vấn đề của chúng tôi sẽ được giải quyết. Lưu ý thư mục đầu tiên trong danh sách,

/ home / me / bin. Hầu hết các bản phân phối Linux đều cấu hình biến PATH để chứa thư mục bin trong thư mục chính của người dùng, để cho phép người dùng thực thi các chương trình của riêng họ. Vì vậy, nếu chúng ta tạo thư mục bin và đặt tập lệnh của mình trong đó, nó sẽ bắt đầu hoạt động giống như các chương trình khác:



[tôi @ linuxbox ~] $ thùng mkdir [tôi @ linuxbox ~] $ mv hello_world bin [tôi @ linuxbox ~] $ Chào thế giới

Chào thế giới!

[tôi @ linuxbox ~] $ thùng mkdir [tôi @ linuxbox ~] $ mv hello_world bin [tôi @ linuxbox ~] $ Chào thế giới

Chào thế giới!


Và vì vậy nó làm.

Nếu PATH biến không chứa thư mục, chúng ta có thể dễ dàng thêm nó bằng cách thêm dòng này vào .bashrc tập tin:


xuất PATH = ~ / bin: "$ PATH"

xuất PATH = ~ / bin: "$ PATH"


Sau khi thay đổi này được thực hiện, nó sẽ có hiệu lực trong mỗi phiên đầu cuối mới. Để áp dụng thay đổi cho phiên đầu cuối hiện tại, chúng ta phải có trình bao đọc lại .bashrc tập tin. Điều này có thể được thực hiện bằng cách "tìm nguồn cung ứng":



[tôi @ linuxbox ~] $ . .bashrc

[tôi @ linuxbox ~] $ . .bashrc


Dấu chấm (.) lệnh là một từ đồng nghĩa với nguồn lệnh, một nội trang trình bao đọc một tệp cụ thể của các lệnh trình bao và xử lý nó giống như đầu vào từ bàn phím.


hình ảnh

Lưu ý: Ubuntu (và hầu hết các bản phân phối dựa trên Debian khác) tự động thêm

thư mục ~ / bin vào biến PATH nếu thư mục ~ / bin tồn tại khi tệp .bashrc của người dùng được thực thi. Vì vậy, trên hệ thống Ubuntu, nếu chúng ta tạo thư mục ~ / bin, sau đó đăng xuất và đăng nhập lại, mọi thứ đều hoạt động.


hình ảnh


 

Điện toán đám mây hệ điều hành hàng đầu tại OnWorks: