I am ambitiously trying to translate a c++ code into bash for a myriad of reasons.This code reads and manipulates a file type specific to my sub-field that is written and structured completely in binary.  My first binary-related task is to copy the first 988 bytes of the header, exactly as-is, and put them into an output file that I can continue writing to as I generate the rest of the information.I am pretty sure that my current solution isn't working, and realistically I haven't figured out a good way to determine this.  So even if it is actually written correctly, I need to know how I would test this to be sure!This is what I'm doing right now:hdr_988=`head -c 988 ${inputFile}`echo -n ${hdr_988} > ${output_hdr}headInput=`head -c 988 ${inputTrack} | hexdump`headOutput=`head -c 988 ${output_hdr} | hexdump`if [ ${headInput} != ${headOutput} ]; then echo output header was not written properly.  exiting.  please troubleshoot.; exit 1; fiIf I use hexdump/xxd to check out this part of the file, although I can't exactly read most of it, something seems wrong.  And the code I have written in for comparison only tells me if two strings are identical, not if they are copied the way I want them to be.Is there a better way to do this in bash?  Can I simply copy/read binary bytes in native-binary, to copy to a file verbatim?  (and ideally to store as variables as well).
How can I work with binary in bash, to copy bytes verbatim without any conversion?
bash;binary;head