J'essaie de comprendre les fichiers de configuration grub. Ainsi, pendant ce processus, je suis tombé sur le fichier /etc/grub.d/40_custom . Mon fichier contient les lignes suivantes:
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
menuentry "Windows 10" --class windows --class os {
insmod part_msdos
savedefault
insmod ntfs
insmod ntldr
set root='(hd0,msdos1)'
ntldr ($root)/bootmgr
}
car mon système est à double démarrage et, apparemment, c'est le chargeur de démarrage pour Windows 10.
Ma question est cependant cette partie exec tail -n +3 $0
.
Si je le déchiffre correctement, cela signifie simplement imprimer les dernières lignes à partir de la 3ème ligne ( +3
) du fichier $0
. $0
bien sûr, dans ce cas, c'est le fichier réel /etc/grub.d/40_custom .
Alors, pourquoi utilisons-nous cette commande dans le fichier 40_custom ? Comme je l'obtiens, la sortie serait la même si ιt était complètement omis. La seule différence à laquelle je pourrais penser est la 1ère ligne qui identifie l'interprète:
#!/bin/sh
Mais là encore, il est exécuté depuis le exec tail -n +3 $0
suit. Alors, est-ce juste une convention (inutile)?
#!/bin/tail -n +2
comme un shellbang? Imprime-t-il le reste du fichier?