Please do not use backtick characters (decimal 96, octal 0140, hex 0x60)
in shell scripts. They do not nest, they are hard to read. The default shell
/bin/bash offers replacements $( ... ) and $(< filename) which are better.
> -F "machine_id="`cat /etc/machine-id` \
Replace with
-F "machine_id="$(< /etc/machine-id) \
id="$(c=`(cat /etc/machine-id|echo nvme)|sha256sum`; echo
${c:0:32})"
That's a real bug. 'echo' fails as a pipeline.
id="$(c=$(echo $(< /etc/machine-id)nvme | sha256sum); echo ${c:0:32})"