Xuất biến
Thuộc phần Kiến thức cơ bản trong hành trình Terminal của Coddy. Bài học 63 trên 82.
Khi bạn đặt một biến như MY_NAME="Alice", biến đó chỉ tồn tại trong shell hiện tại. Nếu bạn chạy một tập lệnh hoặc khởi động chương trình khác, chương trình đó sẽ không thể dùng biến này. Đây là lúc export phát huy tác dụng.
Lệnh export giúp mọi tiến trình con truy cập một biến, nghĩa là các chương trình hoặc tập lệnh được khởi chạy từ shell hiện tại của bạn có thể truy cập biến đó:
export MY_NAME="Alice"Bạn cũng có thể xuất một biến hiện có:
MY_NAME="Alice"
export MY_NAMECả hai cách đều cho kết quả như nhau. Biến trở thành một phần của môi trường được truyền vào mọi lệnh bạn chạy sau đó.
Để thấy sự khác biệt, hãy thử chạy một tập lệnh cố dùng $MY_NAME.
Nếu không có export, script sẽ không thấy gì. Khi có export, script có thể truy cập giá trị.
Đây là lý do các biến hệ thống như PATH và HOME được xuất theo mặc định. Chúng cần có sẵn cho mọi chương trình bạn chạy.
Bạn có thể xác minh một biến đã được xuất bằng cách kiểm tra xem biến đó có xuất hiện trong kết quả của env hay không:
env | grep MY_NAMECác biến đã xuất vẫn biến mất khi bạn đóng terminal. Bài học tiếp theo sẽ hướng dẫn cách giữ cho biến tồn tại qua nhiều phiên làm việc.
Thử thách
DễXuất một biến có tên PROJECT với giá trị terminal-course, sau đó xác minh biến đã được xuất bằng cách lọc đầu ra của env để chỉ hiển thị biến mới của bạn.
Bạn có thể làm việc này trên một dòng bằng cách dùng export để đặt và xuất biến cùng lúc, sau đó chuyển đầu ra của env qua grep để tìm biến đó.
Đầu ra của bạn sẽ là:
PROJECT=terminal-courseGợi ý: Trước tiên, hãy chạy
export PROJECT="terminal-course", sau đó dùngenv | grep PROJECTđể xác minh biến xuất hiện trong môi trường.
Tự làm thử
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Kiến thức cơ bản
4Thư mục
Tạo thư mụcSao chép thư mụcDi chuyển và đổi tên thư mụcXóa thư mụcÔn tập: thao tác với thư mục2Điều hướng
In đường dẫn thư mục hiện tạiLiệt kê tệpChuyển thư mụcĐường dẫn tuyệt đối và tương đốiThư mục chính và thư mục gốcÔn tập: tìm đường8Chuyển hướng
Đầu ra chuẩnGhi đè vào tệpGhi thêm vào tệpĐầu vào chuẩnLỗi chuẩnÔn tập: Công cụ tạo nhật ký6Ký tự đại diện và mẫu
Ký tự đại diện dấu saoKý tự đại diện dấu hỏiKý tự đại diện trong ngoặc vuôngKết hợp ký tự đại diệnÔn tập: thao tác có chọn lọc9Đường ống
Đường ống là gìNối hai lệnh bằng đường ốngNối nhiều lệnh bằng đường ốngDùng đường ống với grepÔn tập: luồng xử lý dữ liệuTự luyện tập: Playground Terminal