Theo ví dụ sau đây, và như trong câu hỏi gần đây của tôi Trong bash, dòng chữ char mới đã đi đâu? , Tôi muốn biết "tại sao" nó xảy ra
x="$(echo -ne "a\nb\n")" ; echo -n "$x" | xxd -p
# Output is: 610a62
# The trailing newline from the 'echo' command
# has been "deleted" by Command Substitution
Tôi cho rằng phải có một số lý do rất quan trọng cho một hành động vỏ, cụ thể là Thay thế lệnh, để thực sự xóa một số dữ liệu khỏi đầu ra lệnh mà nó đang thay thế ...
nhưng tôi không thể hiểu được điều này, vì dường như nó là các phản đề của những gì nó được cho là phải làm .. tức là. để chuyển đầu ra của lệnh trở lại quy trình viết kịch bản ... Giữ lại một ký tự có vẻ kỳ lạ đối với tôi, nhưng tôi cho rằng có một lý do hợp lý cho nó ... Tôi rất muốn tìm hiểu lý do đó là gì .. .