Los simbolos >> y << son llamados output redirection operators y sirven - como el nombre lo indica - para redireccionar resultados. El comando cat ademas de leer - mejor dicho mostrar datos en el estandard output - puede agregar (>>) o sobreescribir/crear (>) datos.
Las primeras 3 lineas son un Here document. Es este caso es un bloque encerrado entre las palabras END (limitString) esta formado solamente por una linea (imho
echo "blah" | sudo -tee -a bar.list hubiese sido suficiente), Esta linea es agregada al archivo /etc/apt/sources.list
El siguiente screenshot es un ejemplo, podes probarlo en tu terminal
Las siguientes dos lineas ya las explicaron, solo agrego que en
apt-get -t, la
-t es una opcion que sirve para especificar el target release del paquete a instalar.
La ultima linea utiliza el programa/utilidad sed que sirve para transformar y editar texto. La opcion
-i significa
--in-place. Aqui
sed -i '$d' lo que hace es borrar la ultima linea del archivo /etc/apt/sources.list
Si te fijaste en el screenshot anterior cometi un error y escribi "esto texto", si quiero arreglar el error puedo simplemente usar sed de la siguente manera
El resultado es escrito en la standard output, pero pude haber guardado los cambios en el mismo archivo usando la opcion
-i. Volviendo a la ultima linea del script el simbolo de dollar en
$d se puede leer como "last line delete". Si en cambio quiero borrar la linea 3, simplemente uso
3d ("line 3 delete")
En fin, para realmente aprender lo que tenes que hacer es abrir una terminal y empezar a experimentar.
Nota: es posible que '$d' en la ultima linea haga referencia a una variable
d cuyo contenido sea una expresion a ser evaluada utilizando sed. Por que la unica razon para borrar la ultima linea de un archivo es si esta esta en blanco y causara errores con algun parser. Tendria que ver el script completo.