Điểm:0

Có thể sử dụng envsubst để thay thế các biến môi trường trong một biến đã cho, không phải tệp không?

lá cờ cn

Tôi biết rằng tôi có thể sử dụng envsubst lệnh để thay thế các biến môi trường bên trong một tệp và ghi nó vào tệp đầu ra:

envsubst < input.txt > output.txt

Tuy nhiên, bây giờ tôi chỉ có một biến chứ không phải tệp. Nhưng tôi vẫn cần thay thế bất kỳ biến môi trường nào bên trong nó.

export original_text="Xin chào $name, mời đến đây $date"
# Tôi muốn có thể thay thế $name và $date, trong RAM chứ không phải trên đĩa và tệp
xuất $name="John"
xuất $date="ngày mai"
output=$(envsubst < $ original_text) # đây là lệnh giả
tiếng vang $ đầu ra
# bản in => Xin chào John, hãy đến đây vào ngày mai

Có thể không? Làm thế nào có thể làm điều này?

Điểm:2
lá cờ in

Có, bạn có thể sử dụng chuỗi ở đây: <<< "$biến"

original_text của bạn phải được trích dẫn một lần, nếu không các biến sẽ được thay thế khi tạo original_text.

$ original_text='Xin chào $name, vui lòng đến đây $date'
$ export name="John"
$ xuất ngày = "ngày mai"
$ envsubst <<< "$ original_text"
Xin chào John, hãy đến đây vào ngày mai

Tất nhiên, bạn có thể lưu nó vào một biến như bạn vẫn thường làm:

đầu ra=$(envsubst <<< "$ original_text")

Bạn cũng có thể dẫn đến envsubst, ví dụ.:

$ printf '%s\n' "$var" | envsubst
Xin chào John, hãy đến đây vào ngày mai
Saeed Neamati avatar
lá cờ cn
Tuyệt vời, làm cách nào tôi có thể nhận được kết quả trong một biến thay vì dòng lệnh?

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.