Ver "Tubo quebrado" nessa situação é raro, mas normal.
Quando você executa type rvm | head -1, o bash é executado type rvmem um processo, head -1em outro. 1 O stdout de typeestá conectado à extremidade "write" de um pipe , o stdout da extremidade head"read". Ambos os processos são executados ao mesmo tempo.
O head -1processo lê os dados do stdin (geralmente em pedaços de 8 kB), imprime uma única linha (de acordo com a -1opção) e sai, fazendo com que a extremidade "lida" do tubo seja fechada. Como a rvmfunção é bastante longa (cerca de 11 kB após ser analisada e reconstruída pelo bash), isso significa que headsai enquanto typeainda há alguns kB de dados para gravar.
Neste ponto, como typeestá tentando gravar em um pipe cuja outra extremidade foi fechada - um pipe quebrado - a função write () que ele chamou retornará um erro EPIPE, traduzido como "Pipe quebrado". Além desse erro, o kernel também envia o sinal SIGPIPE para type, que por padrão mata o processo imediatamente.
(O sinal é muito útil em shells interativos, pois a maioria dos usuários não deseja que o primeiro processo continue em execução e tente gravar em lugar nenhum. Enquanto isso, serviços não interativos ignoram o SIGPIPE - não seria bom para um daemon de longa execução morrem com um erro tão simples - para que eles achem o código de erro muito útil.)
No entanto, a entrega do sinal não é 100% imediata e pode haver casos em que write () retorne o EPIPE e o processo continue em execução por um curto período de tempo antes de receber o sinal. Nesse caso, typeobtém tempo suficiente para observar a falha na gravação, traduzir o código de erro e até imprimir uma mensagem de erro no stderr antes de ser morto pelo SIGPIPE. (A mensagem de erro diz "-bash: type:", pois typeé um comando interno do próprio bash.)
Isso parece ser mais comum em sistemas com várias CPUs, pois o typeprocesso e o código de entrega de sinal do kernel podem ser executados em núcleos diferentes, literalmente ao mesmo tempo.
Seria possível remover esta mensagem typecorrigindo o código interno (no código-fonte do bash) para sair imediatamente quando receber um EPIPE da função write ().
No entanto, não há com o que se preocupar e não está relacionado à sua rvminstalação de forma alguma.