bash
não existe uma palavra-chave, é um comando que está sendo executado. Está sendo passado o argumento /dev/fd/10
. O shell executando o script (que pode ou não ser bash) está configurando um heredoc para ser lido a partir do descritor de arquivo 10.
Então, o bash está sendo chamado para executar o heredoc como um script de shell. É semelhante a se a linha ler bash /path/to/script.sh
- nesse caso, o script está vindo de um heredoc.
Por que alguém fez isso (ao invés de usar apenas ( commands )
é impossível responder sem o contexto (e possivelmente a história também). Um palpite (como DopeGhoti sugere) é que o roteiro pode ser executado sob um shell diferente, e esse bit requer bash. Outra possibilidade é que o autor do script simplesmente não conhece os métodos alternativos.
Por que o FD 10 é usado em vez de stdin, pode ser porque o bloco de script também precisa ler o stdin.