Thông tin liên hệ
- 036.686.3943
- admin@nguoicodonvn2008.info
Ở bài viết này, hãy cùng nhau học cách dùng crate dotenv và mô đun std::env để tương tác với các biến môi trường trong Rust, đồng thời, xử lý thông tin nhạy cảm.

Biến môi trường đóng vai trò quan trọng trong việc cấu hình và tùy biến hành vi của phần mềm hiện đại, cung cấp phương thức linh hoạt để truyền tải thông tin tới ứng dụng mà không cần tới các giá trị mã hóa cứng.
Biến môi trường là những cặp key-value năng động trong một môi trường của hệ điều hành hoặc một file biến môi trường để truy cập trong suốt runtime. Khác giá trị mã hóa cứng, biến môi trường cho độ linh hoạt và thích ứng tốt hơn vì bạn có thể dễ dàng chỉnh sửa chúng.
Hiện có nhiều gói và mô đun để tương tác với biến môi trường trong hệ sinh thái của Rust, bao gồm các crate bên thứ ba dotenv, envy và config và dùng mô đun có sẵn của Rust.
Crate dotenv là một công cụ đáng giá trong việc quản lý biến môi trường ở dự án Rust. Crate dotenv cung cấp tích hợp đơn giản và các chức năng dễ dùng. Chúng đơn giản hóa quá trình tải & truy cập biến môi trường từ file biến môi trường.
Các tính năng của dotenv crate bao gồm tải biến môi trường liền mạch, phương pháp xử lý lỗi cho các biến bị thiếu, tương tác với mô đun std::env…
Thêm crate dotenv vào các phần phụ thuộc của file Cargo để bắt đầu tương tác với biến môi trường bằng gói này.
[dependencies]
dotenv = "0.15.0"
Chạy lệnh này trong terminal của thư mục dự án để tạo file biến môi trường và chèn một cặp key-value.
echo DATABASE_URL=database.db > .env
Đây là cách bạn có thể tải file môi trường và truy xuất giá trị của một cặp từ file này.
use std::env;
use dotenv::dotenv;
fn main() {
dotenv().ok(); // Load the .env file
// Đọc giá trị từ file .env
let database_url = env::var("DATABASE_URL").expect("You've not set the DATABASE_URL");
// In giá trị này
println!("Database URL: {}", database_url);
}
Hàm main tải file .env với hàm ok, đọc giá trị từ file này với hàm evn::var và xử lý các lỗi có thể bằng hàm expect.

Thay vì dùng các gói bên thứ ba, bạn có thể sử dụng mô đun std::env để đọc biến môi trường từ máy.
Đầu tiên, bạn cần nhập mô đun env trong file Rust như sau:
use std::env;
Sau khi nhập mô đun std::env, bạn có thể đọc và viết biến môi trường.
Đây là cách bạn có thể đọc biến môi trường PWD (Present Working Directory) với mô đun std::env.
use std::env;
fn main() {
// Truy xuất giá trị của biến môi trường "PWD"
let variable = env::var("PWD").expect("Error: Working directory environment variable not found");
// In giá trị kết hợp với key "PWD"
println!("Value associated with the PWD key: {}", variable);
}
Hàm main in giá trị này cùng với key PWD sau khi biến này xuất giá trị bằng hàm env::var.
Ngoài ra, bạn có thể dùng std::env của hàm set_var để thiết lập biến môi trường.
use std::env;
fn main() -> Result<(), Box<dyn std::error::Error>> {
// Đặt biến môi trường "DATABASE_URL" sang "database.db"
env::set_var("DATABASE_URL", "database.db");
// Truy xuất giá trị của biến môi trường "DATABASE_URL"
let env_variable = env::var("DATABASE_URL");
// Kiểm tra xemtruy xuất giá trị của biến môi trường đã thành công hay chưa
if env_variable.is_err() {
// Nếu không tìm thấy biến môi trường, xuất thông báo lỗi
println!("Error: DATABASE_URL not found");
} else {
// Nếu tìm thấy biến môi trường, in giá trị của nó
println!("DATABASE_URL set to: {}", env_variable.unwrap());
}
Ok(())
}
Hàm main đặt biến môi trường với hàm set_var nhận cặp key-value. Sau khi thiết lập biến môi trường, hàm này in giá trị được liên kết với key.

Biến môi trường là công cụ hữu ích trong việc xử lý dữ liệu động. Hi vọng bài viết trên giúp bạn hiểu rõ hơn về biến môi trường trong Rust.
Nguồn tin: Quantrimang.com
Ý kiến bạn đọc
Những tin mới hơn
Những tin cũ hơn
Cách kết nối ChatGPT với Google Sheets
Sự khác biệt giữa tự động hóa và AI Agent
Prompt xây dựng bài giảng hoàn chỉnh theo GDPT 2018
Xây dựng agent trong Copilot Studio
Jasper vs Copy.ai: Công cụ AI nào tốt hơn?
5 công cụ AI trong Photoshop tuyệt vời cho người mới bắt đầu chỉnh sửa ảnh
Prompt tạo infographic khoa học về các loài động vật hoang dã
Tìm hiểu về Seedream 5.0 Pro: Mô hình xử lý hình ảnh AI của ByteDance với khả năng chỉnh sửa dựa trên layer
Prompt tạo ảnh chân dung phong cách bìa tạp chí nghệ thuật tối giản
ChatGPT, Claude hay Gemini làm tốt hơn khi trợ giúp build PC?
Hướng dẫn dịch nội dung trên Notion AI
15 prompt quản lý công việc bằng Notion AI
Các mô hình AI tốt nhất cho Agentic Workflow năm 2026
Power Automate vs UiPath: Nên chọn công cụ nào?
Tìm hiểu về Muse Spark 1.1: LLM cạnh tranh mới của Meta
Hướng dẫn lựa chọn và xây dựng đề tài SKKN
3 lỗi thường gặp khi sử dụng Claude Code Skills
Hướng dẫn xây dựng công tác chủ nhiệm đầu năm học từ A đến Z
Cấu hình chi tiết và hướng dẫn cho agent trong Copilot Studio
AgentsView là gì?