tail -n +3
imprime sua entrada, começando na linha 3 ( página do manual ) . $0
é o nome do script em um script de shell ( Bash parâmetros especiais ) e exec
( Bash construído ) substitui o script pelo comando. Você provavelmente tem algo assim (como em /etc/grub.d/40_custom
no meu sistema):
#!/bin/sh
exec tail -n +3 $0
foo
bar
Quando você executa o script, ele se substitui por tail
lendo o próprio script, então o restante do script é copiado para sua saída.
Eu acho que o grub tem um monte de scripts para criar sua configuração, eles executaram algo como grubscript.sh > grub-config-file
. Os scripts podem usar qualquer lógica necessária para produzir a saída, mas o truque exec tail
permite despejar algumas linhas fixas na saída sem alterar a lógica com a qual o script foi iniciado.
Além desse encantamento mágico, o /etc/grub.d/40_custom
do Debian também inclui um comentário dizendo ao usuário para
Simply type the menu entries you want to add after this comment.