retitle 381737 update-grub: incorrect regex discards some kernels thanks > for kern in $(/bin/ls -1vr /boot | grep -v "dpkg-*" | grep -v "xen" | grep > "^vmlinuz-") ; do
The quoted shell script snippet is actually incorrect for the dpkg- case, too. I assume what is meant is simply "dpkg-" but the asterisk will discard any line containing "dpkg", without the dash too (in regular expression syntax, the asterisk means "zero or more occurrences of the previous regular expression"). As a matter of fact, I would suggest to refactor the code into for kern in $(/bin/ls -1vr /boot); do case $kern in *.dpkg-*|*-xen-*) continue;; vmlinuz-*) ;; *) continue ;; esac The *-xen-* wildcard seems to match the file names given to Xen kernels, although I could be mistaken on that. (Unlike grep, the case statement uses shell wildcards, not true regular expressions. The continue statement causes the loop to skip to the next iteration.) /* era */ -- If this were a real .signature, it would suck less. Well, maybe not. -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org