Grub yapılandırma dosyalarını anlamaya çalışıyorum. Bu işlem sırasında /etc/grub.d/40_custom dosyasıyla karşılaştım . Dosyam aşağıdaki satırları içeriyor:
#!/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
}
benim sistem çift önyükleme olduğu ve görünüşe göre bu windows 10 için önyükleme yükleyici.
Benim sorum bu kısım exec tail -n +3 $0
.
Doğru bir şekilde deşifre edersem, bu sadece +3
dosyanın 3. satırından ( ) başlayarak son satırları yazdırmak anlamına gelir $0
. $0
tabii ki bu durumda asıl dosya /etc/grub.d/40_custom .
Peki, bu komutu neden 40_custom dosyasında kullanıyoruz? Aldığım zaman çıktı tamamen çıkarılsaydı aynı olurdu. Düşünebileceğim tek farklı yorumlayıcıyı tanımlayan 1. satırdır:
#!/bin/sh
Ama sonra tekrardan beri yürütülür exec tail -n +3 $0
. Peki, bu sadece (işe yaramaz) bir toplantı mı?
#!/bin/tail -n +2
bir mermi olarak yazacaksak? Dosyanın geri kalanını yazdıracak mı?