Вам нужно различать, когда строка является заголовком, например. путем «чтения» 3 переменных в каждой строке:
while IFS=": " read -r a b c
do
if [[ "$a" == "-" ]]; then
t=$b
else
cat << EOF
<tr>
<td>$t</td>
<td>$a</td>
<td><a href="$b:$c">download</a></td>
</tr>
EOF
fi
done
Решено это (Debian 10 );
Дополнительно; вам может понадобиться «zfs set overlay=on». Мне не нужно было делать это на тестовой виртуальной машине с zfs на одном диске, но я сделал это на дрянном старом сервере. Это связано с тем, что ядро начало заполнять /var до монтирования ZFS. Глядя на журнал systemd, это было примерно в тот же момент загрузки, когда мой старый раздел ext4 был смонтирован поверх / var, и система работает, но ymmv.
Обоснование; Я хотел больше места для своих контейнеров докеров и виртуальных машин, чтобы они находились в стандартном месте в файловой системе, и я хотел попробовать ZFS для моментальных снимков, сжатия и стабильности. Я обновлю это, если что-то пойдет не так.