curl
está baixando um script básico e canalizando seu conteúdo para um novo shell bash executado como root com as variáveis de ambiente da sua conta atual.
-
está dizendo bash para ler a partir de stdin, que neste caso é a saída de curl - o conteúdo do script bash.
O script está realmente adicionando seus próprios repositórios para nodejs
ao seu gerenciador de pacotes, e é por isso que você o instala depois de executar o script. Usar os repositórios oficiais do Node garante que você instale a versão mais recente.
Você pode dar uma olhada no script bash.
O "one liner" que você tem é uma alternativa para baixar primeiro o script para o arquivo e, em seguida, executá-lo com sudo
:
wget https://deb.nodesource.com/setup_4.x
sudo -E bash ./setup_4.x