Chúng tôi đang gặp rất nhiều rắc rối khi diễn giải giáo viên của chúng tôi. Chúng tôi đề nghị làm rõ và nhận được những điều sau lại từ anh ấycác yêu cầu hiểu biết để thực hiện và thiết lập các vars môi trường
Đối với execve, gửi cho nó một môi trường bạn thiết lập với các biến xuất khẩu của bạn và tạo ra một lệnh dựng sẵn để đẻ trứng một subshell của/bin/bash, như vậy bạn có thể xem các biến đã xuất của bạn bằng env.
(Anh ấy đang nói về việc tạo ra các lọ môi trường riêng của chúng tôi tại đây.)
- Có tạo của riêng bạn. Bạn có thể bắt đầu bằng cách sao chép môi trường khi trình bao bắt đầu và chỉ thêm các biến đã xuất
Điều này liên quan đến bài đăng sau đây trên Stack Overflow by me (đọc bài đăng khác này sẽ giúp bạn hiểu những gì tôi đang cố gắng làm):
using a new path with execve to run ls command
Chúng tôi rất bối rối về điều này. Một lần nữa tôi sẽ giải thích những gì chúng tôi đang cố gắng làm bây giờ. Tương tự như cách trình bao Linux của bạn thực hiện điều này, chúng ta cần phải viết chương trình riêng của chúng ta có thể thiết lập các biến môi trường như PATH và USER và bất kỳ biến nào khác mà người dùng muốn xác định.
Một ví dụ về cách bạn sẽ gọi đây sẽ là (bên trong chương trình của bạn tại dấu nhắc của nó):
mysetenv dog spike
mà sẽ tạo ra một biến môi trường trông như "con chó = cành"
Quan trọng hơn, chúng ta cần có khả năng thiết lập biến PATH của riêng mình và gửi nó đến một lệnh exec
. Đây là phần khó hiểu bởi vì, dựa trên tất cả các câu hỏi của chúng tôi, chúng tôi không hiểu chúng tôi phải làm gì.
Bạn thực sự đã xóa tất cả cho tôi. Tôi đã biến mọi thứ, nhưng cảm ơn! bây giờ tôi hiểu rồi. – james