I'd like to write the following test in an installer script1:
if [ -n "`/etc/grub.d/30_os-prober`" ]; then install_dual_boot else install_linux_only fi
However, it's also possible that
30_os-prober produces no output because it somehow failed to complete. If
30_os-prober fails with a non-zero exit status, it would be safer to assume the a dual-boot situation.
How can I check that
30_os-prober produced no output successfully?
Basically, I would like to obtain an effect similar to…
if [ -n "`/etc/grub.d/30_os-prober`" ]; then # Do stuff for a dual-boot machine install_dual_boot elif ! /etc/grub.d/30_os-prober >/dev/null; then # OS probe failed; assume dual boot out of abundance of caution install_dual_boot else install_linux_only fi
… but without running the same command twice.