desgranando el "script"
1. sudo locate -u genera una base de datos para locate empezando por / , una vez generada puedes usar locate cadena para encontrar cualquier archivo cuyo nombre contenga cadena. Usa sudo para poder acceder a todos los directorios gracias a los permisos de root.
2. luego se ejecuta locate lcd-???-brightness para encontrar archivos cuyos nombre contengan "lcd-", tres carácteres y "-brightness". En mi ordenador el resultado son los siguientes 4 archivos, pero en tu caso podrían ser distintos:
/usr/lib/hal/scripts/linux/hal-system-lcd-get-brightness-linux
/usr/lib/hal/scripts/linux/hal-system-lcd-set-brightness-linux
/usr/lib/hal/scripts/hal-system-lcd-get-brightness
/usr/lib/hal/scripts/hal-system-lcd-set-brightness
Estos 4 archivos en mi ordenador son script shell con el shebang #!/bin/sh
3. sudo cp $i $i.bak significa que se hace una copia de estos archivos añadiendo la extensión bak. Es una copia de seguridad antes de modificarlos
4. sudo sed -i '1 s|#!/bin/sh|#!/bin/bash|g' $ies un mini-script sed que cambia el shebang desde sh a bash, esto es, que la primera línea del archivo, que dijimos que era #!/bin/sh se cambia y ahora es #!/bin/bash
5. La costrucción for variable in expresión ; do comando1 ; comando2; comandoN; done Hace que el bloque de comandos se ejecute repetidamente, cambiando $variable por todos los valores que toma expresión. S(comando) es una estructura shell para pasar la salida de un comando a otro y se usa para hacer que la expresión para el bucle for dependa de la salida del comando.
Ahora lo bueno... bash es compatible con sh, no tiene sentido que un script shell se estropee por cambiar sh por bash. El error tiene que estar en otro sitio.
En cualquier caso, para revertir el script, escribe en la consola locate lcd-???-brightness lo que devolverá los archivos con y sin extensión bkp. Copia los archivos con la extensión bkp sobre los que no la llevan y después borra los archivos de backup. Necesitarás permisos de administrador (usar sudo)