Tengo un pequeño rompecabezas aquí para los expertos en scripts bash ... Tengo un script bash que necesita crear un pequeño archivo binario (80 bytes) cuando se ejecuta. El contenido del archivo debe estar contenido dentro del mismo script (es decir, no quiero simplemente empacar el archivo junto con el script).¿Cómo puede un script bash escribir un archivo binario, sin usar uudecode?
Mi script actualmente lo hace así:
echo 'begin-base64 644 dummy.wav' > /tmp/dummy.uu
echo 'UklGRkgAAABXQVZFZm10IBAAAAADAAEAAHcBAADcBQAEACAAZmFjdAQAAAAAAAAAUEVBSxAAAAAB' >> /tmp/dummy.uu
echo 'AAAAQDYlTAAAAAAAAAAAZGF0YQAAAAA=' >> /tmp/dummy.uu
echo '====' >> /tmp/dummy.uu
uudecode -o /tmp/dummy.wav /tmp/dummy.uu
rm /tmp/dummy.uu
... después de las carreras anteriores, tengo mi archivo /tmp/dummy.wav. Pero descubrí que la computadora en la que se ejecuta esta secuencia de comandos no tiene uudecode instalado (y no tengo permiso para instalarlo), así que necesito encontrar otra forma de crear este archivo. ¿Algunas ideas?
Usted puede utilizar la misma función que aquí doc con la versión de Bash con los valores hexadecimales escapados y evitar todos esos ecos y '' >> Anexa –
Se agregó una versión con un here-doc y no '>>'. –