Hay veces que es útil generar un script que contenga datos embebidos, por ejemplo un archivo tar, para usar como instalador.
Para crear el script instalador se necesita:
- código del script que utiliza el payload (
script-HEADER
), - datos (
payload
)
La creación se realiza utilizando cat
:
$ cat script-HEADER payload > script
Para utilizar los datos (payload) en script-HEADER
se debe utilizar un código
similar al siguiente:
#!/bin/bash
...
# unpack payload
FILE=$(mktemp -u)
finish() {
rm -f $FILE
}
trap finish EXIT
ARCHIVE=$(awk '/^__ARCHIVE__/ { print NR + 1; exit 0; }' "${0}")
tail -n+${ARCHIVE} "${0}" > $FILE
...
exit 0
__ARCHIVE__
IMPORTANTE: Las lineas
exit 0
__ARCHIVE__
deben ser las últimas del script.