Quiero imprimir código en un archivo usando cat <<EOF >>
:
cat <<EOF >> brightup.sh
!/bin/bash
curr=`cat /sys/class/backlight/intel_backlight/actual_brightness`
if [ $curr -lt 4477 ]; then
curr=$((curr+406));
echo $curr > /sys/class/backlight/intel_backlight/brightness;
fi
EOF
pero cuando verifico la salida del archivo, obtengo esto:
!/bin/bash
curr=1634
if [ -lt 4477 ]; then
curr=406;
echo > /sys/class/backlight/intel_backlight/brightness;
fi
Intenté poner comillas simples, pero la salida también lleva las comillas simples. ¿Cómo puedo evitar este problema?
#!/bin/bash
y nada más:#!
es lo que la convierte en una línea de shebang válida, y lo que viene después es el camino hacia el intérprete.man bash
y buscarHere Documents
. Todos los detalles ahí.$(command)
lugar de`command`
. Para obtener el contenido de un archivo, Bash tiene$(<file)