Dopo aver usato il seguente comando,
pngString="$(cat example.png)"
echo -n "$pngString" > tmp.png
Non riesco ad aprire tmp.png come file PNG. Forse alcune informazioni vanno perse quando uso $pngStringper archiviare il file di immagine.
Quindi la domanda è: come posso memorizzare le informazioni complete sull'immagine usando una variabile nello script bash?
cate echotutti i suoi simili sono alla base delle utilità di testo . Lasciarli perdere inconsapevolmente su file binari avrà risultati imprevedibili. Ecco perché sono base64state inventate cose del genere .
cat example.png > tmp.pngo meglio ancora cp example.png tmp.png?
catrealtà non è un'utilità di testo. È la sostituzione dei comandi (che rimuove le righe successive), l'assegnazione delle variabili (che non può contenere byte nulli) e il echocomando (che può interpretare le sequenze di barre rovesciate) che manterranno il binario, no cat. Ma sono d'accordo con il tuo punto complessivo.