/ / Cách đọc và thực thi từ tệp bằng lệnh nguồn Linux

Cách đọc và thực thi từ tệp bằng lệnh nguồn Linux

source là một lệnh shell tích hợp sẵn tiện dụng chấp nhận các đối số, phân tích cú pháp lệnh trong script và thực thi chúng trong môi trường shell. Nội dung của tệp được đọc theo nguồn và sau đó được chuyển đến trình thông dịch Ngôn ngữ lệnh công cụ (TCL), trình thông dịch thực thi các lệnh.


Hãy cùng tìm hiểu cách sử dụng mã nguồn để thực thi các lệnh và làm việc với các môi trường shell trên Linux, cùng với giải thích ngắn gọn về sự khác biệt của nó với lệnh bash.


Sử dụng nguồn để thực thi lệnh trong tệp

Để sử dụng lệnh nguồn, trước tiên bạn sẽ cần tạo một tệp mẫu và điền nó bằng một số lệnh shell. Bắt đầu bằng cách tạo một tệp mới bằng lệnh cảm ứng. Mở tệp trong trình soạn thảo văn bản mà bạn chọn và viết một vài lệnh shell cơ bản.

touch test.txt
vi test.txt


echo "Hello!"
pwd
ls


. test.txt
source text.txt

Viết tệp văn bản ra và tiến hành chuyển nó làm đối số cho lệnh nguồn. Hệ thống sẽ thực hiện các lệnh trong tệp và sẽ trả về một kết quả đầu ra.

Bây giờ bạn đã biết những điều cơ bản về cách sử dụng mã nguồn, hãy thử thay đổi môi trường Bash shell. Tuy nhiên, trước khi tiếp tục, bạn phải có hiểu biết cơ bản về các biến môi trường trong Linux.

Sử dụng lệnh nguồn để cập nhật môi trường Bash Shell

Trên Linux, các biến môi trường được kế thừa nhưng bất biến. Nếu bạn thực thi một tập lệnh trình bao Bash sửa đổi một biến môi trường $ TEST, tập lệnh đó sẽ sinh ra một quy trình trình bao chia nhánh mới và việc sửa đổi $ TEST sẽ diễn ra bên trong nó thay vì môi trường Bash ban đầu.

Tiến trình con sẽ không thể sửa đổi môi trường của tiến trình mẹ. Nó chỉ có thể sửa đổi môi trường của chính nó. Hãy hiểu điều này bằng một ví dụ thực tế:

export TEST="deb"
vi example


export TEST="bed"
echo $TEST


chmod +x example
./example
echo $TEST

Đây là nơi phát huy tác dụng của lệnh nguồn. Với lệnh nguồn, bạn có thể thực thi một tập lệnh trong cùng một môi trường trình bao, nếu không thì sẽ được chia nhỏ. Vì vậy, nếu bạn nguồn một tập lệnh sửa đổi các biến môi trường, thì nó sẽ thực hiện các thay đổi cho môi trường trình bao Bash.

Để kiểm tra, hãy viết các lệnh trong hộp mã ở trên vào một tệp mới và sử dụng lệnh nguồn thay vì làm cho nó có thể thực thi được.


vi test file
. test_file
echo $TEST

Như bạn có thể thấy, bằng cách sử dụng lệnh nguồn, bạn có thể cập nhật các biến môi trường của quy trình mẹ. Đây là trường hợp sử dụng chính của lệnh nguồn, tức là, để sửa đổi môi trường mẹ.

Đó là tất cả các bước bạn cần để cập nhật môi trường Bash shell bằng lệnh nguồn.

Sự khác biệt giữa lệnh bash Linux và lệnh nguồn

Sự khác biệt giữa lệnh bash và lệnh nguồn của Linux là khi bạn thực thi một tập lệnh bằng lệnh bash, nó sẽ yêu cầu hạt nhân Linux tạo một quy trình Bash mới để đọc và thực thi tập lệnh, sao chép đầu ra vào quy trình trình bao ban đầu và hiển thị nó. .

Nhưng lệnh nguồn là một trình bao được tích hợp sẵn để đọc và đánh giá một tệp trong quy trình trình bao hiện tại. Vì vậy, tất cả các thay đổi được thực hiện bởi script sẽ được giữ lại trong Bash shell.

Khắc phục sự cố lỗi lệnh nguồn

Trong một số hệ thống Linux, bạn có thể gặp lỗi “không tìm thấy nguồn” khi cố gắng sử dụng lệnh nguồn. Bạn có thể sửa lỗi này theo hai cách:

1. Thay đổi vỏ

Một số shell không hỗ trợ lệnh nguồn. Trong trường hợp đó, bạn sẽ cần thay đổi môi trường shell của mình với chsh -s ($ mà shell_name) yêu cầu.

Kích hoạt một thiết bị đầu cuối mới sau khi thay đổi trình bao của bạn và thử sử dụng lệnh nguồn. Nếu shell mới hỗ trợ tìm nguồn cung cấp, thì nó sẽ hoạt động hoàn hảo.

2. Sử dụng Cú pháp Dấu chấm / Dấu chấm

Một số môi trường shell không hỗ trợ “nguồn“cú pháp nhưng thay thế”.“cú pháp. Cú pháp” nguồn “là từ đồng nghĩa với dấu chấm trong Bash. Nhưng điều này không hoạt động trong trình bao POSIX, vì vậy để tương thích tối đa, hãy sử dụng cú pháp dấu chấm.

Các lệnh Linux cơ bản bạn nên biết

Các lệnh shell của Linux là một cách tuyệt vời để tương tác với hệ thống bằng cách sử dụng thiết bị đầu cuối. Chúng là bản chất của việc sử dụng hệ thống * NIX.

Mặc dù bạn không cần phải biết tất cả các lệnh, nhưng việc quen thuộc với một vài lệnh hữu ích chắc chắn sẽ mang lại hiệu quả khi bạn dấn thân sâu vào thế giới Linux.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *