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?
cat
và echo
tấ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.png
hoặc tốt hơn , cp example.png tmp.png
?
cat
khô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à echo
lệ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.