Các lý do cho mỗi dòng trong Makefile được thực thi trong một shell riêng là gì?


Câu trả lời:


3

Tôi không thể nói cho bạn biết lý do của các nhà sản xuất, nhưng một vỏ cho mỗi dòng công thức có ý nghĩa với tôi rằng chỉ có một trạng thái được giữ và sửa đổi và đó là trạng thái trong quá trình sản xuất. Ngoài ra, một vỏ mới trên mỗi dòng đảm bảo rằng mỗi dòng thực hiện cùng một điều mỗi khi nó được thực thi. Nếu nó luôn luôn là cùng một dòng công thức vỏ và thậm chí toàn bộ người nhận có thể có tác dụng phụ với nhau và quá trình tạo ra hầu như không có phương pháp phát hiện điều gì là mong muốn và điều gì không ... hãy để một mình kiểm soát hành vi đó. Một lớp vỏ trên mỗi dòng làm cho mọi dòng nguyên tử và chương trình được trả về để thực hiện, điều này mang lại nhiều sức mạnh hơn để thực hiện.


2

Tôi nghi ngờ lý do là "làm" thường dừng lại nếu có kết quả lỗi. Vì vậy, nếu bạn có 3 lệnh riêng biệt, có thể nên dừng ngay lập tức nếu lệnh # 1 thất bại.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.