Sau khi tôi sử dụng lệnh sau,
pngString="$(cat example.png)"
echo -n "$pngString" > tmp.png
Tôi không thể mở tmp.png dưới dạng tệp PNG. Có thể một số thông tin bị mất khi tôi sử dụng $pngStringđể lưu trữ tệp hình ảnh.
Vì vậy, câu hỏi là: Làm thế nào tôi có thể lưu trữ thông tin hình ảnh hoàn chỉnh bằng cách sử dụng một biến trong tập lệnh bash?
catvà echotất cả ilk của nó là tại các tiện ích văn bản trái tim . Để chúng lỏng lẻo không nghi ngờ trên các tệp nhị phân sẽ có kết quả không thể đoán trước. Đó là lý do tại sao những thứ như base64được phát minh.
cat example.png > tmp.pnghoặc tốt hơn , cp example.png tmp.png?
catkhông thực sự là một tiện ích văn bản. Đó là sự thay thế lệnh (loại bỏ các dòng mới), phép gán biến (không thể chứa byte rỗng) và echolệnh (có thể diễn giải các chuỗi dấu gạch chéo ngược) sẽ xáo trộn nhị phân, không cat. Nhưng tôi đồng ý với quan điểm chung của bạn.